إنشاء الحملات
الحملات هي طريقتك لإرسال رسائل فورية أو مجدولة إلى المستخدمين عبر Email وSMS وPush وWhatsApp وIn-app وWebhook. تستخدم كل قناة المعالج نفسه المكوّن من ست خطوات، لذلك بعد إنشاء حملة واحدة ستعرف كيفية إنشاء جميع الحملات.
القنوات
| القناة | ما ترسله |
|---|---|
| رسائل HTML غنية بالصور والروابط والتخصيص الكامل. | |
| SMS | رسائل نصية مع تقسيم تلقائي إلى أجزاء (GSM-7 أو Unicode). |
| Push | إشعارات Push للجوال، تتضمن العنوان والنص والصورة ورابط النقر. |
| قوالب WhatsApp Business معتمدة، مع ربط المتغيرات. | |
| In-app | رسائل تُعرض داخل تطبيقك عبر SDK. راجع حملات In-app لمعرفة منتقي المشغلات المحدّث وأوضاع التقييم وبطاقة حدود التكرار. |
| Webhook | حمولة JSON من خادم إلى خادم مع نص مبني بقوالب Liquid. |
المعالج ذو الخطوات الست
افتح المعالج من Campaigns ← New Campaign. يعرض الرأس مؤشّر خطوات مرقّمًا مع عناوين فرعية وخطوط وصل وعلامات صح خضراء للخطوات المكتملة وشارة ! برتقالية لأي خطوة زرتها وغادرتها مع أخطاء تحقق. يظهر Continue وSave Draft في الرأس بجوار إجراء النشر؛ ولا توجد قائمة تنقل سفلية تحتاج إلى البحث عنها.
| # | الخطوة | ما تضبطه |
|---|---|---|
| 1 | Details | الاسم والوصف والحالة والوسوم. |
| 2 | Delivery | موعد/طريقة إرسال الرسالة. |
| 3 | Compose Message | منشئ النسخ ونص كل قناة. |
| 4 | Audience | اختيار الوضع ثم منشئ الفلاتر وحجم الجمهور. |
| 5 | Conversion | أحداث التحويل الأساسية والثانوية. |
| 6 | Summary | مراجعة للقراءة فقط قبل النشر. |
يحفظ الانتقال بين الخطوات عملك تلقائيًا كمسودة، لذا يمكنك المغادرة والعودة من دون فقدان أي شيء.
الخطوة 1: Details
- Name مطلوب، وDescription اختياري.
- Status تكون
draftأثناء التحرير وتتحول إلىactiveعند النشر. - Tags وسوم لتحديد النطاق داخل الفريق، وتُستخدم كذلك لتجاوز قوائم الحظر. فالحملة ذات الوسم
transactionalمثلًا يمكنها تجاوز أي قائمة حظر محددة بالوسم نفسه. قائمة واحدة لغرضين.
إدخال الوسوم حقل واحد: اكتب الوسم واضغط Enter فيُضاف كبطاقة يمكن إزالتها أسفل الحقل. لا يوجد زر إضافة منفصل.
الخطوة 2: Delivery
في حملات Email وSMS وPush وWhatsApp وWebhook، تطلب خطوة Delivery اختيار نوع الإرسال:
| نوع الإرسال | السلوك |
|---|---|
immediate | يُرسل فور النشر. |
scheduled | يُرسل في تاريخ ووقت محددين. |
recurring | يُرسل وفق جدول (يومي/أسبوعي/شهري/cron مخصص). |
triggered | يُرسل لكل مستخدم عند تنفيذه حدثًا مثل purchase أو signup. |
intelligent | تحسين وقت الإرسال لكل مستخدم؛ يختار نموذج ML أفضل وقت للتسليم. |
ai_optimized | محسّن بالـAI؛ يختار التعلم المعزز القناة/القالب لكل مستخدم. |
لا يوجد اختيار افتراضي صامت: لا تكتمل الخطوة حتى تختار نوعًا. تظهر حقول القناة (تطبيق Push أو WABA أو عنوان/طريقة/رؤوس Webhook) أسفل المنتقي. وتوجد هنا أيضًا تجاوزات الوقت الهادئ وقواعد التواصل. (أما المرسل / From / Reply-To / BCC في Email فتُضبط في الخطوة التالية، ضمن تبويب Settings في محرر البريد، ولكل نسخة A/B على حدة؛ راجع إعدادات Email.)
تحوّل الحملات المشغّلة الحملة إلى إرسال قائم على الأحداث. اختر Triggered ثم نوع المشغّل: Event tracked (أدخل الحدث مثل purchase) أو WhatsApp inbound (عند مراسلة جهة اتصال لك عبر WhatsApp) أو SMS inbound (عند ورود رد SMS) أو Entity changed (عند تغيّر كيان للتجارة الإلكترونية، مثل طلب أو سلة) أو Attribute changed (عند تغيّر قيمة سمة مستخدم) أو Subscription status (عند تغيّر اشتراك قناة/قائمة) أو API (manual entry) (عند تسجيل خادمك الخلفي مستخدمًا عبر API). حدّد عدد مرات إعادة الإرسال للمستخدم: كل مرة يقع فيها الحدث (الافتراضي)، أو مرة واحدة لكل مستخدم، أو مرة واحدة ثم فترة انتظار (تحدد الساعات). نشر حملة مشغّلة يُفعّلها بدل إرسال دفعة جماعية؛ وبعد ذلك ترسل فور تحقق المشغّل ومطابقة الجمهور. تبقى حدود التكرار والوقت الهادئ سارية.
العناوين المكررة: في الإرسال الجماعي أو المجدول أو المتكرر، إذا تشاركت عدة جهات اتصال بريدًا أو رقم هاتف، مثل زوجين يستخدمان صندوق وارد واحدًا، يتلقى ذلك العنوان الرسالة مرة واحدة؛ إذ تزيل الحملة التكرار حسب المستلم وقت الإرسال. (الإرسال المشغّل لكل جهة اتصال لأن كلًا منها نفّذ الإجراء.)
تستخدم حملات In-app تخطيط Delivery مختلفًا؛ راجع حملات In-app.
الخطوة 3: Compose Message
تظهر خطوة Compose داخل VariantTabs: شريط تبويبات مستقل عن القناة، بتبويب لكل نسخة غير ضابطة (A / B / C…) وزر + Add variant في النهاية. يعرض كل تبويب نقطة ملونة وشارة وزن للقراءة فقط؛ عدّل التوزيع في بطاقة A/B Allocation أسفل التبويبات. تعني النقطة الكهرمانية أن النسخة لم تُنشأ بعد.
يعرض التبويب النشط نص القناة داخل الغلاف نفسه. وتعرض معظم القنوات معاينة حية بجوار النموذج، بالمكوّن نفسه الذي تستخدمه نوافذ منشئ الرحلات، لذا يظهر الإشعار أو فقاعة الرسالة بالطريقة نفسها في كل الواجهات.
| القناة | نص كل نسخة |
|---|---|
| منتقي بثلاث طرق (Drag & Drop / HTML editor / Use template) يفتح VariantEditorShell مع الشريط الجانبي القياسي (Settings / Design / Preview & Test / Spam Check). | |
| SMS | مساحة نص للرسالة مع عداد أحرف وأجزاء GSM-7/Unicode، بجوار معاينة هاتف iOS / Android / Plain نفسها التي تستخدمها نافذة SMS في Canvas. |
| Push | عنوان ونص مع عدادات أحرف متعددة المنصات (50 / 120) وتلميحات لكل منصة، وURL أو scheme وصورة وAsset Picker وحتى زري إجراء ومفتاح Group (Web tag / Android collapse_key / iOS thread-id) وSound وBadge (iOS وAndroid فقط) وKeep on screen واسم موقع Web (Web فقط). تظهر معاينة iOS / Android / Web حية على اليمين. |
| تحكم مقسم لنوع الرسالة (Template / Session reply)، ومنتقي WABA وقالب مفلتر حسب WABA وصفوف لربط المتغيرات بقيم عيّنة. معاينة فقاعة محادثة حية على اليمين. | |
| Webhook | صف للطريقة وURL، ومنتقي Authentication (None / Bearer / Basic / API key / Signed HMAC)، وصفوف للرؤوس المخصصة، ونص طلب (JSON / Form-encoded / None) مع مؤشر لصحة JSON، ومعالجة الاستجابة (JSONPath ← سمة مستخدم)، وتجاوزات إعادة المحاولة والمهلة وخيارات التسليم المتقدمة. يُرسل النص كما هو؛ أضف بيانات Canvas/المستخدم عبر Liquid، مثل {{ canvas.id }} و{{ user.id }}. |
| In-app | المنتقي نفسه ذي الطرق الثلاث مثل Email؛ ويُكتب النص المنشأ في customContent. |
إنشاء Email - VariantEditorShell
بعد اختيار طريقة، يفتح نص البريد في VariantEditorShell بملء الشاشة مع شريط جانبي بعرض 200px:
- Settings: إعدادات المرسل وإلغاء الاشتراك من القائمة وpreheader والبيانات الوصفية.
- Design: محرر بالسحب والإفلات. محرر HTML عرض مقسم: CodeMirror على اليسار ومعاينة حية داخل iframe معزول على اليمين.
- Preview & Test: معاينة سطح المكتب/الجوال وإرسال اختباري.
- Spam Check: نتيجة وقواعد استدلالية لإشارات مشاكل قابلية التسليم.
عند العودة من الغلاف، يختصر نص النسخة في بطاقة AuthoredSummary: صورة مصغرة فعلية داخل iframe مُصغّر لبريدك المعروض، وليست نموذجًا ملوّنًا، مع الموضوع وpreheader وزر Edit. انقر الصورة المصغرة لإعادة فتح الغلاف.
نسخ A/B
تظهر بطاقة A/B (التوزيع + قاعدة الإيقاف + طريقة التحسين) لكل قناة تعتمد النسخ: Email وSMS وPush وWhatsApp وWebhook وIn-app. يجب أن يساوي مجموع أوزان النسخ 100%. تحتفظ مجموعة الضبط بوزنها عند إضافة نسخ الرسائل أو إزالتها؛ وتُعاد موازنة النسخ غير الضابطة فقط.
تُقفل طريقة التحسين بشارة "Needs 2+ variants" حتى تضيف نسخة ثانية. راجع اختبار A/B لإعدادات قاعدة الإيقاف (Quick / Standard / Custom) والدلالة الإحصائية للتفاصيل الحسابية.
الخطوة 4: Audience
تبدأ خطوة Audience بـ منتقي وضع: بطاقتان كبيرتان تحت "Choose targeting approach":
- Targeted audience مع شارة خضراء (موصى به): يختار منشئ مجموعات الفلاتر.
- Send to everyone: إرسال إلى كامل مساحة العمل، وتعرض البطاقة الوصول الحي لمساحة العمل كشارة.
بعد اختيار وضع، تختفي البطاقات ويظهر زر صغير "Switch to a targeted audience" أو "Send to everyone instead" في رأس البطاقة لتبديل الاختيار.
الجمهور المستهدف - منشئ الفلاتر v2
يشترك منشئ الفلاتر، واحدًا لواحد، مع محرر الشرائح ويستخدم واجهة v2 الجديدة:
- شارات مرقمة ملونة لكل مجموعة:
1أخضر و2كهرماني و3أزرق و4وردي و5بنفسجي، بدل رأس "Filter Group N" القديم. - ConnectorChip لـ AND/OR بين الصفوف الشقيقة وبين المجموعات. الشارة نفسها هي زر التبديل؛ فلا يوجد رأس Match ALL/ANY لكل مجموعة ولا زر Match ALL groups أعلى الصفحة.
- زر متقطّع
+ Add conditionأسفل كل مجموعة، وزر+ Add filter groupأسفل المجموعة الأخيرة. - نافذة تأكيد قبل حذف مجموعة غير فارغة؛ وتحذف المجموعات الفارغة بلا تأكيد.
- شارة عدد حي لكل مجموعة وشارة لمساحة العمل في الشريط الأيمن. يُعاد التقييم بعد نحو 400ms من التوقف عن التحرير ويطبق شرط القناة والاشتراك نفسه المستخدم في الشريط الأيمن.
- أصبح منتقيا الأحداث والسمات combobox قابلين للبحث. عند كتابة اسم غير موجود، تعرض القائمة صفًا إضافيًا
+ Create event "<query>"أو+ Create attribute "<query>"لتسجيل إدخال المخطط فورًا، وهو مفيد لإنشاء الحملات قبل ربط فريق الهندسة للتتبع.
تظهر كتلة Exclude أسفل كتلة Include لتتمكن من التعبير عن "تضمين X مع استبعاد أي شخص يطابق Y" من دون تضمين منطق NOT في كل مجموعة.
حجم الجمهور في الشريط الأيمن
يتابع شريط أيمن بعرض 340px حجم الجمهور مباشرة أثناء التحرير:
- شارة Live خضراء في الرأس.
- العدد الإجمالي المطابق، مع نسبته من مساحة العمل وشريط تقدم 4px يوضح النسبة.
- تفصيل حسب القناة تحت الإجمالي: عدد المستخدمين الذين يملكون عنوان Email / SMS / Push / WhatsApp صالحًا ومشتركين في تلك القناة.
- تعليق يشرح الشروط؛ مثلًا في حملة Email: "يعكس المستخدمين المطابقين لفلاترك والذين: يملكون عنوان Email صالحًا ومشتركين في Email."
في حملات In-app يُخفى تفصيل القنوات وتعليق الاشتراك؛ إذ لا يوجد مفهوم اشتراك لرسائل In-app.
خيارات الإرسال
أسفل المنشئ، تتيح بطاقة Sending options تحديد حالة الاشتراك التي سترسل إليها. وهي قائمة منسدلة غنية واحدة، لكل خيار عنوان وعنوان فرعي لتظهر النتائج قبل النقر:
- Subscribed users only (الافتراضي): يستبعد المستخدمين غير المشتركين.
- Confirmed (double opt-in): المستخدمون الذين أكملوا double opt-in فقط.
- Everyone, including unsubscribed: يحول المشغّل إلى نمط أحمر تحذيري مع شارة
USE WITH CAUTION. يؤدي اختيار هذا الخيار إلى نافذة تأكيد تشرح مخاطر CAN-SPAM وGDPR وسمعة المرسل. مخصص للإرسالات التي تكون معاملية فعلًا.
تُخفى بطاقة Sending options لحملات In-app.
وضع "Send to everyone"
إذا اخترت بطاقة Send to everyone، يُستبدل المنشئ بتنبيه كهرماني يسرد أربعة أسباب تجعل الإرسال العام غير المفلتر يضر النتائج طويلة الأجل: انخفاض التفاعل، وارتفاع إلغاء الاشتراك/الرسائل المزعجة، وتدهور سمعة المرسل، وصعوبة القياس. جرّب الفلاتر المقترحة في فقرة التوصية قبل الإرسال العام.
الخطوة 5: Conversion
اختر حدث تحويل أساسيًا يحدد أن المستخدم تحوّل، ثم نافذة إسناد (ساعات بعد الإرسال) ونموذج إسناد (first_touch / last_touch / linear). يمكنك إضافة أحداث تحويل ثانوية أيضًا، مثل added_to_cart وviewed_pricing، ولكل منها تسمية اختيارية.
الخطوة 6: Summary
مراجعة للقراءة فقط لكل ما ضبطته. تظهر أخطاء التحقق من الخطوات السابقة هنا كشريط قبل النشر. انقر Publish لتحويل الحملة من draft إلى active.
المراجعة قبل الإرسال
قبل النشر، تحقق من:
- أن حجم الجمهور يطابق توقعاتك.
- أن تفصيل القناة يتضمن عددًا غير صفري للقناة التي سترسل منها.
- أن Preview & Test يظهر بشكل صحيح على سطح المكتب والجوال.
- أن متغيرات Personalization تُحل إلى قيم فعلية.
- أن Schedule يستخدم المنطقة الزمنية الصحيحة.
- أن نتيجة Spam Check مقبولة في Email.
مراقبة الأداء
بعد تفعيل الحملة، تعرض صفحة تفاصيلها إحصاءات فورية:
- Sent / delivered / opened / clicked / converted / bounced / unsubscribed
- تفصيل لكل نسخة لاختبارات A/B
- تُستبعد الأحداث التي تكتشفها المنصة كبوتات افتراضيًا، فلا تضخّم عمليات الفتح والنقر التي تنفذها أدوات الجلب المسبق للروابط وماسحات الحماية لدى موفري البريد أرقامك. راجع مستكشف الأحداث لمعرفة كيفية تفسير إشارة "Bots excluded".
حالات الحملة: draft ← scheduled ← sending ← sent (أو paused / cancelled).
أفضل الممارسات
- استهدف شرائح محددة بدل الإرسال العام.
- اختبر عدة أسطر موضوع/دعوات إجراء بنسخ A/B.
- استخدم إرسالًا يراعي المنطقة الزمنية حيثما ينطبق.
- أرسل اختبارًا قبل النشر.
- لا ترسل الرسالة نفسها إلى الجميع.
- لا تختر "Everyone, including unsubscribed" من دون مبرر معاملي حقيقي.
أنماط شائعة
حملة ترحيب
أرسلها فور التسجيل. صفِّ المستخدمين الذين نفذوا حدث signed_up خلال اليوم الأخير. أنشئ نسخة Email واحدة تتضمن CTA للبدء.
إعادة التفاعل
صفِّ المستخدمين بفلتر سلوكي inactive_30_days، واستبعد من تحوّلوا بالفعل خلال آخر 14 يومًا، وقدّم حافزًا.
سلة متروكة
صفِّ من نفّذ added_to_cart لكنه لم ينفّذ purchase_completed خلال آخر 24 ساعة.
إعلان منتج
صفِّ plan = "premium" وactive_last_30_days، وأرسل نسخة Email واحدة مع رابط الإطلاق.
الخطوات التالية
- حملات In-app
- اختبار A/B
- تحسين وقت الإرسال
- تحليلات الحملات
- إنشاء Canvas للرحلات الآلية متعددة الخطوات