במדריך הזה מפורטות הדרישות לגבי מבצעים להזמנה ממסעדה ומוצגות דוגמאות למבצעים כאלה.
דרישות סף ומדיניות
בקטע הזה מפורטים קריטריונים חשובים לזכאות ששותפים צריכים לעמוד בהם כשהם מציעים מבצעים. חשוב לבדוק את כל סוגי המבצעים שאתם מתכננים להפעיל במהלך בדיקת הפיד בארגז החול. אם אתם לא בטוחים אם מוצר מסוים עומד בדרישות, אתם יכולים לפנות לאיש הקשר שלכם ב-Google.
החרגה של מבצעים בהתאמה אישית ומבצעים חד-פעמיים
כדי להבטיח חוויית משתמש איכותית ועקבית, שותפים לא יכולים לכלול מבצעים שמוגבלים לקבוצות משנה ספציפיות של משתמשים. מבצעים בהתאמה אישית שנוצרו רק למשתמשים ספציפיים לא כשירים. מותר להציע מבצעים לכל המשתמשים בפלטפורמה, כמו מבצעים למשתמשים חדשים או למזמינים בפעם הראשונה ממסעדה מסוימת, בתנאי שהמבצע מוצג בדף הנחיתה של המבצע לכל המשתמשים. תנאי המבצע צריכים להיות מצוינים בבירור בשם המבצע ובדף הנחיתה של כתובת האתר של המבצע. המבצעים צריכים להיות גלויים לכל המשתמשים בדף הנחיתה של המבצע, בין אם הם מחוברים לאתר או לאפליקציה ובין אם לא.
מבצעים עם קודי שוברים
במבצעים מסוימים המשתמש נדרש להזין קוד שובר, למשל: "מזינים את הקוד SAVE20 כדי לקבל 20% הנחה על סכום החשבון הכולל". חשוב לציין ש-Google לא מציגה קודי שוברים מהגדרת השובר. השותפים יכולים לכלול את המידע הזה בפרמטר OfferDetails.offer_display_text כדי להציג אותו למשתמשים. מבצעים שמבוססים על שוברים בדרך כלל נחלקים לשתי קטגוריות:
- מבצעים שבהם השובר מוצג אוטומטית בזמן התשלום לכל משתמש שמגיע מ-Google. הן מותרות.
- אסור לפרסם מבצעים שבהם המשתמשים צריכים להזין את קוד השובר בקופה, אבל לא מספקים הוראות להזנת קוד השובר בדף הנחיתה של כתובת ה-URL של המבצע, או שלא מזינים את השובר באופן אוטומטי כשלוחצים על כתובת ה-URL של המבצע.
תוכן ומבנה של מבצעים
בקטע הזה מפורטות הדרישות לגבי התוכן והמבנה של המוצרים שמופיעים בפיד, כולל דוגמאות למטא-נתונים מובנים.
טקסט המבצע ומפרט המבצע
השדה OfferDetails.offer_display_text הוא שדה חובה שמשמש ככותרת תמציתית להצגה מיידית בקטע המבצעים בחיפוש Google, כמו '10$ הנחה' או 'חיסכון של 15%'.
OfferDetails.offer_specification הוא שדה חובה מסוג 'אחד מתוך' בתוך OfferDetails. המשמעות היא שצריך לספק בדיוק אחד משלושת השדות הבאים כדי לציין את המבצע:
discount_valuediscount_percentother_offer_detail_text
השדה OfferDetails.other_offer_detail_text
הוא שדה טקסט חופשי שמשמש להוספת פרטים לoffer_display_text
כשהמבצע לא יכול להיות מוגדר כערך הנחה או כאחוז הנחה. אם הטקסט בשדה offer_display_text מספיק כדי להעביר את כל המידע הנדרש על המוצר, צריך להזין בשדה other_offer_detail_text את אותו הטקסט שמופיע בשדה offer_display_text. עם זאת, בעסקאות מורכבות, בשדה הזה צריך לספק תיאור ספציפי של התגמול.
שדות של מטא-נתונים מובְנים
כדי לשפר את הבהירות של המבצעים ולאפשר דירוג וסינון טובים יותר, השותפים צריכים לספק מטא-נתונים של המבצעים בשדות המובנים המתאימים. חובה לציין את התנאים. מומלץ להגדיר את השדה terms.terms_and_conditions עם התנאים המפורטים שמוצגים למשתמשים בדף הנחיתה של המבצע.
סה"כ מבצעים על הזמנות ועל פריטים ספציפיים
כדי להגדיר מבצעים על קבוצות משנה של פריטים, צריך להשתמש בשדות offer_restrictions.inclusions ו-offer_restrictions.exclusions כדי להגדיר את הפריטים שעומדים בדרישות. אם המבצע הוא על פריט ספציפי, צריך לכלול את שם הפריט בתג offer_display_text. אם שם הפריט כלול ב-offer_display_text, אין צורך להגדיר את offer_restrictions.inclusions.
אם לא מגדירים את offer_restrictions.inclusions או אם שם הפריט לא נכלל ב-offer_display_text, המבצע נחשב כחל על סכום ההזמנה הכולל.
מבצעים על דמי משלוח
במבצעים של דמי משלוח צריך להשתמש במאפיין offer_category
OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER. כך המבצע יוצג רק בשילוב עם מבצע בסיסי אחר למיקום. מבצע של דמי משלוח לא יוצג כמבצע בסיסי.
דוגמאות לקובץ JSON של מבצעים
הנחה קבועה של 20$
דוגמה: הנחה קבועה של 80 ש"ח על סך ההזמנה בימי שלישי, עם סכום קנייה מינימלי של 60 ש"ח
{ "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" }
50% הנחה על Berry Smoothie
דוגמה: מבצע ברמת הפריט עם 50% הנחה.
{ "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": "50% off on Berry Smoothie", "discount_percent": 50.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } } } ], "offer_restrictions": { "combinable_with_other_offers": true, "inclusions": [ {"description":"Berry Smoothie"} ] }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_1" }
מבצע 'קונים אחד ומקבלים אחד בחינם'
דוגמה: מבצע קונים מנה ראשונה ומקבלים אחת חינם, תקף מיום שני עד יום חמישי
{ "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" }
מבצע משלוח חינם
לדוגמה: משלוח חינם כתוסף למבצע בסיסי. מבצע דמי המשלוח בסך $0 יוצג עם כל מבצע בסיסי למיקום.
[ { "offer_id": "offerId1", "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": "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_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER", "offer_details": { "offer_display_text": "$0 Delivery Fee", "other_offer_detail_text": "Free dellivery" }, "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": "Delivery is free 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" } ]
טיפול בהזמנות ואילוצים
בקטע הזה מפורטות הדרישות והשיטות המומלצות שקשורות למפרט של מימוש מבצעים והמגבלות שמשויכות אליהם.
אופן ביצוע ההזמנה (משלוח ואיסוף עצמי)
אם מבצע יחיד חל גם על משלוח וגם על טייק אוויי, צריך להוסיף לפיד שני מבצעים. לכל רשומה צריך להיות ActionType ייעודי:
ACTION_TYPE_FOOD_DELIVERYACTION_TYPE_FOOD_TAKEOUT
כך אפשר לוודא שלמשתמשים שמגיעים לאתר השותף מוצג ההקשר הנכון של תהליך השלמת ההזמנה.
חלונות זמן
המבצעים צריכים להיות מוצגים בדף הנחיתה של המבצע לכל המשתמשים, בין אם הם מחוברים לאתר או לאפליקציה ובין אם לא. אם המבצע תקף במהלך תקופה מסוימת, צריך לכלול את השדה validity_periods.valid_period כדי לציין את התקופה שבה המבצע תקף. כך המבצע לא יוצג מחוץ לתקופת המבצע. אם המבצע מוצג בכתובת ה-URL של המבצע בשעות מסוימות במהלך היום, צריך להגדיר גם את חלון הזמן. לדוגמה, אם בדף הנחיתה לא מוצגים מבצעים כשהמסעדה סגורה, צריך לציין את שעות הפתיחה והסגירה באמצעות התג TimeOfDayWindow.
טיפול במסגרות זמן שחוצות את חצות
אם המבצעים תקפים גם אחרי חצות (לדוגמה, מיום שלישי בשעה 22:00 עד יום רביעי בשעה 02:00), צריך לפצל אותם כדי שצינור העיבוד יוכל לעבד אותם בצורה נכונה. דרישה: צריך להשתמש בשדה TimeOfDayWindow כדי לפצל את חלון הזמנים לשני פלחים נפרדים:
- פלח 1: מ-22:00 עד 23:59:59 ביום ההתחלה (לדוגמה, יום שלישי).
- פלח 2: 00:00 עד 02:00 ביום שלמחרת (למשל, יום רביעי).
כך אפשר לוודא שתוקף המבצע משתקף בצורה מדויקת לאורך כל התקופה.
מפרט העמלות
אפשר לציין עמלות על משלוח ועל איסוף עצמי באמצעות השדה OfferDetails.additional_fees. כדי לציין עמלת נוחות, צריך להשתמש במאפיין OfferDetails.convenience_fee. אם העמלות משתנות, למשל אם עמלות המשלוח משתנות בהתאם למיקום של המשתמש, צריך להשתמש בערך של טווח עמלות.