דלג לתוכן הראשי

מעקב ואנליטיקה ל-WhatsApp

Joryio מספקת מעקב מקיף להודעות WhatsApp, כולל סטטוסי מסירה, פתיחות, לחיצות על קישורים ופעולות בכפתורים. הנתונים מזינים אנליטיקה בזמן אמת.

סקירה כללית

המעקב ב־WhatsApp מאפשר לכם:

  • לעקוב אחר מסירת הודעות - סטטוסים של נשלח, נמסר ונקרא
  • לנטר מעורבות - לחיצות על כפתורים ועל קישורים
  • לנתח קמפיינים - לייחס המרות לקמפיינים מסוימים
  • להפעיל תהליכים - להשתמש בהודעות WhatsApp נכנסות כטריגר למסעות

אירועים במעקב

אירועי הודעות יוצאות

כאשר שולחים הודעות WhatsApp דרך קמפיינים או מסעות, האירועים הבאים נרשמים:

שם האירועתיאורמאפיינים
whatsapp.message.sentההודעה נשלחה ל-WhatsApp APImessageId, templateName, recipientPhone
whatsapp.message.deliveredההודעה נמסרה לנמעןmessageId, campaignId, variantId
whatsapp.message.readהנמען קרא את ההודעהmessageId, campaignId, variantId
whatsapp.message.failedשליחת ההודעה נכשלהmessageId, errorCode, errorMessage
message.clickedהמשתמש לחץ על כפתור בהודעהcampaignId, buttonId, buttonTitle

אירועי הודעות נכנסות

כאשר משתמשים שולחים הודעות לחשבון WhatsApp Business שלכם:

שם האירועתיאורמאפיינים
whatsapp.message.receivedהתקבלה הודעה נכנסתmessageType, content, phoneNumber, wabaId

מעקב אחר לחיצות על כפתורים

כאשר משתמשים לוחצים על כפתורים בהודעות תבנית WhatsApp, Joryio מבצעת אוטומטית:

  1. שיוך לחיצות לקמפיינים - שיוך הלחיצה על הכפתור להודעה היוצאת המקורית
  2. רישום האירוע - רישום אירוע message.clicked עם ההקשר המלא
  3. עדכון אנליטיקת קמפיינים - הגדלת מספר הלחיצות בדוחות הקמפיין

איך זה עובד

1. You send a WhatsApp template with buttons
2. We store the message with campaign attribution (whatsapp_messages table)
3. User clicks a button → WhatsApp sends webhook
4. We look up the original message to get campaign context
5. We track message.clicked event with campaignId, variantId, buttonId

נתוני כפתור במעקב

  • buttonId - המזהה או הערך של הכפתור
  • buttonTitle - טקסט הכפתור
  • campaignId - קמפיין משויך
  • variantId - וריאנט A/B (אם רלוונטי)
  • messageId - מזהה הודעת WhatsApp

מעקב אחר לחיצות על קישורים

מעקב אחר לחיצות על קישורים ב-WhatsApp משתמש בסיומת ה-URL הדינמית של כפתור URL בתבנית - שדה ה-URL היחיד ש-Meta מתירה לשנות לכל נמען. Joryio ממלאת את הסיומת בטוקן חתום שמצביע אל דומיין המעקב שלכם; הלחיצה נרשמת ולאחר מכן מתבצעת הפניה אל היעד האמיתי. מכיוון שכתובת הבסיס של הכפתור היא חלק מהתבנית המאושרת, דבר בהודעה אינו נכתב מחדש בזמן השליחה - התבנית נשארת תקפה.

הגדרה

1. הגדירו דומיין מעקב. הגדירו אותו פעם אחת תחת Settings → Tracking domain (לדוגמה track.yourbrand.com). ראו דומיין מעקב.

2. צרו את התבנית ב-Meta עם כפתור URL בדומיין המעקב. הגדירו לכפתור כתובת דינמית שכתובת הבסיס שלה היא דומיין המעקב שלכם:

