उपहार कार्ड (वाउचर भी कहा जाता है)

इस गाइड में, ऑफ़र फ़ीड में उपहार कार्ड (इसे वाउचर भी कहा जाता है) लागू करने से जुड़ी ज़रूरी शर्तों, डेटा मॉडलिंग के सुझावों, और सबसे सही तरीकों के बारे में बताया गया है. ये सुझाव, Actions Center के स्टैंडर्ड दस्तावेज़ के साथ-साथ, उपहार कार्ड से जुड़े इंटिग्रेशन के पहलुओं के बारे में भी बताते हैं.

ऑफ़र मोड और कैटगरी

उपहार कार्ड की इन्वेंट्री सबमिट करते समय, पक्का करें कि ये मुख्य एट्रिब्यूट सही तरीके से कॉन्फ़िगर किए गए हों:

  • ऑफ़र मोड: 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% की छूट. पक्का करें कि लैंडिंग पेज पर, तय किए गए ऐसे सभी डिनॉमिनेशन को फ़ीड सबमिट करने से साफ़ तौर पर बाहर रखा गया हो जो बिक चुके हैं या उपलब्ध नहीं हैं.
    • कस्टम रेंज: इसका इस्तेमाल सिर्फ़ तब करें, जब खरीदार, खरीदारी वाले पेज पर तय की गई सीमा के अंदर कोई भी वैल्यू डाल सकते हों. उदाहरण के लिए, 5% की छूट के साथ 100 से 5,000 रुपये के बीच की कोई भी वैल्यू. अगर डेस्टिनेशन लैंडिंग पेज पर अलग-अलग, पहले से तय की गई रकम के ऑफ़र उपलब्ध हैं, तो इन्वेंट्री को fixed_denominations एट्रिब्यूट की वैल्यू के तौर पर ही मॉडल करें. इसके अलावा, अगर किसी ऑफ़र के लिए तय किए गए डिनॉमिनेशन और कस्टम डिनॉमिनेशन, दोनों उपलब्ध हैं, तो पार्टनर को कस्टम रेंज सेट करनी चाहिए.

ऐसी सुविधाएं जो काम नहीं करतीं: कम से कम खरीदारी / बिल का कम से कम थ्रेशोल्ड (min_spend_value)

कम से कम बिल वाले वाउचर इस्तेमाल क्यों नहीं किए जा सकते

ऐसे ऑफ़र जिनमें सेव किए गए वैल्यू वाउचर को रिडीम करने के लिए, कम से कम लेन-देन की रकम की ज़रूरत होती है (उदाहरण के लिए: "₹150 में ₹800 का वाउचर खरीदें. इसे सिर्फ़ ₹5,000 या उससे ज़्यादा के बिल पर रिडीम किया जा सकता है"). ये ऑफ़र, इन वजहों से Actions Center के ऑफ़र इंटिग्रेशन के मौजूदा दायरे से बाहर हैं:

  1. उपयोगकर्ताओं को गुमराह करने वाला और मुश्किल अनुभव: वाउचर खरीदने के लिए चुकाई गई कीमत को चेकआउट के लिए तय की गई कम से कम कीमत के साथ मिलाकर, छूट की प्रतिशतता (discount_percent) का हिसाब लगाया जाता है. इससे, असली उपयोगकर्ताओं को गुमराह करने वाले और मुश्किल तरीके से बचत के दावे दिखाए जाते हैं.
  2. फ़ीड का स्ट्रक्चर काम नहीं करता: स्टैंडर्ड गिफ्ट कार्ड फ़ीड में यह माना जाता है कि फ़ेस वैल्यू (fixed_denominations या custom_range) का इस्तेमाल, किसी भी स्टोर से खरीदारी के लिए किया जा सकता है. इसके लिए, बिलिंग से जुड़ी कोई शर्त लागू नहीं होती.
  3. इंडस्ट्री में कम वॉल्यूम: शर्तों के साथ कम से कम बिल वाले वाउचर के ये ऑफ़र, कम वॉल्यूम को दिखाते हैं. साथ ही, इन्हें खास तरीके से हैंडल करने की ज़रूरत होती है. यह तरीका, स्टोर की गई वैल्यू वाले स्टैंडर्ड उपहार कार्ड से अलग होता है.

पार्टनर के लिए ज़रूरी कार्रवाई

