تتبع WhatsApp والتحليلات
يوفّر Joryio تتبعًا شاملًا لرسائل WhatsApp، بما في ذلك حالة التسليم والقراءات والنقرات والتفاعل مع الأزرار. تغذي هذه البيانات التحليلات الفورية.
نظرة عامة
يتيح لك تتبع WhatsApp:
- تتبع تسليم الرسائل: حالات الإرسال والتسليم والقراءة.
- مراقبة التفاعل: نقرات الأزرار والروابط.
- تحليل الحملات: إسناد التحويلات إلى حملات محددة.
- تشغيل سير العمل: استخدام رسائل WhatsApp الواردة لتشغيل رحلات Canvas.
الأحداث المتتبعة
أحداث الرسائل الصادرة
عند إرسال رسائل WhatsApp عبر الحملات أو Canvas، تُتبع الأحداث التالية:
| اسم الحدث | الوصف | الخصائص |
|---|---|---|
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 Account الخاص بك:
| اسم الحدث | الوصف | الخصائص |
|---|---|---|
whatsapp.message.received | استُلمت رسالة واردة | messageType, content, phoneNumber, wabaId |
تتبع نقرات الأزرار
عندما ينقر المستخدمون أزرار قوالب رسائل WhatsApp، يقوم Joryio تلقائيًا بما يلي:
- ربط النقرات بالحملات: يربط نقرة الزر بالرسالة الصادرة الأصلية.
- تسجيل الحدث: يسجّل حدث
message.clickedبسياقه الكامل. - تحديث تحليلات الحملة: يزيد عدد النقرات في تقارير الحملة.
آلية العمل
1. ترسل قالب WhatsApp يتضمن أزرارًا
2. نخزن الرسالة مع إسناد الحملة (جدول whatsapp_messages)
3. ينقر المستخدم زرًا ← يرسل WhatsApp webhook
4. نبحث عن الرسالة الأصلية لاستخراج سياق الحملة
5. نتتبع حدث message.clicked مع campaignId وvariantId وbuttonId
بيانات الأزرار المتتبعة
buttonId: حمولة الزر أو معرّفه.buttonTitle: نص الزر.campaignId: الحملة المرتبطة.variantId: نسخة اختبار A/B، عند وجودها.messageId: معرّف رسالة WhatsApp.
تتبع نقرات الروابط
يستخدم تتبع روابط WhatsApp لاحقة URL الديناميكية في زر URL الخاص بالقالب، وهي خانة URL لكل مستلم التي تسمح بها Meta. يملأ Joryio هذه اللاحقة برمز موقّع يشير إلى نطاق التتبع لديك؛ تُسجل النقرة ثم يُعاد التوجيه إلى الوجهة الحقيقية. ولأن عنوان URL الأساسي للزر جزء من القالب المعتمد، فلا يُعاد كتابة أي شيء في الرسالة وقت الإرسال، ويظل القالب صالحًا.
الإعداد
1. اضبط نطاق التتبع. اضبطه مرة واحدة من Settings ← Tracking domain، مثل track.yourbrand.com. راجع نطاق التتبع.
2. أنشئ قالب Meta بزر URL لنطاق التتبع. امنح الزر URL ديناميكيًا يبدأ بنطاق التتبع لديك:
Button URL: https://track.yourbrand.com/wa/{{1}}
قدّم القالب للاعتماد كالمعتاد. تعتمد Meta القالب مع نطاق التتبع، وتكون اللاحقة الديناميكية {{1}} هي الجزء المتغير المسموح به.
3. اربط الوجهة في الحملة. عند اختيار القالب في محرر الحملة، يظهر لأي زر URL ذي لاحقة ديناميكية حقل Button link؛ ويُعلَّم بأنه متتبّع إذا كان أساسه URL تتبع على هيئة …/wa/{{1}}. أدخل الوجهة الفعلية، سواء URL ثابتًا أو تعبير Liquid:
{{ user.custom.offerUrl }}
هذا كل شيء، ولا تحتاج إلى كود. عند الإرسال، يقوم Joryio بما يلي:
- يحل الوجهة لكل مستلم؛ تعمل Liquid وخلاصات الكتالوج وContent Blocks جميعها.
- ينشئ رمز تتبع موقّعًا يحمل الوجهة مع الإسناد (حملة أو رحلة، والنسخة والمستخدم).
- يرسل الرمز كاللاحقة الديناميكية، فيتلقى المستلم
https://track.yourbrand.com/wa/<token>.
مسار التتبع
1. زر القالب (معتمد): https://track.yourbrand.com/wa/{{1}}
2. الإرسال: اللاحقة ← رمز موقّع { destination, org, user, campaign/canvas, variant }
3. ينقر المستلم ← GET /wa/:token على نطاق التتبع
4. التحقق من الرمز (HMAC) ← تسجيل message.clicked (channel = whatsapp) ← 302 إلى الوجهة
الرمز موقّع بـ HMAC، لذلك تُرفض اللاحقة المعدّلة أو المزوّرة، وتحمل الوجهة داخل الرمز؛ فلا يلزم استعلام قاعدة بيانات لإسناد النقرة.
يُعامل زر URL الذي لا يبدأ بـ نطاق التتبع لديك، مثل https://shop.com/{{1}}، كلاحقة Meta ديناميكية عادية: تُرسل القيمة التي تربطها كما هي ولا تُغلّف النقرة. لا تتحول إلى روابط متتبعة إلا أزرار نطاق التتبع؛ ولا يعيد Joryio كتابة URL لم تعتمدْه Meta.
مشغلات رسائل WhatsApp في Canvas
يمكنك استخدام رسائل WhatsApp الواردة كمشغلات لسير عمل Canvas.
الإعداد
عند إنشاء Canvas، اختر "WhatsApp Message" كنوع مشغّل الدخول.
خيارات المشغّل
| الخيار | الوصف |
|---|---|
| WhatsApp Account | حساب WABA محدد للاستماع إليه، أو جميع الحسابات. |
| Message Types | فلترة حسب نوع الرسالة، مثل text أو image أو button_reply. |
| Conditions | شروط على المحتوى، مثل احتواء النص أو مطابقته أو regex. |
أنواع الشروط
| الخاصية | الوصف | المثال |
|---|---|---|
content.text | نص الرسالة | يحتوي "support" |
messageType | نوع الرسالة | يساوي "button_reply" |
phoneNumber | رقم هاتف المرسل | يبدأ بـ "+1" |
العوامل
equals: تطابق تام.not equals: ليس تطابقًا تامًا.contains: يحتوي النص القيمة.starts with: يبدأ النص بالقيمة.ends with: ينتهي النص بالقيمة.matches regex: يطابق تعبيرًا نمطيًا.
متغيرات القالب في Canvas
عندما تشغّل رسالة WhatsApp Canvas، يمكنك استخدام هذه المتغيرات في العُقد اللاحقة:
{{ 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)
مثال: Canvas لبوت دعم
مشغّل الدخول: رسالة WhatsApp
- نوع الرسالة: text
- الشرط: يحتوي content.text على "help" أو "support"
المسار:
← أرسل رد WhatsApp: "مرحبًا {{ user.firstName }}، كيف يمكننا المساعدة؟"
← Behavior Split: انتظار الرد (24 ساعة)
← تم الرد: توجيه إلى موظف الدعم
← بلا رد: إرسال رسالة متابعة
لوحة التحليلات
اعرض تحليلات WhatsApp في:
- Campaign Analytics: مقاييس لكل حملة.
- الرسائل المرسلة والمسلّمة والمقروءة.
- معدلات نقر الأزرار.
- معدلات التحويل.
- Canvas Analytics: مقاييس على مستوى الرحلة.
- المستخدمون الذين شغّلهم WhatsApp.
- معدلات إكمال المسار.
- معدلات الرد.
- تصدير الأحداث/تحليلات مخصصة: أنشئ تقاريرك الخاصة.
- تصفح الأحداث الخام (
whatsapp.message.sentوwhatsapp.message.deliveredوwhatsapp.message.readوmessage.clicked) في Event Explorer. - صدّر الأحداث عبر API لتشغيل لوحات معلومات مخصصة.
- تصفح الأحداث الخام (
أفضل الممارسات
1. استخدم قوالب تتضمن أزرارًا
- تحقق الأزرار تفاعلًا أعلى من النص العادي.
- تُتبع نقرات الأزرار تلقائيًا.
- استخدم نصوص أزرار واضحة لتحليلات أفضل.
2. فعّل تتبع الروابط
- غلّف عناوين URL ضمن نطاق التتبع لديك.
- احصل على إسناد كامل لنقرات الروابط الخارجية.
- قِس معدلات التحويل الفعلية.
3. أعد مشغلات Canvas
- أتمتة الردود على الاستفسارات الشائعة.
- وجّه المستخدمين إلى المسارات المناسبة بناءً على محتوى الرسالة.
- استخدم أنماط regex لمطابقة مرنة.
4. راقب معدلات التسليم
- تتبّع نسبة
deliveredإلىsent. - حدّد مشكلات جودة أرقام الهاتف.
- راقب الرسائل التي تعذر إرسالها.
5. حلّل أنماط الرد
- تتبّع الوقت بين إرسال الرسالة وإجراء المستخدم.
- حدّد أفضل أوقات الإرسال.
- قِس استخدام جلسة الـ24 ساعة.
استكشاف الأخطاء وإصلاحها
نقرات الأزرار لا تُتبع
- افحص إعداد Webhook: تأكد من ضبط Webhooks الخاصة بـ WhatsApp بشكل صحيح.
- تحقق من تخزين الرسالة: يجب وجود الرسالة الأصلية في جدول
whatsapp_messages. - افحص إسناد الحملة: يجب أن تحتوي الرسالة على
campaignIdللتتبع الكامل.
الرسائل الواردة لا تشغّل Canvas
- تحقق من أن Canvas نشط: يجب أن تكون حالته "active".
- افحص شروط المشغّل: تأكد من مطابقة الرسالة للشروط المضبوطة.
- تحقق من اتصال WABA: يجب أن يكون الحساب نشطًا ومتصلًا.
بيانات التحليلات مفقودة
- افحص Event Explorer: تأكد من استمرار وصول أحداث WhatsApp؛ إن توقفت الأحداث بالكامل، تواصل مع الدعم.
- تحقق من إصدار الأحداث: افحص سجلات الخادم لتتبع الأحداث.
- افحص النطاق الزمني: يوجد تأخير في معالجة التحليلات.