Button URL: https://track.yourbrand.com/wa/{{1}}

הגישו את התבנית לאישור כרגיל. Meta מאשרת אותה יחד עם דומיין המעקב - הסיומת הדינמית {{1}} היא החלק היחיד שמותר להשתנות.

3. מפו את היעד בקמפיין. כשבוחרים את התבנית בעורך הקמפיין, כל כפתור URL בעל סיומת דינמית מציג שדה Button link - שמסומן tracked כאשר הבסיס שלו הוא כתובת מעקב מסוג …/wa/{{1}}. הזינו את היעד האמיתי, בין אם כתובת קבועה ובין אם ביטוי Liquid:

{{ user.custom.offerUrl }}

זהו - ללא קוד. בעת השליחה, Joryio:

  1. מעבדת את היעד לכל נמען (Liquid, הזנות קטלוג ובלוקי תוכן - הכול נתמך).
  2. יוצרת טוקן מעקב חתום שמכיל את היעד ואת נתוני השיוך (קמפיין או מסע, וריאנט ומשתמש).
  3. שולחת את הטוקן כסיומת הדינמית, כך שהנמען מקבל https://track.yourbrand.com/wa/<token>.

זרימת המעקב

1. כפתור התבנית (מאושר): https://track.yourbrand.com/wa/{{1}}
2. שליחה: סיומת ← טוקן חתום { יעד, ארגון, משתמש, קמפיין/מסע, וריאנט }
3. הנמען מקליק → GET /wa/:token בדומיין המעקב שלכם
4. הטוקן מאומת (HMAC) → message.clicked נרשם (channel = whatsapp) → 302 אל היעד

הטוקן חתום ב-HMAC, כך שסיומת מזויפת או סיומת ששונתה נדחית. היעד עצמו שמור בטוקן, ולכן אין צורך בחיפוש במסד הנתונים כדי לשייך את הלחיצה.

כפתורים שאינם בדומיין המעקב שלכם

