คู่มือนี้สรุปข้อกำหนด คำแนะนำในการสร้างโมเดลข้อมูล และแนวทางปฏิบัติแนะนำสำหรับการใช้บัตรของขวัญ (หรือที่เรียกว่าบัตรกำนัล) ในฟีดข้อเสนอ คำแนะนำเหล่านี้จะเสริมเอกสารประกอบมาตรฐานของศูนย์การดำเนินการและกล่าวถึงแง่มุมของการผสานรวมที่เฉพาะเจาะจงกับบัตรของขวัญ
โหมดข้อเสนอและการจัดหมวดหมู่
เมื่อส่งสินค้าคงคลังบัตรของขวัญ โปรดตรวจสอบว่าได้กำหนดค่าแอตทริบิวต์หลักต่อไปนี้อย่างถูกต้อง
โหมดข้อเสนอ:
offer_modesต้องตั้งค่าเป็นอาร์เรย์ Singleton ที่มี"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% แบบคงที่) ตรวจสอบว่าได้ยกเว้นมูลค่าคงที่ที่ขายหมดแล้วหรือไม่พร้อมให้บริการในหน้า Landing Page ออกจากการส่งฟีดอย่างชัดเจน
- ช่วงที่กำหนดเอง: ใช้เฉพาะในกรณีที่ผู้ใช้ป้อนมูลค่าที่ระบุไว้ได้โดยอิสระภายในขอบเขตที่กำหนดในหน้าการซื้อ (เช่น มูลค่าใดก็ได้
ระหว่าง ₹100 ถึง ₹5,000 ที่มีส่วนลด 5%) หากหน้า Landing Page ปลายทางเสนอจำนวนเงินที่แยกกันและกำหนดไว้ล่วงหน้า ให้สร้างโมเดลสินค้าคงคลังภายใต้
fixed_denominationsเท่านั้น นอกจากนี้ หากมีทั้งมูลค่าคงที่และมูลค่าที่กำหนดเองสำหรับข้อเสนอ พาร์ทเนอร์ควรตั้งค่าช่วงที่กำหนดเองแบบยืดหยุ่น
การจัดการเชนร้านค้าที่มีหลายสถานที่ตั้ง
สำหรับบัตรกำนัลที่ใช้ได้กับเชนร้านค้าปลีกหรือร้านอาหารขนาดใหญ่ที่มีข้อกำหนดเหมือนกันในจุดสนใจ (POI) หลายแห่ง ไม่ต้อง ระบุออบเจ็กต์ข้อเสนอแยกกันสำหรับสถานที่ตั้งร้านค้าแต่ละแห่ง แต่ให้ใช้วิธีการส่งข้อมูลแบบรวมโดยระบุออบเจ็กต์ข้อเสนอเดียวที่มีรายการรหัสเอนทิตีร้านค้าทั้งหมดที่เข้าร่วม (entity_ids)
การสร้างแบรนด์พอร์ทัล (brand_id)
บัตรกำนัลบางรายการเสนอผ่านพอร์ทัลของธนาคารหรือพอร์ทัลบัตรสะสมคะแนนที่เฉพาะเจาะจง (เช่น โปรแกรมบัตรสะสมคะแนนของธนาคารหรือแพลตฟอร์มพาร์ทเนอร์) แทนที่จะเป็นเว็บไซต์หลักของผู้ขาย พาร์ทเนอร์ต้องป้อนข้อมูลในช่อง brand_id ในออบเจ็กต์ข้อเสนอระดับบนสุดเพื่อให้มั่นใจว่ามีการสร้างแบรนด์สำหรับพอร์ทัลเหล่านี้อย่างถูกต้อง
แม้ว่าการละเว้น brand_id จะตั้งค่าเริ่มต้นเป็นแบรนด์หลักของบัญชี (และไม่จำเป็นต้องใช้ brand_id เมื่อใช้แบรนด์เริ่มต้นของบัญชี) แต่การป้อนข้อมูลใน brand_id อย่างชัดเจนจะเชื่อมโยงสินค้าคงคลังกับพอร์ทัลที่มีแบรนด์ที่เกี่ยวข้องอย่างถูกต้อง ซึ่งจะช่วยให้มั่นใจได้ว่าระบบจะแสดงโลโก้และชื่อที่เฉพาะเจาะจงของพาร์ทเนอร์ต่อผู้ใช้ ดูวิธีการเพิ่มเติมเกี่ยวกับการกำหนดค่าแบรนด์ได้ที่
การกำหนดค่าแบรนด์
โครงสร้างความถูกต้อง (ValidityScope)
บัตรของขวัญมีโครงสร้างความถูกต้องที่ไม่ซ้ำกัน ซึ่งแยกกรอบเวลาในการซื้อดีลออกจากระยะเวลาในการแลกสิทธิ์บัตร พาร์ทเนอร์ต้องใช้ค่า enum ValidityScope ที่เกี่ยวข้องเสมอ
VALIDITY_SCOPE_CLAIM: กำหนดกรอบเวลาที่ข้อเสนอบัตรของขวัญพร้อมให้ซื้อในแพลตฟอร์มพาร์ทเนอร์ รายการนี้ต้องมีอยู่เสมอ เมื่อส่งฟีด ให้ป้อนระยะเวลาความถูกต้องของการอ้างสิทธิ์โดยเริ่มจากวันที่ส่งฟีดที่แน่นอน นอกจากนี้ อย่าปล่อยให้ระยะเวลาการอ้างสิทธิ์ไม่มีกำหนดหากหน้า Landing Page โฆษณาวันที่สิ้นสุดแคมเปญอย่างชัดเจน ให้ตั้งค่าvalid_through_timeให้ตรงกับวันที่หมดอายุที่โฆษณาVALIDITY_SCOPE_REDEEM: กำหนดระยะเวลาการแลกสิทธิ์หลังการซื้อ (กรอบเวลาที่ผู้ใช้ต้องแลกสิทธิ์บัตรกำนัลที่ร้านค้าหลังจากซื้อ ซึ่งระบุเป็นระยะเวลาหรือกรอบเวลาได้)
การแมปประเภทการดำเนินการ
พาร์ทเนอร์มักจะจัดหมวดหมู่บัตรกำนัลโดยใช้โครงสร้างต่างๆ เช่น "แลกสิทธิ์ออนไลน์/ออฟไลน์" "ออนไลน์/ร้านค้า" หรือ "ในร้านค้า" ในการส่งฟีด คุณต้องแมปโครงสร้างเหล่านี้กับ enum ActionType เพื่อกำหนดวิธีใช้ผลิตภัณฑ์อย่างถูกต้อง
- หมวดหมู่ร้านอาหาร / อาหาร: แมปบัตรของขวัญ "รับประทานที่ร้าน" กับ
ACTION_TYPE_DININGแมปบัตรของขวัญ "จัดส่ง" กับACTION_TYPE_FOOD_DELIVERYแมปบัตรของขวัญ "ซื้อกลับบ้าน" กับACTION_TYPE_FOOD_TAKEOUT - ประเภทธุรกิจการค้าปลีก: แมปบัตรของขวัญ "ในร้านค้า" กับ
ACTION_TYPE_SHOPPING_IN_STORE(หมายเหตุ: ระบบไม่รองรับบัตรกำนัลสำหรับการค้าปลีกออนไลน์เท่านั้น) - การแมปช่องทางเดียว:
offer_idแต่ละรายการเป็นของActionTypeได้เพียงรายการเดียวเท่านั้น หากสินค้าคงคลังรองรับช่องทางการดำเนินการหลายช่องทาง (เช่น ทั้งการจัดส่งอาหารและการซื้อกลับบ้าน) ให้สร้างออบเจ็กต์ข้อเสนอที่แตกต่างกันโดยมีรหัสที่ไม่ซ้ำกันสำหรับแต่ละโหมด
ส่วนลดตามระดับและข้อเสนอเสริม
- ส่วนลดตามระดับในวิธีการชำระเงิน: หากมีการเสนอเปอร์เซ็นต์ส่วนลดที่แตกต่างกันตามเครื่องมือการชำระเงินที่ใช้ (เช่น ส่วนลดที่สูงกว่าสำหรับอีวอลเล็ตเทียบกับบัตรเครดิต) คุณต้องสร้างโมเดลส่วนลดเหล่านี้เป็นออบเจ็กต์ข้อเสนอแยกกัน พาร์ทเนอร์ควรให้ความครอบคลุมโปรโมชันที่ครบถ้วนในเครื่องมือการชำระเงินที่รองรับทั้งหมด (เช่น กระเป๋าเงินอิเล็กทรอนิกส์ บัตรเครดิต บัตรเดบิต การโอนเงินผ่านธนาคาร) เพื่อให้ผู้ใช้ได้รับประสบการณ์การประหยัดที่เชื่อถือได้ หากข้อเสนอใช้ได้กับวิธีการชำระเงินทั้งหมดที่ยอมรับในแพลตฟอร์ม คุณไม่ควรตั้งค่าช่องเครื่องมือการชำระเงิน
- โครงสร้างข้อเสนอเสริม: หากต้องการแสดงสิทธิประโยชน์ที่ซ้อนกัน เช่น
คะแนนสะสมที่เฉพาะเจาะจงของธนาคารหรือเงินคืนเพิ่มเติมที่ใช้ได้กับการซื้อบัตรของขวัญ
ให้ส่งสิทธิประโยชน์เหล่านี้เป็นข้อเสนอเสริมที่แยกกันโดยใช้
enum ที่เหมาะสม
OfferCategoryซึ่งก็คือOFFER_CATEGORY_ADD_ON_PAYMENT_OFFERอธิบายรางวัลภายในOfferDetails.other_offer_details_text(เช่น "คะแนนสะสมสูงสุด 5 เท่า") และลิงก์รางวัลกับดีลบัตรของขวัญพื้นฐานโดย ป้อนข้อมูลOfferRestrictions.combinable_offer_idsด้วย ของบัตรของขวัญพื้นฐานoffer_id
ข้อกำหนดและเงื่อนไขพิเศษ
พาร์ทเนอร์ควรใช้ terms.terms_and_conditions เพื่อระบุข้อกำหนดและเงื่อนไขทางกฎหมายทั้งหมดของบัตรของขวัญหรือบัตรกำนัล รวมคำแนะนำทั้งหมดที่ผู้ใช้จะเห็นและหลักเกณฑ์การใช้งานไว้ในช่องนี้
หากข้อจำกัดที่สำคัญต้องมีการแสดง UI ที่โดดเด่น (เช่น ยอดคงเหลือที่ใช้ได้ครั้งเดียว
หมดอายุ ไม่สามารถขอเงินคืน หรือการจำกัดการรวมธุรกรรม เช่น
"รวมบัตรกำนัลได้สูงสุด 2 รายการต่อใบแจ้งหนี้") ให้ไฮไลต์ข้อจำกัดเหล่านั้นใน
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 |
ข้อกำหนดของหน้า Landing Page
offer_url ที่โฆษณาทุกรายการต้องแสดงผล HTTP 200 OK โดยตรงโดยไม่มีการเปลี่ยนเส้นทางระดับกลาง และต้องแสดงหน้าปลายทางที่ใช้งานได้ซึ่งสนับสนุนข้อเสนอ
ฟีดต้องไม่รวมมูลค่าที่ขายหมดแล้วหรือไม่พร้อมให้บริการ รักษาสินค้าคงคลังให้ซิงค์กันอย่างเคร่งครัดระหว่างช่องมูลค่าของฟีดกับตัวเลือกการซื้อจริงในหน้า Landing Page ปลายทาง
หน้า Landing Page ปลายทางควรระบุอย่างชัดเจนว่าข้อเสนอใช้ได้กับบัตรของขวัญหรือบัตรกำนัลโดยเฉพาะ
ตัวอย่างเช่น หากหน้า Landing Page ของพาร์ทเนอร์แสดงเฉพาะคำกระตุ้นให้ดำเนินการสำหรับการชำระเงินทั่วไป เช่น "ชำระเงิน" โดยไม่ได้ระบุล่วงหน้าอย่างชัดเจนว่าการทำธุรกรรมให้เสร็จสมบูรณ์จะออกบัตรกำนัลแบบเก็บมูลค่า ผู้ใช้ที่เปลี่ยนเส้นทางมาจาก Google ซึ่งคาดหวังว่าจะซื้อบัตรของขวัญอาจเกิดความสับสนหรือเลิกทำ แม้ว่าการแจ้งเตือนบัตรกำนัลจะปรากฏในขั้นตอนการชำระเงินในภายหลัง แต่คุณต้องระบุข้อมูลอย่างชัดเจนในหน้า Landing Page เริ่มต้น
ข้อเสนอที่มีรหัสคูปอง
ข้อเสนอบางรายการกำหนดให้ผู้ใช้ต้องป้อนรหัสคูปอง เช่น "ใช้รหัส SAVE20 เพื่อรับส่วนลด 20% จากยอดรวม" โปรดทราบว่า Google จะไม่แสดงรหัสคูปองจาก คำจำกัดความ ของคูปอง พาร์ทเนอร์อาจรวมข้อมูลนี้ไว้ใน OfferDetails.offer_display_text เพื่อแสดงต่อผู้ใช้ โดยทั่วไปแล้ว ข้อเสนอที่อิงตามคูปองจะแบ่งออกเป็น 2 หมวดหมู่ ดังนี้
- ข้อเสนอที่ระบบจะแสดงคูปองโดยอัตโนมัติในขั้นตอนการชำระเงินต่อผู้ใช้ทุกคนที่มาจาก Google ข้อเสนอเหล่านี้ได้รับอนุญาต
- ข้อเสนอที่กำหนดให้ผู้ใช้ต้องป้อนรหัสคูปองในขั้นตอนการชำระเงิน แต่ไม่ได้ระบุวิธีการใช้รหัสคูปองในหน้า Landing Page ของ 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"
}
]
}