Panduan ini menyoroti persyaratan dan contoh penawaran Pemesanan Makanan.
Kelayakan dan Kebijakan
Bagian ini menyoroti kriteria kelayakan penting yang harus dipatuhi partner saat memberikan penawaran. Anda harus menguji semua jenis penawaran yang Anda rencanakan untuk diluncurkan selama pengujian feed sandbox. Jika Anda tidak yakin apakah penawaran memenuhi syarat, hubungi POC Google Anda.
Mengecualikan penawaran yang dipersonalisasi dan sekali pakai
Untuk memastikan pengalaman pengguna yang berkualitas tinggi dan konsisten, partner tidak boleh menyertakan penawaran yang dibatasi untuk subset pengguna tertentu. Penawaran yang dipersonalisasi yang dibuat hanya untuk pengguna tertentu tidak memenuhi syarat. Penawaran di seluruh platform yang memenuhi syarat untuk semua pengguna seperti pengguna baru atau pemesanan pertama kali di restoran tertentu diizinkan jika penawaran ditampilkan di halaman landing penawaran untuk semua pengguna. Ketentuan penawaran harus dinyatakan dengan jelas dalam judul penawaran dan di halaman landing URL penawaran. Penawaran harus terlihat di halaman landing penawaran untuk semua pengguna saat logout atau login ke situs atau aplikasi Anda.
Penawaran dengan kode kupon
Penawaran tertentu mengharuskan pengguna memasukkan kode kupon, seperti "Terapkan kode HEMAT20 untuk mendapatkan diskon 20% dari total tagihan". Perlu diperhatikan bahwa Google tidak menampilkan kode kupon dari kupon definisi. Partner dapat menyertakan informasi ini dalam OfferDetails.offer_display_text untuk ditampilkan kepada pengguna. Penawaran berbasis kupon umumnya dibagi menjadi dua kategori:
- Penawaran yang kuponnya otomatis ditampilkan saat checkout kepada pengguna yang datang dari Google. Penawaran ini diizinkan.
- Penawaran yang mengharuskan pengguna memasukkan kode kupon saat checkout, tetapi tidak memberikan petunjuk tentang cara menerapkan kode kupon di halaman landing URL penawaran, atau tidak otomatis menerapkan kupon saat mengikuti URL penawaran, tidak diizinkan.
Konten dan Struktur Penawaran
Bagian ini menjelaskan persyaratan untuk konten dan struktur penawaran yang diberikan dalam feed, termasuk contoh metadata terstruktur.
Teks tampilan penawaran dan Spesifikasi penawaran
OfferDetails.offer_display_text adalah kolom wajib yang berfungsi sebagai judul ringkas untuk visibilitas langsung di bagian penawaran di Google Penelusuran, seperti "$10 off" atau "Save 15%".
OfferDetails.offer_specification adalah kolom wajib
"salah satu" dalam OfferDetails. Artinya, tepat satu dari tiga kolom berikut harus diberikan untuk menentukan transaksi:
discount_valuediscount_percentageother_offer_details_text
Kolom OfferDetails.other_offer_details_text adalah kolom teks bentuk bebas yang digunakan untuk melengkapi offer_display_text jika penawaran tidak dapat dinyatakan sebagai nilai atau persentase diskon tetap. Jika offer_display_text sudah cukup untuk menyampaikan semua informasi yang diperlukan tentang penawaran, kolom other_offer_details_text harus diisi dengan teks yang sama seperti offer_display_text. Namun, untuk transaksi yang kompleks, kolom ini harus memberikan deskripsi spesifik tentang reward.
Kolom metadata terstruktur
Untuk meningkatkan kejelasan penawaran dan memungkinkan peringkat dan pemfilteran yang lebih baik, partner harus memberikan metadata penawaran di kolom terstruktur yang sesuai. Kolom terms.terms_and_conditions wajib diisi. Nilai harus menyertakan ketentuan tentang cara menukarkan penawaran. Misalnya, Anda dapat mengisi kolom ini dengan ketentuan terperinci yang ditampilkan kepada pengguna di halaman landing penawaran.
Contoh JSON Penawaran
Diskon tetap $20
Contoh: Diskon tetap $20 pada hari Selasa dengan pembelanjaan minimum $15
{ "offer_id": "offer-example-1-takeout", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_TAKEOUT", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "$20 off on Tuesdays", "discount_value": { "currency_code": "USD", "units": 20 }, "min_spend_value": { "currency_code": "USD", "units": 15 } }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "time_windows": { "open_time": { "hours": 9 }, "close_time": { "hours": 20, "minutes": 59, "seconds": 59 } }, "day_of_week": ["TUESDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": false }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders with $15 minimum spend. Single use per order. Offer may not be combined with any other offers, discounts, or promotions. Valid only on Tuesdays." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_1" }
Penawaran Beli Satu Gratis Satu
Contoh: Penawaran beli satu makanan pembuka, gratis satu, berlaku Senin hingga Kamis
{ "offer_id": "offer-example-2-delivery", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "Buy one appetizer, get one free", "other_offer_detail_text": "Buy one appetizer, get one free" }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "time_windows": { "open_time": { "hours": 10 }, "close_time": { "hours": 23, "minutes": 59, "seconds": 59 } }, "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": true, "inclusions": [ { "description": "appetizers" } ] }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Valid on all menu appetizers. Offer may be combined with any other offers, discounts, or promotions. Valid Monday through Thursday." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_4" }
Penawaran Diskon Persentase
Contoh: Diskon 25% untuk Sandwich
{ "offer_id": "offer-example-3-delivery", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "25% off on Sandwitches", "discount_percent": 25.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } } } ], "offer_restrictions": { "combinable_with_other_offers": true }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Applies to specific items only. Single use per order. May be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_2" }
Penawaran Pengiriman Gratis
Contoh: Pengiriman gratis untuk pesanan di atas $30. Biaya pengiriman adalah $7,00 jika tidak.
{ "offer_id": "offer-example-4-delivery", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "Free delivery on orders over $30", "discount_value": { "currency_code": "USD", "units": 7 }, "min_spend_value": { "currency_code": "USD", "units": 30 } }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } } } ], "offer_restrictions": { "combinable_with_other_offers": true }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery orders with $30 minimum spend. Delivery is $7.00 otherwise. Single use per order. May be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_3" }
Contoh penawaran dasar dengan penawaran add-on
Contoh: Restoran menawarkan diskon 10% hanya untuk makan siang pada hari kerja, dan diskon 5% kapan saja saat membayar dengan kartu kredit tertentu.
[ { "offer_id": "offerId1", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_TAKEOUT", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "10% off", "discount_percent": 10.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": true, "combinable_offer_categories": ["OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER"] }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Offer may be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_5" }, { "offer_id": "offerId2", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_TAKEOUT", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER", "offer_details": { "offer_display_text": "5% off", "discount_percent": 5.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": true, "combinable_offer_ids": ["offerId1"] }, "payment_instrument": { "items": [ { "type": "PAYMENT_INSTRUMENT_CREDIT_CARD", "name": "Participating Credit Card" } ], "provider_name": "Card Provider" }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Offer may be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/addon_offer_1" } ]
Pemenuhan dan Batasan
Bagian ini menjelaskan persyaratan dan praktik terbaik terkait spesifikasi pemenuhan penawaran dan batasan yang terkait dengannya.
Mode pemenuhan (Pengiriman dan Bawa Pulang)
Jika satu transaksi berlaku untuk pengiriman dan bawa pulang, transaksi tersebut harus memiliki dua penawaran dalam feed. Setiap entri harus memiliki ActionType khusus:
ACTION_TYPE_FOOD_DELIVERYACTION_TYPE_FOOD_TAKEOUT
Hal ini memastikan bahwa pengguna yang membuka situs partner akan melihat konteks pemenuhan yang benar.
Jendela waktu
Penawaran diharapkan ditampilkan di halaman landing penawaran untuk semua pengguna saat logout atau login ke situs atau aplikasi Anda. Jika penawaran berlaku selama jangka waktu tertentu, Anda harus menyertakan kolom validity_periods.valid_period untuk menentukan periode yang valid. Hal ini mencegah penawaran ditampilkan di luar jangka waktu tersebut. Jendela waktu juga harus ditetapkan jika penawaran ditampilkan di URL penawaran selama jam tertentu dalam sehari. Misalnya, jika halaman landing tidak menampilkan penawaran saat restoran tutup, Anda harus menyertakan TimeOfDayWindow waktu buka dan tutup.
Menangani jangka waktu yang melewati tengah malam
Penawaran yang berlaku hingga tengah malam (misalnya, berlaku dari pukul 22.00 Selasa hingga 02.00 Rabu) harus disegmentasikan agar dapat diproses dengan benar oleh pipeline penyerapan. Persyaratan: Gunakan kolom TimeOfDayWindow untuk membagi jendela menjadi dua segmen yang berbeda:
- Segmen 1: Pukul 22.00 hingga 23.59.59 pada hari mulai (misalnya, Selasa).
- Segmen 2: Pukul 00.00 hingga 02.00 pada hari berikutnya (misalnya, Rabu).
Hal ini memastikan validitas penawaran tercermin secara akurat selama seluruh periode.
Spesifikasi biaya
Biaya pengiriman dan bawa pulang dapat ditentukan menggunakan kolom OfferDetails.additional_fees. Biaya layanan harus ditentukan menggunakan OfferDetails.convenience_fee. Gunakan nilai rentang biaya untuk biaya variabel, misalnya, jika biaya pengiriman berubah berdasarkan lokasi pengguna.