توصيات المنتجات
يختار محرك توصيات Joryio عناصر لكل عميل لرسائلكم - Email وSMS وWhatsApp وViber والإشعارات الفورية والرسائل داخل التطبيق وصفحات الهبوط، في الحملات والرحلات على حد سواء (راجعوا أين تعمل التوصيات). وهو شفاف عمدًا - أنتم تقررون ما الذي يتعلم منه:
- مصدر العناصر - منتجات متجركم المتزامنة (Shopify/WooCommerce) أو أي كيان مخصص يحتوي كتالوجًا.
- إشارات التدريب - الأحداث التي تعلّم المحرك، لكل منها وزن (مثل
purchase×5 وadd_to_cart×2 وproduct_viewed×1 - أي أحداث، بما فيها المخصصة). تحدد خاصية معرّف العنصر خاصية الحدث التي تحمل العنصر (مثلproductId)؛ وعندما يستخدم حدث خاصية مختلفة (مثل حدثad_viewيحملad_id)، عيّنوها لكل إشارة - لكل صف إشارة خاصية اختيارية تتجاوز افتراضي النموذج. - الاختيار (اختياري) - اختاروا اختيارًا لتضييق ما يمكن للنموذج التوصية به: اختيار منتجات لمنتجات المتجر (يُدار في صفحة المنتجات)، أو اختيار كيان لكتالوج كيان مخصص (مثل علامة أو موقع واحد فقط). الفلاتر الثابتة فقط - لا يمكن حل قيم فلتر لكل مستلم وقت الترتيب. يسري في الحملات والرحلات على حد سواء. عندما يطابق عدد قليل جدًا من اختيارات النموذج، تملأ منتجات الاختيار نفسه الفراغ. إذا تعذّرت قراءة الاختيار (حُذف، أو فشل البحث)، يعرض النموذج منتجاته المثبتة فقط - ولا يعرض أبدًا عناصر خارج الاختيار.
- نافذة التدريب وخيار عدم توصية العميل أبدًا بعناصر اشتراها بالفعل (راجعوا الاستثناءات).
نماذج متعددة
يمكن لمساحة العمل أن تحتفظ بعدة نماذج مسماة، لكل منها نوعها ومصدرها وإشاراتها - أنشئوها تحت الإعدادات ← التوصيات ثم اختاروا واحدًا لكل كتلة منتج في محرر Email (المصدر: موصى به ← النموذج)، أو استدعوا نموذجًا عبر خانته في Liquid. ويُعلَّم نموذج واحد على أنه الافتراضي ويُستخدم عندما لا تختار كتلة نموذجًا.
أنواع التوصيات
لكل نموذج نوع واحد، يُختار تحت الإعدادات ← التوصيات ← نوع النموذج:
| النوع | ما يحصل عليه كل مستلم | التدريب |
|---|---|---|
| مخصص (Personalized) | عناصر تطابق نشاطه الحديث (تزامن ظهور مُدرَّب) | ليليًا + درّب الآن |
| الأكثر شيوعًا (Most popular) | قائمة الأكثر مبيعًا نفسها للجميع، مرجحة بإشاراتكم | ليليًا + درّب الآن |
| الرائج الآن (Trending now) | نشاط مرجح خلال آخر 7 أيام | لا شيء - يُحسب مباشرة |
| شوهد مؤخرًا (Recently viewed) | أحدث عناصره الخاصة. يعود إلى الرائج للعملاء الجدد؛ ولا يُكمَّل أبدًا بعناصر أخرى | لا شيء - يُحسب مباشرة |
| عناصر مشابهة (Similar items) | قائم على المحتوى: منتجات تشترك مع منتج في الفئات والعلامة التجارية والسمات (مثل Color وMaterial) والوسوم. للفئات الوزن الأكبر، ثم العلامة والسمات؛ والوسوم تحسم التعادل | لا شيء - يُحسب مباشرة |
| اشتُريت معًا (Bought together) | منتجات ظهرت في الطلب نفسه مع منتج، خلال نافذة تدريب النموذج (من طلباتكم المتزامنة). إذا لم تكن للمنتج مشتريات مشتركة بعد، تكمّل العناصر المشابهة القائمة | لا شيء - يُحسب مباشرة |
| شوهدت معًا (Viewed together) | منتجات شاهدها الأشخاص أنفسهم الذين شاهدوا منتجًا. يتدرب النموذج على مشاهدات المنتجات (Product Viewed) فقط. المنتج بلا سجل مشاهدات مشتركة يعود إلى العناصر المشابهة | ليليًا + درّب الآن |
| وصل حديثًا (New arrivals) | أحدث المنتجات في الكتالوج (حسب وقت إضافتها)، مع إمكانية حصرها في فئة واحدة | لا شيء - يُحسب مباشرة |
| الأكثر شيوعًا في الفئة (Popular in category) | الأكثر مبيعًا (وحدات في الطلبات) أو الأكثر مشاهدة (أحداث Product Viewed) - اختاروا sales أو views - في فئة خلال نافذة النموذج. الفئة: المحددة في النموذج، وإلا الفئة الأولى لمنتج الارتكاز، وإلا الكتالوج كله | لا شيء - يُحسب مباشرة |
| أعلى الخصومات (Top discounted) | أكبر خصم لسعر المقارنة (compare-at) مقابل السعر، مع إمكانية حصره في فئة واحدة | لا شيء - يُحسب مباشرة |
تعمل الأنواع الستة الأخيرة (من العناصر المشابهة حتى أعلى الخصومات) مع منتجات المتجر فقط، وليس مع كتالوجات الكيانات المخصصة.
أي منتج؟
توصي أنواع العناصر المشابهة واشتُريت معًا وشوهدت معًا حول منتج واحد. يُختار بهذا الترتيب:
- معرّف منتج ثابت محدد في النموذج.
- معرّف المنتج المحدد في كتلة المنتج في Email (الحقل الاختياري Product id).
- في رحلة، منتج الحدث الذي أطلق الرحلة - خاصيته
productId/product_id، أو العنصر الأول في قائمةproducts/items. - وإلا، آخر منتج شاهده المستلم.
إذا لم يتوفر أي من ذلك، تُعرض قائمة الاحتياط الشائعة للنموذج.
المنتجات المثبتة
يقبل كل نوع قائمة معرّفات منتجات مثبتة في النموذج. تظهر المنتجات المثبتة أولًا بالترتيب المحدد، وتملأ خوارزمية النوع الأماكن المتبقية. تخضع المنتجات المثبتة للاستثناءات نفسها - يُتخطى المنتج المثبت النافد أو الذي اشتُري بالفعل.
الاستثناءات
افتراضيًا:
- المنتجات النافدة - لا يُوصى بالمنتجات التي يعلّمها المتجر بأنها نافدة من المخزون. أوقفوا Hide out-of-stock products في نموذج للسماح بها.
- ما اشتُري بالفعل - لا يُوصى بالمنتجات التي اشتراها المستلم بالفعل (من طلباته). الخيار Don't recommend items the customer already purchased مفعّل افتراضيًا ويسري على كل الأنواع.
- منتج الارتكاز نفسه لا يُوصى به أبدًا.
- يظل الاختيار (قائمة السماح) الخاص بالنموذج ساريًا؛ وتحتفظ المنتجات المثبتة بمكانها.
- تتقدّم قائمة الحظر على كل شيء، بما في ذلك المنتجات المثبتة.
قائمة الحظر
منتجات يجب ألا يُوصى بها أبدًا - بطاقات الهدايا، العيّنات، خط منتجات متوقف. هناك قائمتان، وتسري كلتاهما دائمًا:
- لكل نموذج - Never recommend في النموذج: معرّفات المنتجات، ولمنتجات المتجر أيضًا الفئات والوسوم (دون تمييز حالة الأحرف).
- لمساحة العمل كلها - Settings → Recommendations، أسفل النماذج: القوائم الثلاث نفسها، وتسري على كل نموذج.
لا يُعرض المنتج المحظور أبدًا في أي نوع - لا كاقتراح، ولا حين يكون مثبتًا، ولا من البديل الشائع، ولا من البديل المستخدم حين ينفد وقت الخانة. يمكن أن يكون معرّف المنتج معرّف المتجر أو معرّف Joryio. تتسع كل قائمة حتى 500 معرّف منتج و100 فئة و100 وسم. تصل التغييرات إلى الرسائل خلال 5 دقائق.
التعزيز والتخفيض
قواعد ترويج فوق الصلة، لمنتجات المتجر. في النموذج، افتح Boost and bury، وانقر Add rule واختر:
- ماذا - حقل منتج (رقمي أو نعم/لا - تعرض القائمة الحقول الموجودة فعلًا في منتجاتك: السعر، والسعر قبل الخصم، ونسبة الخصم، والوحدات في المخزون، ومتوفر، وسمات مثل التقييم أو هامش الربح)، أو فئة أو وسم.
- الاتجاه - Boost يرفع المنتجات المطابقة، وBury يخفضها.
- القوة - Light أو Medium أو Strong (0.2 و0.5 و1.0).
كيف تحسب القواعد: يجد النموذج أولًا مرشحيه ويرتبهم (الصلة، بما في ذلك المرتّب المتعلَّم)؛ ثم تزيل قائمة الحظر والـ Selection وفلتر المخزون ما لا يجوز عرضه؛ ثم تعيد القواعد ترتيب ما تبقى، قبل قصّ القائمة إلى عدد العناصر التي تعرضها الرسالة. صلة المرشح مأخوذة من مكانه في هذا الترتيب - الأول من 10 يحصل على 1، والأخير على 0.1. الحقل الرقمي يُقاس عبر المرشحين من 0 (الأدنى) إلى 1 (الأعلى)؛ وحقل نعم/لا أو الفئة أو الوسم يُحسب 1 عند التطابق و0 عند عدمه؛ والمنتج الذي لا يملك الحقل يُحسب 0. Boost يضرب الصلة في (1 + القوة x القيمة)، وBury يقسم عليها، وتتضاعف القواعد المتعددة.
لا تضيف القواعد أبدًا منتجًا لم يجده النموذج، ولا تعرض منتجًا محظورًا، ولا تحرّك منتجًا مثبّتًا - تحتفظ المنتجات المثبّتة بأماكنها. وتعمل بالطريقة نفسها في كل قناة وفي الرحلات. حتى 10 قواعد لكل نموذج.
أمثلة:
- دفع التخفيضات - Boost، الفئة "Sale"، Medium: منتج مخفّض يقع مباشرة تحت منتج بسعر كامل يتقدم عليه؛ ومنتج بعيد في أسفل القائمة لا يقفز إلى القمة.
- الهامش أولًا - Boost، السمة "Margin"، Strong: بين المنتجات المتقاربة في الصلة، تتقدم ذات الهامش الأعلى.
- لا تبدأ بالإكسسوارات - Bury، الوسم "accessory"، Light.
- الأوفر مخزونًا أولًا - Boost، الوحدات في المخزون، Light.
تعرض Preview في البطاقة قائمة جهة اتصال واحدة Without rules وWith rules جنبًا إلى جنب، باستخدام القواعد الظاهرة على الشاشة قبل الحفظ (العناصر التي تحركت محاطة بإطار). اختر جهة اتصال بالبريد الإلكتروني أو الهاتف أو المعرّف؛ ومن دون اختيار تُعرض القائمة التي يحصل عليها زائر مجهول. لا تُحسب المعاينة أبدًا كتوصية مقدَّمة.
الاحتياط والسرعة
تُكمَّل كل قائمة من العناصر الشائعة للنموذج (الشعبية المدرَّبة، وإلا الرائج خلال 7 أيام، وإلا أحدث المنتجات)، فلا تبقى خانة فارغة ما دام في المتجر منتجات.
لكل مستلم ميزانية زمنية (1.5 ثانية افتراضيًا). الخانة التي لا تُحل في الوقت تحصل على العناصر الشائعة للنموذج، فلا يتعطل الإرسال أبدًا. القوائم التي لا تعتمد على المستلم - العناصر المرتبطة بمنتج، والأكثر مبيعًا في فئة، والوافدة حديثًا - تُحسب مرة واحدة لكل إرسال حملة وتُعاد لكل مستلم.
كيف يتعلم
يمر التدريب (ليليًا للإعدادات المفعلة أو عبر درّب الآن) بمرحلتين على تدفق الأحداث: شعبية مرجحة لكل عنصر، وتقارب عنصر إلى عنصر - العناصر التي يتفاعل معها العملاء أنفسهم معًا، مع تطبيع يمنع الأزواج المتخصصة من الغرق أمام الأكثر مبيعًا. تدرّب نماذج شوهدت معًا التقارب نفسه على مشاهدات المنتجات فقط.
التعلم من النتائج (مصنف v2)
عندما يملك نموذج نتائج عرض حقيقية (عُرضت التوصيات ← اشتُريت العناصر)، يتدرب مصنف مرحلة ثانية عليها ليليًا ويبدأ بإعادة ترتيب مرشحي كل مستلم حسب احتمال التحويل المتعلم - «عندما نعرض X لعملاء كهؤلاء، يشترونه». يتضمن خانة استكشاف كي تحصل العناصر الجديدة على فرصة عادلة لجمع البيانات. يُفعّل المصنف لكل نموذج فقط بعد وجود نتائج كافية؛ وحتى ذلك الحين (وعند عدم الوصول إليه) يُستخدم ترتيب المحرك القياسي، فلا ينكسر شيء. تحمل الإرسالات علامة تميز الترتيب المصنف من القياسي، ليبقى أداؤهما قابلًا للمقارنة.
إلى جانب نتائج الماضي، يزن المرتّب مدى ملاءمة كل منتج للمستلم: سعره مقارنة بما ينفقه عادة (قيمة الطلب وسعر المنتج)، وهل هو ضمن فئاته أو علاماته التجارية الأعلى (من طلباته)، وهل هو مخفّض لشخص يميل إلى الشراء في التخفيضات، وهل يُباع هذا الأسبوع أسرع من المعتاد. تؤخذ هذه القيم كما كانت لحظة تقديم التوصية، فلا يتعلم المرتّب أبدًا مما حدث بعدها؛ والتوصيات المقدَّمة قبل وجود ذلك تُحسب محايدة. يبدأ النموذج باستخدامها في تدريبه الليلي التالي.
أين تعمل التوصيات
تعمل التوصيات في كل قناة، في الحملات والرحلات:
| القناة | الطريقة |
|---|---|
كتلة المنتج: المصدر: موصى به، واختيار النموذج والعدد، مع حقل Product id اختياري للأنواع المرتكزة على منتج. تعمل أيضًا حلقات Liquid على recommendations في الحملات والرحلات؛ والكتلة والحلقة اللتان تستخدمان النموذج نفسه تعرضان العناصر نفسها | |
| SMS وWhatsApp وViber | متغير Liquid {{ recommendations.<slot> }} في النص (في WhatsApp: نص الجلسة / الرد وقيم متغيرات القالب) |
| الإشعارات الفورية | {{ recommendations.<slot> }} في العنوان والنص والصورة والرابط |
| داخل التطبيق | بطاقات المنتجات في رسائل HTML، أو Liquid في عنوان / نص / صورة الرسائل الأصلية (native) |
| صفحات الهبوط | بطاقات المنتجات أو Liquid |
خانات Liquid
الخانة (slot) هي اسم النموذج محوّلًا إلى مفتاح: أحرف صغيرة، وتتحول المسافات وعلامات الترقيم إلى _ ("For you" ← for_you، و"Bestsellers" ← bestsellers). يعني recommendations.default دائمًا النموذج الافتراضي لمساحة العمل. النموذج الذي لا يحتوي اسمه على أحرف لاتينية (مثل اسم بالعربية أو العبرية) يحصل على الخانة model_<أول 8 أحرف من معرّفه> - تعرض صفحة الإعدادات ومنتقي التخصيص خانة كل نموذج. تُعرض الخانة غير المعروفة كقائمة فارغة.
لكل عنصر:
| الحقل | المعنى |
|---|---|
name (وأيضًا title) | اسم المنتج |
price | منسق مع العملة، مثل $19.90 |
compareAtPrice وdiscountPercent | عندما يكون المنتج مخفّضًا |
url | رابط المنتج |
image (وأيضًا imageUrl) | صورة المنتج |
description | وصف المنتج |
id | معرّف المنتج |
تحمل الخانة حتى 4 عناصر افتراضيًا (حتى 12 عبر data-jr-count في البطاقة).
تُتتبع النقرات على روابط العناصر مثل أي رابط في الرسالة: تُضاف معاملات UTM ومعرّفات Joryio عند إعادة توجيه النقرة، وتُختصر روابط SMS / WhatsApp / Viber (مع احترام مفتاح Shorten & track links لكل رسالة).
نص SMS / WhatsApp / Viber:
{% for item in recommendations.for_you limit: 3 %}
{{ item.name }} - {{ item.price }} {{ item.url }}
{% endfor %}
الإشعارات الفورية:
Title: {{ recommendations.for_you.first.name }}
Body: Now {{ recommendations.for_you.first.price }}
Image: {{ recommendations.for_you.first.image }}
Link: {{ recommendations.for_you.first.url }}
تحمل رسائل WhatsApp نصًا ورابطًا فقط - رسائل الكتالوج / المنتج ميزة منفصلة غير متاحة بعد.
الرسائل الأصلية داخل التطبيق: Liquid في العنوان والنص والصورة، مثل الصورة {{ recommendations.for_you.first.image }}.
بطاقات المنتجات
في رسائل HTML داخل التطبيق وفي صفحات الهبوط، يتحول هذا العنصر إلى صف من بطاقات المنتجات (صورة، واسم، وسعر، وسعر مقارنة مشطوب عند وجود خصم، ورابط):
<div data-jr-recommendations="for_you" data-jr-count="4" data-jr-button-label="Shop now"></div>
تعمل حلقات Liquid هناك أيضًا.
في صفحات الهبوط، تعمل بطاقات المنتجات في كل صفحة منشورة: يرى الزوار المجهولون القائمة غير الشخصية للنموذج (تُحدَّث كل بضع دقائق)، ويحصل الزائر المعروف على قائمته الخاصة. يعمل شكل Liquid في الصفحات المخصصة.
المعاينات وإرسالات الاختبار
تعرض معاينات المحرر وإرسالات الاختبار في كل قناة عناصر حقيقية: لجهة اتصال الاختبار حين يُرسل الاختبار إلى إحداها، وإلا فقائمة النموذج لشخص بلا سجل. وتستخدم البديل وقائمة الحظر والاختيار نفسها التي يستخدمها الإرسال الحقيقي. لا يُحتسب إرسال الاختبار أبدًا توصيةً مقدَّمة في التحليلات أدناه.
غير مدعوم بعد
- في رسائل داخل التطبيق ضمن الرحلات، لا تستخدم الأنواع Similar items وBought together وViewed together المنتج الذي أطلق الرحلة - بل تستخدم المنتج الثابت للنموذج، وإلا فآخر منتج شاهده المستلم.
تحليلات الأداء
عند خروج توصيات النموذج في إرسالات حقيقية، تعرض صفحته آخر 30 يومًا: عدد التوصيات المعروضة، وعدد المستلمين، ونسبة من نقروا الرسالة الحاملة، ونسبة من اشتروا عنصرًا موصى به خلال 7 أيام من تلقيه (يُنسب ذلك عبر حدث المنصة recommendation.served). يُسجَّل recommendation.served لإرسالات Email وSMS والإشعارات الفورية وWhatsApp وViber (وليس داخل التطبيق)، فتحتسب اللوحة كل هذه القنوات.
كيف تُعرض
عند الإرسال، يصوّت نشاط كل مستلم الحديث لعناصر مرتبطة؛ ويحصل العملاء بلا سجل على العناصر الشائعة للنموذج. أعدوا النماذج تحت الإعدادات ← التوصيات، ثم استخدموها عبر كتلة المنتج في Email (المصدر: موصى به مع عدد عناصر) أو عبر متغير Liquid recommendations في أي قناة أخرى.