अगर आपकी इन्वेंट्री में, शर्तों के साथ कम से कम बिल वाले वाउचर प्रमोशन शामिल हैं, तो:

  • फ़ीड से हटाएं: शर्त के साथ कम से कम बिल वाले उपहार वाउचर सबमिट न करें. इसके लिए, OFFER_MODE_GIFT_CARD_PURCHASE का इस्तेमाल करें. इसके अलावा, OFFER_MODE_WALK_IN में सबमिट करके, इस शर्त को बायपास करने की कोशिश न करें. इन खास प्रमोशन को अपने फ़ीड एक्सपोर्ट से पूरी तरह से हटाएं.
  • सुविधा को फिर से चालू करने का अनुरोध: अगर आपको लगता है कि शर्तों के साथ मिलने वाले ये वाउचर, कारोबार के लिए बहुत अहम हैं, तो Google के पॉइंट ऑफ़ कॉन्टैक्ट (पीओसी) के साथ डेटा शेयर करें. इस डेटा में, कारोबारी या कंपनी के कवरेज, लेन-देन के कन्वर्ज़न रेट, और कुल वॉल्यूम पर पड़ने वाले असर के बारे में जानकारी दें. हमारी इंजीनियरिंग टीम, इन मेट्रिक की समीक्षा कर सकती है, ताकि आने वाले समय में सहायता दी जा सके. हालांकि, ध्यान दें कि डेटा उपलब्ध कराने से यह गारंटी नहीं मिलती कि इस सुविधा को प्राथमिकता दी जाएगी या सहायता दी जाएगी.

एक से ज़्यादा जगहों पर मौजूद चेन स्टोर मैनेज करना

अगर आपको ऐसे उपहार वाउचर के लिए ऑफ़र ऑब्जेक्ट बनाना है जो बड़े खुदरा स्टोर या रेस्टोरेंट चेन में इस्तेमाल किए जा सकते हैं और जिनके नियम, कई दिलचस्पी की जगहों (पीओआई) के लिए एक जैसे हैं, तो हर स्टोर की जगह के लिए अलग-अलग ऑफ़र ऑब्जेक्ट बनाएं. इसके बजाय, एग्रीगेटेड फ़ीडिंग का तरीका इस्तेमाल करें. इसके लिए, एक ऐसा ऑफ़र ऑब्जेक्ट दें जिसमें हिस्सा लेने वाले सभी स्टोर के आईडी (entity_ids) की सूची शामिल हो.

पोर्टल की ब्रैंडिंग (brand_id)

कुछ वाउचर, कारोबारी या कंपनी की मुख्य साइट के बजाय, किसी बैंक या लॉयल्टी पोर्टल (जैसे, बैंक के लॉयल्टी प्रोग्राम या पार्टनर प्लैटफ़ॉर्म) के ज़रिए दिए जाते हैं. इन पोर्टल के लिए सटीक ब्रैंडिंग पक्का करने के लिए, पार्टनर को टॉप-लेवल के ऑफ़र ऑब्जेक्ट पर brand_id फ़ील्ड की जानकारी भरनी होगी.

brand_id एट्रिब्यूट की वैल्यू न देने पर, खाते के मुख्य ब्रैंड की जानकारी डिफ़ॉल्ट रूप से शामिल हो जाती है. साथ ही, खाते के डिफ़ॉल्ट ब्रैंड का इस्तेमाल करते समय brand_id एट्रिब्यूट की वैल्यू देने की ज़रूरत नहीं होती. हालांकि, brand_id एट्रिब्यूट की वैल्यू देने से, इन्वेंट्री को ब्रैंडेड पोर्टल से सही तरीके से जोड़ा जा सकता है. इससे यह पक्का किया जा सकता है कि खरीदारों को पार्टनर के हिसाब से सही लोगो और नाम दिखें. ब्रैंड कॉन्फ़िगर करने के बारे में ज़्यादा जानकारी के लिए, ब्रैंड कॉन्फ़िगरेशन लेख पढ़ें.

मान्य होने की अवधि का स्ट्रक्चर (ValidityScope)

