يوضّح هذا الدليل المتطلبات واقتراحات وضع نماذج البيانات وأفضل الممارسات المتعلّقة بتنفيذ بطاقات الهدايا (المعروفة أيضًا باسم القسائم) في خلاصة العروض. تكمّل هذه الاقتراحات مستندات "مركز الإجراءات" العادية وتتناول جوانب الدمج الخاصة ببطاقات الهدايا.
وضع العرض الترويجي وتصنيفه
عند إرسال مستودع بطاقات الهدايا، تأكَّد من إعداد السمات الأساسية التالية بشكل صحيح:
وضع العرض: يجب دائمًا ضبط
offer_modesكصفيف سينغلتون يحتوي على"OFFER_MODE_GIFT_CARD_PURCHASE":"offer_modes": ["OFFER_MODE_GIFT_CARD_PURCHASE"]قسائم القيمة المخزّنة في مقابل الخصومات الفورية في المتجر:
gift_card_infoمخصّص حصريًا لقسائم القيمة المخزّنة وبطاقات الهدايا التي تم شراؤها مسبقًا (OFFER_MODE_GIFT_CARD_PURCHASE).- إذا دفع العميل مباشرةً عند صندوق الدفع في المتجر للاستفادة من خصم فوري بدون شراء قسيمة للاستفادة منها أو تحصيل قيمتها لاحقًا، يجب تصميم العرض الترويجي كخصم عادي في المتجر (
OFFER_MODE_WALK_IN) وحذف الرسالةgift_card_infoبالكامل.
نموذج القيمة الاسمية: يجب أن تمثّل القيمة الاسمية لبطاقة الهدايا قيمة القسيمة (أي ما يمكن تحصيله مقابلها)، وليس ما يدفعه المستخدم (يدفع المستخدم السعر المخفَّض).
دمج فئات متعددة: يجب تجميع القسائم المتعددة التي تتشارك النسبة المئوية نفسها للخصم والشروط نفسها، ولكنها تختلف في القيمة الاسمية، في إدخال عرض واحد. بما أنّ
denomination_typeتعمل كـoneof، على الشركاء الاختيار بين ضبطfixed_denominationsأوcustom_range:- الفئات الثابتة: استخدِم هذا الخيار عندما يتم تقديم مبالغ منفصلة ومحدّدة مسبقًا لبطاقات الهدايا (مثل 500 و1,000 و2,000 روبية هندية، وكلها مع خصم ثابت بنسبة% 10). تأكَّد من استبعاد أي فئات ثابتة غير متوفّرة أو غير متاحة في الصفحة المقصودة بشكل صريح من عمليات إرسال الخلاصات.
- النطاق المخصّص: يجب استخدام هذا الخيار فقط عندما يكون بإمكان المستخدمين إدخال أي قيمة اسمية عشوائية ضمن حدود محدّدة في صفحة الشراء (مثل أي قيمة بين 100 و5,000 روبية هندية مع خصم بنسبة% 5). إذا كانت الصفحة المقصودة في الوجهة تقدّم مبالغ منفصلة ومحدّدة مسبقًا، يجب تصميم نموذج للمستودع الإعلاني ضمن
fixed_denominations. بالإضافة إلى ذلك، إذا كانت كل من الفئات الثابتة والفئات المخصّصة متوفّرة للعرض، على الشركاء ضبط النطاق المخصّص المرن.
التعامل مع السلاسل التي تضمّ مواقع جغرافية متعددة
بالنسبة إلى قسائم الهدايا التي تنطبق على سلاسل كبيرة من متاجر البيع بالتجزئة أو المطاعم حيث تكون الشروط متطابقة في جميع نقاط الاهتمام المتعددة، لا تقدّم عنصر Offer منفصلاً لكل موقع جغرافي للمتجر. بدلاً من ذلك، استخدِم طريقة تغذية مجمّعة من خلال توفير كائن Offer واحد يحتوي على قائمة بجميع معرّفات كيانات المتاجر المشارِكة (entity_ids).
الهوية البصرية للبوابة (brand_id)
يتم تقديم بعض القسائم من خلال بوابات مصرفية أو بوابات ولاء محددة (مثل برامج الولاء المصرفية أو منصات الشركاء) بدلاً من الموقع الإلكتروني الرئيسي للتاجر. لضمان دقة عرض العلامة التجارية لهذه البوابات، على الشركاء ملء الحقل brand_id في عناصر العرض على المستوى الأعلى.
في حين أنّ حذف brand_id يؤدي تلقائيًا إلى استخدام العلامة التجارية الأساسية للحساب (ولا يكون brand_id مطلوبًا عند استخدام العلامة التجارية التلقائية للحساب)، فإنّ ملء brand_id بشكل صريح يربط المستودع الإعلاني بالبوابة التي تحمل العلامة التجارية المقابلة، ما يضمن عرض الشعارات والأسماء الصحيحة الخاصة بالشريك للمستخدمين. يمكنك الاطّلاع على المزيد من التعليمات حول ضبط العلامات التجارية في مقالة ضبط العلامات التجارية.
بنية الصلاحية (ValidityScope)
تتضمّن بطاقات الهدايا بنية صلاحية فريدة تميّز الإطار الزمني لشراء الصفقة عن مدة تحصيل قيمة البطاقة. على الشركاء دائمًا استخدام قيم التعداد ValidityScope ذات الصلة:
-
VALIDITY_SCOPE_CLAIM: تحدّد هذه السمة الإطار الزمني الذي يمكن خلاله شراء بطاقة الهدايا على منصة الشريك. يجب أن يكون هذا الإدخال متوفّرًا دائمًا. عند إرسال خلاصات، املأ فترة صلاحية المطالبة بدءًا من تاريخ إرسال الخلاصة المحدّد. علاوةً على ذلك، لا تترك فترات المطالبة مفتوحة النهاية إذا كانت الصفحة المقصودة تعلن صراحةً عن تاريخ انتهاء الحملة، بل يجب أن تطابقvalid_through_timeتاريخ انتهاء الصلاحية المُعلن عنه. -
VALIDITY_SCOPE_REDEEM: تحدّد مدة الاستفادة من العرض الترويجي بعد الشراء (الإطار الزمني الذي يمكن للمستخدمين الاستفادة من القسيمة في المتجر بعد شرائها، ويمكن تحديدها كمدة أو إطار زمني).
ربط أنواع الإجراءات
يصنّف الشركاء غالبًا القسائم باستخدام بنى مثل "قابلة للاسترداد على الإنترنت أو بدون إنترنت" أو "على الإنترنت أو في المتجر" أو "في المتجر". في عمليات إرسال الخلاصة، يجب ربط هذه السمة بقائمة التعداد ActionType لتحديد طريقة استهلاك المنتج بدقة:
- فئة المطاعم / الطعام: ربط بطاقات الهدايا الخاصة بخيار "الجلوس في المطعم" بـ
ACTION_TYPE_DININGربط بطاقات الهدايا التي تحمل الحالة "تم التسليم" بـACTION_TYPE_FOOD_DELIVERYربط بطاقات الهدايا في "Takeout" بـACTION_TYPE_FOOD_TAKEOUT - قطاع التجزئة في التسوّق: اربط بطاقات الهدايا "داخل المتجر" بـ
ACTION_TYPE_SHOPPING_IN_STORE. (ملاحظة: لا يمكن استخدام قسائم البيع بالتجزئة على الإنترنت فقط). - ربط قناة واحدة: يمكن أن ينتمي كل
offer_idإلىActionTypeواحد فقط. إذا كان أحد عناصر المستودع يتيح قنوات تنفيذ متعدّدة (مثل توصيل الطعام واستلامه)، أنشئ عناصر Offer مميّزة تتضمّن معرّفات فريدة لكل وضع.
الخصومات المتعدّدة المستويات والعروض الإضافية
- خصومات متدرّجة حسب طريقة الدفع: إذا تم تقديم نسب خصم مختلفة استنادًا إلى أداة الدفع المحدّدة المستخدَمة (مثل خصم أعلى عند استخدام محفظة إلكترونية مقارنةً ببطاقات الائتمان)، يجب عرض هذه الخصومات كعناصر Offer منفصلة. على الشركاء توفير تغطية ترويجية شاملة لجميع أدوات الدفع المتوافقة (مثل المحافظ الإلكترونية وبطاقات الائتمان وبطاقات السحب الآلي والخدمات المصرفية على الإنترنت) لضمان تجربة توفير موثوقة. إذا كان العرض الترويجي ينطبق على جميع طرق الدفع المقبولة على المنصة، يجب عدم ضبط حقل وسيلة الدفع.
- بنية عروض إضافية: لتمثيل المزايا المجمّعة، مثل نقاط المكافآت الخاصة بالمصرف أو استرداد جزء من المال الإضافي الذي ينطبق على عملية شراء بطاقة هدايا، أرسِلها كعروض إضافية منفصلة تمامًا باستخدام قيمة التعداد
OfferCategoryالمناسبة -OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER. صف المكافأة داخلOfferDetails.other_offer_details_text(مثلاً، "ما يصل إلى 5 أضعاف نقاط المكافأة")، واربطها بصفقة بطاقة الهدايا الأساسية من خلال تعبئةOfferRestrictions.combinable_offer_idsبـoffer_idالخاصة ببطاقة الهدايا الأساسية.
الأحكام والشروط الخاصة
على الشركاء الاعتماد على terms.terms_and_conditions لتوفير نص قانوني كامل يتضمّن الأحكام والشروط الخاصة ببطاقة الهدايا أو قسيمة الشراء. يجب دمج جميع التعليمات وإرشادات الاستخدام المخصّصة للمستخدمين في هذا الحقل.
إذا كانت هناك قيود مهمة تتطلّب إبرازها في واجهة المستخدم (مثل انتهاء صلاحية الرصيد المتاح للاستخدام مرة واحدة أو عدم إمكانية استرداد الأموال أو حدود الجمع بين المعاملات، مثل "يمكن الجمع بين قسيمتَين كحد أقصى لكل فاتورة")، يجب إبرازها في offer_restrictions.special_conditions.
اقتراحات لعناوين العروض
يجب ألا يزيد طول عنوان العرض الترويجي عن 40 حرفًا. إزالة أسماء العلامات التجارية الخاصة بالتجّار من offer_display_text، لأنّ العروض تظهر مباشرةً في ورقة المكان المخصّصة للتاجر. ننصحك باستخدام تنسيقات العناوين التالية:
| حالة الاستخدام | العنوان المقترَح |
|---|---|
| خصم ثابت على القسائم | X% off on Gift Cards |
| خصم متغيّر استنادًا إلى طريقة الدفع | X% off on Gift Cards using {e-wallet}
|
| خصومات متغيرة على فئات مختلفة | X% off on Gift Cards (إرسال خصومات مختلفة كعروض منفصلة) |
| بطاقات الهدايا من الشركات إلى الشركات إلى المستهلكين | X% off on Gift Cards (يتم عرض العلامة التجارية من خلال الصورة المصغّرة باستخدام
brand_id) |
| عروض إضافية | Flat/Up to 5X reward points/
<Platform> coins |
متطلبات الصفحة المقصودة
يجب أن يعرض كل offer_url مُعلن عنه الرمز HTTP 200 OK مباشرةً بدون عمليات إعادة توجيه وسيطة، وأن يؤدي إلى صفحة وجهة نشطة تثبت صحة العرض.
يجب ألا تتضمّن الخلاصة فئات نفدت من المخزون أو غير متاحة. يجب الحفاظ على مزامنة دقيقة للمستودع بين حقول الفئات في الخلاصة وخيارات الشراء المباشر على الصفحة المقصودة.
يجب أن تشير الصفحة المقصودة بوضوح إلى أنّ العرض الترويجي ينطبق تحديدًا على بطاقات الهدايا أو قسائم الشراء.
على سبيل المثال، إذا كانت الصفحة المقصودة لأحد الشركاء تعرض فقط عبارات عامة تحث على اتخاذ إجراءات متعلقة بالدفع، مثل "دفع الفاتورة"، بدون الإشارة بوضوح مسبقًا إلى أنّ إكمال المعاملة يؤدي إلى إصدار قسيمة بطاقة هدايا ذات قيمة مخزّنة، قد يشعر المستخدمون الذين تمّت إعادة توجيههم من Google ويتوقّعون شراء بطاقة هدايا بالارتباك أو قد يتخلّون عن العملية. حتى إذا ظهر إشعار القسيمة في خطوة لاحقة من خطوات الدفع، يجب توفير معلومات واضحة مسبقًا على الصفحة المقصودة الأولية.
العروض التي تتضمّن رموز قسائم
تتطلّب بعض العروض أن يدخل المستخدم رمز قسيمة، مثل "تطبيق الرمز SAVE20 للحصول على خصم% 20 على إجمالي الفاتورة". يُرجى العلم أنّ محرّك بحث Google لا يعرض رموز القسائم من تعريف القسيمة. يمكن للشركاء تضمين هذه المعلومات ضمن OfferDetails.offer_display_text لعرضها للمستخدمين. تندرج العروض المستندة إلى قسائم بشكل عام ضمن فئتَين:
- العروض التي يتم فيها تقديم القسيمة تلقائيًا عند الدفع لأي مستخدم يصل من Google. ويُسمح باستخدامها.
- لا يُسمح بالعروض التي تتطلّب من المستخدم إدخال رمز القسيمة عند الدفع ولكنّها لا تقدّم تعليمات حول كيفية تطبيق رمز القسيمة على الصفحة المقصودة لعنوان URL الخاص بالعرض، أو لا تطبّق القسيمة تلقائيًا عند اتّباع عنوان URL الخاص بالعرض.
مثال على ملف JSON لعرض بطاقة هدايا
{
"data": [
{
"offer_id": "example-dining-gift-card-10off",
"entity_ids": [
"dining-1",
"dining-2"
],
"offer_modes": [
"OFFER_MODE_GIFT_CARD_PURCHASE"
],
"action_type": "ACTION_TYPE_DINING",
"offer_source": "OFFER_SOURCE_AGGREGATOR",
"offer_category": "OFFER_CATEGORY_BASE_OFFER",
"offer_details": {
"offer_display_text": "10% off on Gift Cards",
"discount_percent": 10.0,
"gift_card_info": {
"fixed_denominations": {
"amounts": [
{
"units": 500,
"currency_code": "INR"
},
{
"units": 1000,
"currency_code": "INR"
},
{
"units": 2000,
"currency_code": "INR"
}
]
}
}
},
"offer_restrictions": {
"combinable_with_other_offers": false,
"special_conditions": [
"Single-use balance expiration applies",
"Maximum 2 gift card vouchers can be combined per bill",
"No cash refund will be provided against this voucher"
]
},
"terms": {
"restricted_to_certain_users": false,
"terms_and_conditions": "1. Redeemable exclusively at participating dining outlets.\n2. Single-use balance expiration applies.\n3. Maximum 2 gift card vouchers can be combined per bill.\n4. No cash refund will be provided against this voucher."
},
"validity_periods": [
{
"valid_period": {
"valid_from_time": {
"seconds": "1774934350"
},
"valid_through_time": {
"seconds": "1806470350"
}
},
"validity_scope": "VALIDITY_SCOPE_CLAIM"
},
{
"validity_duration_in_days": 365,
"validity_scope": "VALIDITY_SCOPE_REDEEM"
}
],
"offer_url": "https://www.example-portal.com/dining-gift-cards/buy"
}
]
}