تخطّ إلى المحتوى الرئيسي

تتبع WhatsApp والتحليلات

يوفّر Joryio تتبعًا شاملًا لرسائل WhatsApp، بما في ذلك حالة التسليم والقراءات والنقرات والتفاعل مع الأزرار. تغذي هذه البيانات التحليلات الفورية.

نظرة عامة

يتيح لك تتبع WhatsApp:

  • تتبع تسليم الرسائل: حالات الإرسال والتسليم والقراءة.
  • مراقبة التفاعل: نقرات الأزرار والروابط.
  • تحليل الحملات: إسناد التحويلات إلى حملات محددة.
  • تشغيل سير العمل: استخدام رسائل WhatsApp الواردة لتشغيل رحلات Canvas.

الأحداث المتتبعة

أحداث الرسائل الصادرة

عند إرسال رسائل WhatsApp عبر الحملات أو Canvas، تُتبع الأحداث التالية:

اسم الحدثالوصفالخصائص
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 Account الخاص بك:

اسم الحدثالوصفالخصائص
whatsapp.message.receivedاستُلمت رسالة واردةmessageType, content, phoneNumber, wabaId

تتبع نقرات الأزرار

عندما ينقر المستخدمون أزرار قوالب رسائل WhatsApp، يقوم Joryio تلقائيًا بما يلي:

  1. ربط النقرات بالحملات: يربط نقرة الزر بالرسالة الصادرة الأصلية.
  2. تسجيل الحدث: يسجّل حدث message.clicked بسياقه الكامل.
  3. تحديث تحليلات الحملة: يزيد عدد النقرات في تقارير الحملة.

آلية العمل

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 بما يلي:

  1. يحل الوجهة لكل مستلم؛ تعمل Liquid وخلاصات الكتالوج وContent Blocks جميعها.
  2. ينشئ رمز تتبع موقّعًا يحمل الوجهة مع الإسناد (حملة أو رحلة، والنسخة والمستخدم).
  3. يرسل الرمز كاللاحقة الديناميكية، فيتلقى المستلم 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 في:

  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. أعد مشغلات Canvas

  • أتمتة الردود على الاستفسارات الشائعة.
  • وجّه المستخدمين إلى المسارات المناسبة بناءً على محتوى الرسالة.
  • استخدم أنماط regex لمطابقة مرنة.

4. راقب معدلات التسليم

  • تتبّع نسبة delivered إلى sent.
  • حدّد مشكلات جودة أرقام الهاتف.
  • راقب الرسائل التي تعذر إرسالها.

5. حلّل أنماط الرد

  • تتبّع الوقت بين إرسال الرسالة وإجراء المستخدم.
  • حدّد أفضل أوقات الإرسال.
  • قِس استخدام جلسة الـ24 ساعة.

استكشاف الأخطاء وإصلاحها

نقرات الأزرار لا تُتبع

  1. افحص إعداد Webhook: تأكد من ضبط Webhooks الخاصة بـ WhatsApp بشكل صحيح.
  2. تحقق من تخزين الرسالة: يجب وجود الرسالة الأصلية في جدول whatsapp_messages.
  3. افحص إسناد الحملة: يجب أن تحتوي الرسالة على campaignId للتتبع الكامل.

الرسائل الواردة لا تشغّل Canvas

  1. تحقق من أن Canvas نشط: يجب أن تكون حالته "active".
  2. افحص شروط المشغّل: تأكد من مطابقة الرسالة للشروط المضبوطة.
  3. تحقق من اتصال WABA: يجب أن يكون الحساب نشطًا ومتصلًا.

بيانات التحليلات مفقودة

  1. افحص Event Explorer: تأكد من استمرار وصول أحداث WhatsApp؛ إن توقفت الأحداث بالكامل، تواصل مع الدعم.
  2. تحقق من إصدار الأحداث: افحص سجلات الخادم لتتبع الأحداث.
  3. افحص النطاق الزمني: يوجد تأخير في معالجة التحليلات.

وثائق ذات صلة