उपहार कार्ड की वैधता की एक खास संरचना होती है. इसमें, ऑफ़र खरीदने की समयावधि और कार्ड रिडीम करने की समयावधि अलग-अलग होती है. पार्टनर को हमेशा ValidityScope एनम वैल्यू का इस्तेमाल करना चाहिए:

  • VALIDITY_SCOPE_CLAIM: इससे यह तय होता है कि पार्टनर प्लैटफ़ॉर्म पर उपहार कार्ड खरीदने की सुविधा कब तक उपलब्ध रहेगी. यह एंट्री हमेशा मौजूद होनी चाहिए. फ़ीड सबमिट करते समय, दावा मान्य होने की अवधि की जानकारी भरें. यह अवधि, फ़ीड सबमिट करने की तारीख से शुरू होनी चाहिए. इसके अलावा, अगर लैंडिंग पेज पर कैंपेन के खत्म होने की तारीख साफ़ तौर पर बताई गई है, तो दावा करने की अवधि को कभी भी अनिश्चित काल के लिए खुला न छोड़ें. valid_through_time एट्रिब्यूट की वैल्यू को, विज्ञापन में बताई गई खत्म होने की तारीख से मिलाएं.
  • VALIDITY_SCOPE_REDEEM: इससे खरीदारी के बाद वाउचर रिडीम करने की अवधि तय होती है. यह वह समयावधि होती है जिसमें लोगों को वाउचर खरीदने के बाद, उसे स्टोर में जाकर रिडीम करना होता है. इसे अवधि या समयावधि के तौर पर तय किया जा सकता है.

कार्रवाई के टाइप की मैपिंग

पार्टनर अक्सर वाउचर को "ऑनलाइन/ऑफ़लाइन रिडीम किए जा सकते हैं", "ऑनलाइन/आउटलेट" या "स्टोर में" जैसे कंस्ट्रक्ट का इस्तेमाल करके कैटगरी में बांटते हैं. फ़ीड सबमिट करते समय, इसे ActionType enum पर मैप किया जाना चाहिए, ताकि यह सटीक तरीके से तय किया जा सके कि प्रॉडक्ट का इस्तेमाल कैसे किया जाता है:

  • डाइनिंग / फ़ूड वर्टिकल: "डाइन-इन" उपहार कार्ड को ACTION_TYPE_DINING पर मैप करें. "Delivery" उपहार कार्ड को ACTION_TYPE_FOOD_DELIVERY पर मैप करें. "Takeout" उपहार कार्ड को ACTION_TYPE_FOOD_TAKEOUT पर मैप करें.
  • शॉपिंग रीटेल वर्टिकल: "स्टोर में जाकर खरीदे जाने वाले" उपहार कार्ड को ACTION_TYPE_SHOPPING_IN_STORE पर मैप करें. (ध्यान दें: सिर्फ़ ऑनलाइन इस्तेमाल किए जाने वाले खुदरा वाउचर इस्तेमाल नहीं किए जा सकते).
  • सिंगल चैनल मैपिंग: हर offer_id सिर्फ़ एक ActionType से जुड़ा हो सकता है. अगर इन्वेंट्री आइटम के लिए, फ़ुलफ़िलमेंट के एक से ज़्यादा चैनल उपलब्ध हैं (जैसे, खाना डिलीवर करने और पिकअप करने की सुविधा), तो हर मोड के लिए अलग-अलग आईडी वाले Offer ऑब्जेक्ट बनाएं.

अलग-अलग लेवल पर मिलने वाली छूट और ऐड-ऑन ऑफ़र

  • पेमेंट के अलग-अलग तरीकों के लिए, अलग-अलग छूट: अगर इस्तेमाल किए गए पेमेंट के तरीके के आधार पर, छूट के अलग-अलग प्रतिशत दिए जाते हैं (जैसे, क्रेडिट कार्ड की तुलना में ई-वॉलेट के लिए ज़्यादा छूट), तो इन्हें अलग-अलग ऑफ़र ऑब्जेक्ट के तौर पर मॉडल किया जाना चाहिए. पार्टनर को, पेमेंट के सभी तरीकों (जैसे, ई-वॉलेट, क्रेडिट कार्ड, डेबिट कार्ड, नेट बैंकिंग) पर प्रमोशन की पूरी जानकारी देनी चाहिए. इससे लोगों को भरोसेमंद तरीके से बचत करने का मौका मिलेगा. अगर कोई ऑफ़र, प्लैटफ़ॉर्म पर स्वीकार किए गए पेमेंट के सभी तरीकों पर लागू होता है, तो पेमेंट इंस्ट्रूमेंट फ़ील्ड को सेट नहीं किया जाना चाहिए.
  • ऐड-ऑन ऑफ़र का स्ट्रक्चर: एक साथ कई फ़ायदे दिखाने के लिए, जैसे कि किसी बैंक के खास रिवॉर्ड पॉइंट या उपहार कार्ड की खरीदारी पर मिलने वाला अतिरिक्त कैशबैक, उन्हें पूरी तरह से अलग ऐड-ऑन ऑफ़र के तौर पर सबमिट करें. इसके लिए, सही OfferCategory enum - OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER का इस्तेमाल करें. OfferDetails.other_offer_details_text में इनाम के बारे में बताएं. उदाहरण के लिए, "पांच गुना तक इनाम पॉइंट". साथ ही, इसे उपहार कार्ड के मूल ऑफ़र से लिंक करें. इसके लिए, 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 (अलग-अलग ऑफ़र के तौर पर अलग-अलग छूट भेजें)
