מעקב ואנליטיקה ל-WhatsApp
Joryio מספקת מעקב מקיף להודעות WhatsApp, כולל סטטוסי מסירה, פתיחות, לחיצות על קישורים ופעולות בכפתורים. הנתונים מזינים אנליטיקה בזמן אמת.
סקירה כללית
המעקב ב־WhatsApp מאפשר לכם:
- לעקוב אחר מסירת הודעות - סטטוסים של נשלח, נמסר ונקרא
- לנטר מעורבות - לחיצות על כפתורים ועל קישורים
- לנתח קמפיינים - לייחס המרות לקמפיינים מסוימים
- להפעיל תהליכים - להשתמש בהודעות WhatsApp נכנסות כטריגר למסעות
אירועים במעקב
אירועי הודעות יוצאות
כאשר שולחים הודעות WhatsApp דרך קמפיינים או מסעות, האירועים הבאים נרשמים:
| שם האירוע | תיאור | מאפיינים |
|---|---|---|
whatsapp.message.sent | ההודעה נשלחה ל-WhatsApp API | messageId, 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 מבצעת אוטומטית:
- שיוך לחיצות לקמפיינים - שיוך הלחיצה על הכפתור להודעה היוצאת המקורית
- רישום האירוע - רישום אירוע
message.clickedעם ההקשר המלא - עדכון אנליטיקת קמפיינים - הגדלת מספר הלחיצות בדוחות הקמפיין
איך זה עובד
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:
- מעבדת את היעד לכל נמען (Liquid, הזנות קטלוג ובלוקי תוכן - הכול נתמך).
- יוצרת טוקן מעקב חתום שמכיל את היעד ואת נתוני השיוך (קמפיין או מסע, וריאנט ומשתמש).
- שולחת את הטוקן כסיומת הדינמית, כך שהנמען מקבל
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 במקומות הבאים:
-
Campaign Analytics - מדדים לכל קמפיין
- הודעות שנשלחו, נמסרו, נקראו
- שיעורי לחיצה על כפתורים
- שיעורי המרה
-
Canvas Analytics - מדדים ברמת המסע
- משתמשים שנכנסו למסע בעקבות הודעת WhatsApp
- שיעורי השלמת מסלולים
- שיעורי תגובה
-
ייצוא אירועים / אנליטיקה מותאמת - בניית דוחות משלכם
- עיינו באירועים הגולמיים (
whatsapp.message.sent,whatsapp.message.delivered,whatsapp.message.read,message.clicked) ב-Event Explorer - השתמשו ב-API כדי לייצא אירועים ולהזין לוחות בקרה מותאמים
- עיינו באירועים הגולמיים (
שיטות עבודה מומלצות
1. שימוש בתבניות עם כפתורים
- כפתורים זוכים למעורבות גבוהה יותר מטקסט רגיל
- לחיצות על כפתורים נמדדות אוטומטית
- השתמשו בטקסט כפתור ברור לצורך אנליטיקה טובה יותר
2. הפעלת מעקב אחר קישורים
- העבירו כתובות URL דרך דומיין המעקב שלכם
- קבלו שיוך מלא ללחיצות על קישורים חיצוניים
- מדדו שיעורי המרה אמיתיים
3. הגדרת טריגרים למסעות
- הגדירו תגובות אוטומטיות לפניות נפוצות
- נתבו משתמשים לפי תוכן ההודעה
- השתמשו בביטויי regex לדפוסי התאמה גמישים
4. ניטור שיעורי מסירה
- עקבו אחר היחס בין
deliveredל-sent - זהו בעיות באיכות מספרי הטלפון
- נטרו הודעות שנכשלו
5. ניתוח דפוסי תגובה
- מדדו את הזמן בין השליחה לפעולת המשתמש
- זהו את זמני השליחה המיטביים
- מדדו את השימוש בחלון הפעילות בן 24 השעות
פתרון בעיות
לחיצות על כפתורים אינן נרשמות
- בדיקת הגדרות Webhook - ודאו ש־Webhooks של WhatsApp מוגדרים כראוי
- בדיקת אחסון הודעות - ההודעה המקורית חייבת להיות בטבלת
whatsapp_messages - בדיקת שיוך לקמפיין - ההודעה חייבת לכלול
campaignIdלצורך מעקב מלא
הודעות נכנסות אינן מפעילות מסע
- בדיקת סטטוס המסע - המסע חייב להיות במצב "active"
- בדיקת תנאי טריגר - ודאו שההודעה תואמת את התנאים שהוגדרו
- בדיקת חיבור WABA - החשבון חייב להיות פעיל ומחובר
נתוני אנליטיקה חסרים
- בדיקת Event Explorer - ודאו שאירועי WhatsApp עדיין מגיעים; אם האירועים הפסיקו להגיע לחלוטין, פנו לתמיכה
- בדיקת יצירת אירועים - בדקו ביומני צד השרת אם אירועי המעקב אכן נרשמים
- בדיקת טווח זמן - קיים עיכוב בעיבוד נתוני האנליטיקה