כפתור URL שכתובת הבסיס שלו אינה דומיין המעקב שלכם (לדוגמה https://shop.com/{{1}}) מטופל כסיומת דינמית רגילה של Meta: הערך שמיפיתם נשלח כפי שהוא, והלחיצה אינה עוברת דרך מנגנון המעקב. רק כפתורים בדומיין המעקב הופכים לקישורים במעקב - Joryio לעולם אינה כותבת מחדש כתובת ש-Meta לא אישרה.

טריגרים של הודעות WhatsApp במסעות

אפשר להשתמש בהודעות WhatsApp נכנסות כטריגרים למסעות.

הגדרה

בעת יצירת מסע, בחרו "WhatsApp Message" כסוג טריגר הכניסה.

אפשרויות טריגר

אפשרותתיאור
WhatsApp Accountחשבון WABA מסוים שממנו יתקבלו הודעות (או כל החשבונות)
Message Typesסינון לפי סוג הודעה (text, image, button_reply וכו')
Conditionsתנאים על בסיס תוכן (מכיל, שווה, regex)

סוגי תנאים

מאפייןתיאורדוגמה
content.textתוכן הטקסט של ההודעהContains "support"
messageTypeסוג ההודעהEquals "button_reply"
phoneNumberמספר הטלפון של השולחStarts with "+1"

אופרטורים

  • equals - התאמה מלאה
  • not equals - אינו שווה בדיוק
  • contains - הטקסט מכיל ערך
  • starts with - הטקסט מתחיל בערך
  • ends with - הטקסט מסתיים בערך
  • matches regex - התאמה לביטוי רגולרי

משתני תבנית במסע

כאשר הודעת WhatsApp מפעילה מסע, ניתן להשתמש במשתנים הבאים בצמתים שבהמשך:

{{ trigger.messageType }}      # 'text', 'image', 'button_reply', etc.
{{ trigger.content.text }} # Message text content
{{ trigger.content.type }} # Content type
{{ trigger.phoneNumber }} # Sender's phone number
{{ trigger.messageId }} # WhatsApp message ID
{{ trigger.timestamp }} # When message was received
{{ trigger.wabaId }} # WhatsApp Business Account ID
{{ trigger.context }} # Reply context (if replying to a message)

דוגמה: מסע לבוט תמיכה ב-WhatsApp

Entry Trigger: WhatsApp Message
- Message Type: text
- Condition: content.text contains "help" OR "support"

Flow:
→ Send WhatsApp Reply: "Hi {{ user.firstName }}, how can we help?"
→ Behavior Split: Wait for response (24h)
→ Responded: Route to support agent
→ No response: Send follow-up message

לוח הבקרה של האנליטיקה

ניתן לצפות באנליטיקה של WhatsApp במקומות הבאים:

  1. Campaign Analytics - מדדים לכל קמפיין

    • הודעות שנשלחו, נמסרו, נקראו
    • שיעורי לחיצה על כפתורים
    • שיעורי המרה
  2. Canvas Analytics - מדדים ברמת המסע

    • משתמשים שנכנסו למסע בעקבות הודעת WhatsApp
    • שיעורי השלמת מסלולים
    • שיעורי תגובה
  3. ייצוא אירועים / אנליטיקה מותאמת - בניית דוחות משלכם

    • עיינו באירועים הגולמיים (whatsapp.message.sent, whatsapp.message.delivered, whatsapp.message.read, message.clicked) ב-Event Explorer
    • השתמשו ב-API כדי לייצא אירועים ולהזין לוחות בקרה מותאמים

שיטות עבודה מומלצות

1. שימוש בתבניות עם כפתורים

  • כפתורים זוכים למעורבות גבוהה יותר מטקסט רגיל
  • לחיצות על כפתורים נמדדות אוטומטית
  • השתמשו בטקסט כפתור ברור לצורך אנליטיקה טובה יותר

2. הפעלת מעקב אחר קישורים

  • העבירו כתובות URL דרך דומיין המעקב שלכם
  • קבלו שיוך מלא ללחיצות על קישורים חיצוניים
  • מדדו שיעורי המרה אמיתיים

3. הגדרת טריגרים למסעות

  • הגדירו תגובות אוטומטיות לפניות נפוצות
  • נתבו משתמשים לפי תוכן ההודעה
  • השתמשו בביטויי regex לדפוסי התאמה גמישים

4. ניטור שיעורי מסירה

  • עקבו אחר היחס בין delivered ל-sent
  • זהו בעיות באיכות מספרי הטלפון
  • נטרו הודעות שנכשלו

5. ניתוח דפוסי תגובה

  • מדדו את הזמן בין השליחה לפעולת המשתמש
  • זהו את זמני השליחה המיטביים
  • מדדו את השימוש בחלון הפעילות בן 24 השעות

פתרון בעיות

לחיצות על כפתורים אינן נרשמות

  1. בדיקת הגדרות Webhook - ודאו ש־Webhooks של WhatsApp מוגדרים כראוי
  2. בדיקת אחסון הודעות - ההודעה המקורית חייבת להיות בטבלת whatsapp_messages
  3. בדיקת שיוך לקמפיין - ההודעה חייבת לכלול campaignId לצורך מעקב מלא

הודעות נכנסות אינן מפעילות מסע

  1. בדיקת סטטוס המסע - המסע חייב להיות במצב "active"
  2. בדיקת תנאי טריגר - ודאו שההודעה תואמת את התנאים שהוגדרו
  3. בדיקת חיבור WABA - החשבון חייב להיות פעיל ומחובר

נתוני אנליטיקה חסרים

  1. בדיקת Event Explorer - ודאו שאירועי WhatsApp עדיין מגיעים; אם האירועים הפסיקו להגיע לחלוטין, פנו לתמיכה
  2. בדיקת יצירת אירועים - בדקו ביומני צד השרת אם אירועי המעקב אכן נרשמים
  3. בדיקת טווח זמן - קיים עיכוב בעיבוד נתוני האנליטיקה

תיעוד קשור