B2B2C उपहार कार्ड X% off on Gift Cards (ब्रैंडिंग को थंबनेल के ज़रिए दिखाया जाता है. इसके लिए, brand_id एट्रिब्यूट का इस्तेमाल किया जाता है)
ऐड-ऑन ऑफ़र Flat/Up to 5X reward points/ <Platform> coins

लैंडिंग पेज से जुड़ी ज़रूरी शर्त

विज्ञापन में दिखाए गए हर offer_url से, सीधे तौर पर एचटीटीपी 200 OK कोड मिलना चाहिए. साथ ही, यह किसी ऐसे डेस्टिनेशन पेज पर रीडायरेक्ट होना चाहिए जो चालू हो और जिस पर ऑफ़र की पुष्टि की जा सके.

फ़ीड में, बिक चुके या अनुपलब्ध डिनॉमिनेशन शामिल नहीं होने चाहिए. फ़ीड में दिए गए डेनोमिनेशन फ़ील्ड और डेस्टिनेशन लैंडिंग पेज पर खरीदारी के लिए उपलब्ध विकल्पों के बीच इन्वेंट्री को पूरी तरह से सिंक करें.

डेस्टिनेशन लैंडिंग पेज पर यह साफ़ तौर पर बताया जाना चाहिए कि यह ऑफ़र सिर्फ़ उपहार कार्ड या वाउचर पर लागू होता है.

उदाहरण के लिए, अगर पार्टनर के लैंडिंग पेज पर सिर्फ़ "बिल चुकाएं" जैसे सामान्य पेमेंट कॉल-टू-ऐक्शन दिखते हैं और यह साफ़ तौर पर नहीं बताया जाता कि लेन-देन पूरा करने पर, सेव किए गए वैल्यू वाले उपहार कार्ड का वाउचर जारी किया जाता है, तो Google से रीडायरेक्ट किए गए उन लोगों को भ्रम हो सकता है जो उपहार कार्ड खरीदना चाहते हैं. वे खरीदारी बीच में ही छोड़ सकते हैं. अगर वाउचर की सूचना चेकआउट के बाद के चरण में दिखती है, तो भी शुरुआती लैंडिंग पेज पर इसकी जानकारी साफ़ तौर पर दिखनी चाहिए.

कूपन कोड वाले ऑफ़र

कुछ ऑफ़र के लिए, उपयोगकर्ता को कूपन कोड डालना होता है. जैसे, "कुल बिल पर 20% की छूट पाने के लिए, SAVE20 कोड लागू करें". ध्यान दें कि Google, coupon की परिभाषा में दिए गए कूपन कोड नहीं दिखाता. पार्टनर, उपयोगकर्ताओं को दिखाने के लिए इस जानकारी को OfferDetails.offer_display_text में शामिल कर सकते हैं. कूपन पर आधारित ऑफ़र आम तौर पर दो कैटगरी में आते हैं:

  • ऐसे ऑफ़र जिनमें Google से आने वाले किसी भी उपयोगकर्ता को चेकआउट के समय कूपन अपने-आप दिख जाता है. इनकी अनुमति है.
  • ऐसे ऑफ़र की अनुमति नहीं है जिनमें खरीदार को चेकआउट के दौरान कूपन कोड डालना पड़ता है, लेकिन ऑफ़र यूआरएल के लैंडिंग पेज पर कूपन कोड लागू करने के बारे में निर्देश नहीं दिए जाते. इसके अलावा, ऐसे ऑफ़र की भी अनुमति नहीं है जिनमें ऑफ़र यूआरएल पर जाने के बाद, कूपन अपने-आप लागू नहीं होता.

उपहार कार्ड के ऑफ़र के 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"
    }
  ]
}