In diesem Leitfaden finden Sie Anforderungen und Beispiele für Angebote für Essensbestellungen.
Voraussetzungen und Richtlinien
In diesem Abschnitt werden wichtige Teilnahmevoraussetzungen aufgeführt, die Partner bei der Bereitstellung von Angeboten einhalten müssen. Es ist wichtig, alle Angebotstypen zu testen, die Sie während des Sandbox-Feed-Tests einführen möchten. Wenn Sie sich nicht sicher sind, ob ein Angebot infrage kommt, wenden Sie sich bitte an Ihren Google-Ansprechpartner.
Personalisierte Angebote und Angebote zur einmaligen Nutzung ausschließen
Damit Nutzer eine hochwertige und einheitliche Nutzererfahrung haben, dürfen Partner keine Angebote einbinden, die auf bestimmte Nutzergruppen beschränkt sind. Personalisierte Angebote, die nur für bestimmte Nutzer erstellt wurden, sind nicht zulässig. Plattformweite Angebote, die für alle Nutzer infrage kommen, z. B. für Neukunden oder bei der ersten Bestellung in einem bestimmten Restaurant, sind zulässig, sofern das Angebot auf der Angebots-Landingpage für alle Nutzer angezeigt wird. Die Angebotsbedingungen müssen im Angebotstitel und auf der Landingpage der Angebots-URL deutlich angegeben werden. Angebote müssen auf der Angebots-Landingpage für alle Nutzer sichtbar sein, unabhängig davon, ob sie auf Ihrer Website oder in Ihrer App angemeldet sind.
Angebote mit Gutscheincodes
Für bestimmte Angebote muss der Nutzer einen Gutscheincode eingeben, z. B. „Mit dem Code SAVE20 erhalten Sie 20% Rabatt auf die Gesamtrechnung“. Es ist wichtig zu beachten, dass Google keine Gutscheincodes aus der coupon-Definition anzeigt. Partner können diese Informationen in OfferDetails.offer_display_text einfügen, damit sie Nutzern angezeigt werden. Gutscheinbasierte Angebote lassen sich in der Regel in zwei Kategorien unterteilen:
- Angebote, bei denen der Gutschein allen Nutzern, die von Google kommen, automatisch an der Kasse präsentiert wird. Diese sind zulässig.
- Angebote, bei denen der Nutzer den Gutscheincode an der Kasse eingeben muss, aber keine Anleitung zum Einlösen des Gutscheincodes auf der Landingpage der Angebots-URL enthalten ist oder der Gutschein nicht automatisch angewendet wird, wenn der Nutzer der Angebots-URL folgt, sind nicht zulässig.
Inhalte und Struktur des Angebots
In diesem Abschnitt werden die Anforderungen an den Inhalt und die Struktur der im Feed bereitgestellten Angebote beschrieben. Außerdem finden Sie Beispiele für die strukturierten Metadaten.
Angebotstext und Angebotsspezifikation
OfferDetails.offer_display_text ist ein erforderliches Feld, das als prägnante Überschrift für die sofortige Sichtbarkeit im Angebotsbereich der Google Suche dient, z. B. „10 € Rabatt“ oder „15 % sparen“.
OfferDetails.offer_specification ist ein erforderliches „one of“-Feld innerhalb von OfferDetails. Das bedeutet, dass genau eines der folgenden drei Felder angegeben werden muss, um das Angebot zu definieren:
discount_valuediscount_percentother_offer_detail_text
Das Feld OfferDetails.other_offer_detail_text ist ein Freiform-Textfeld, das zur Ergänzung von offer_display_text verwendet wird, wenn das Angebot nicht als Pauschalrabattwert oder Prozentsatz ausgedrückt werden kann. Wenn das Feld offer_display_text bereits alle erforderlichen Informationen zum Angebot enthält, sollte das Feld other_offer_detail_text mit demselben Text wie das Feld offer_display_text ausgefüllt werden. Bei komplexen Angeboten sollte in diesem Feld jedoch eine genaue Beschreibung der Prämie angegeben werden.
Felder für strukturierte Metadaten
Damit Angebote besser gerankt und gefiltert werden können, müssen Partner Angebotsmetadaten in den entsprechenden strukturierten Feldern angeben. Die Angabe der Nutzungsbedingungen ist erforderlich. Es wird empfohlen, das Feld terms.terms_and_conditions mit den detaillierten Bedingungen festzulegen, die Nutzern auf der Angebots-Landingpage angezeigt werden.
Gesamtangebote für Bestellungen und Artikel
Für Angebote, die sich auf Teilmengen von Artikeln beziehen, müssen die Felder offer_restrictions.inclusions und offer_restrictions.exclusions verwendet werden, um die infrage kommenden Artikel zu definieren. Wenn sich das Angebot auf einen bestimmten Artikel bezieht, sollte der Artikelname in offer_display_text enthalten sein. Wenn der Artikelname in der offer_display_text enthalten ist, ist die Festlegung der offer_restrictions.inclusions nicht erforderlich.
Wenn die offer_restrictions.inclusions nicht festgelegt sind oder der Artikelname nicht in der offer_display_text enthalten ist, gilt das Angebot für den Gesamtbestellbetrag.
Angebote für Liefergebühren
Für Angebote mit Liefergebühren muss offer_category verwendet werden.
OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER So kann das Angebot nur in Kombination mit einem anderen Basisangebot für den Standort angezeigt werden. Ein Angebot für Versandkosten wird nicht als Basisangebot angezeigt.
Beispiele für Angebots-JSON
Pauschal 20 $ Rabatt
Beispiel: Dienstags 20 € Rabatt auf die gesamte Bestellung bei einem Mindestumsatz von 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" }
50% Rabatt auf Berry Smoothie
Beispiel: Angebot mit 50% Rabatt auf Artikelebene.
{ "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" }
„2 zum Preis von 1“-Angebot
Beispiel: Angebot „Zwei Vorspeisen zum Preis von einer“, gültig von Montag bis Donnerstag
{ "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" }
Angebot für kostenlose Lieferung
Beispiel: Kostenlose Lieferung als Add-on zu einem Basisangebot. Das Angebot mit 0 € Liefergebühren wird zusammen mit dem Basisangebot für den Standort angezeigt.
[ { "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" } ]
Auftragsausführung und Einschränkungen
In diesem Abschnitt werden Anforderungen und Best Practices für die Spezifikation der Einlösung von Angeboten und die damit verbundenen Einschränkungen beschrieben.
Art der Auftragsausführung (Lieferung und Abholung)
Wenn ein einzelnes Angebot sowohl für die Lieferung als auch für die Abholung gilt, muss es zwei Angebote im Feed enthalten. Jeder Eintrag muss einen eigenen ActionType haben:
ACTION_TYPE_FOOD_DELIVERYACTION_TYPE_FOOD_TAKEOUT
So wird sichergestellt, dass Nutzern, die auf der Partnerwebsite landen, der richtige Kontext für die Erfüllung angezeigt wird.
Zeitfenster
Angebote müssen auf der Angebots-Landingpage für alle Nutzer angezeigt werden, unabhängig davon, ob sie auf Ihrer Website oder in Ihrer App angemeldet sind oder nicht. Wenn das Angebot in einem bestimmten Zeitraum gültig ist, müssen Sie das Feld validity_periods.valid_period angeben, um den Gültigkeitszeitraum festzulegen. So wird verhindert, dass das Angebot außerhalb des Zeitraums angezeigt wird. Das Zeitfenster muss auch festgelegt werden, wenn das Angebot zu bestimmten Tageszeiten auf der Angebots-URL angezeigt wird. Wenn auf der Landingpage beispielsweise keine Angebote angezeigt werden, wenn das Restaurant geschlossen ist, müssen Sie die Öffnungs- und Schließzeiten für TimeOfDayWindow angeben.
Zeiträume, die Mitternacht überschreiten, verarbeiten
Angebote, die sich über Mitternacht erstrecken (z.B. gültig von Dienstag, 22:00 Uhr, bis Mittwoch, 2:00 Uhr), müssen segmentiert werden, damit sie von der Aufnahmepipeline richtig verarbeitet werden können. Anforderung:Verwenden Sie das Feld TimeOfDayWindow, um das Zeitfenster in zwei separate Segmente zu unterteilen:
- Segment 1:22:00 bis 23:59:59 Uhr am Starttag (z.B. Dienstag).
- Segment 2:00:00 Uhr bis 02:00 Uhr des Folgetags (z. B. Mittwoch)
So wird sichergestellt, dass die Gültigkeit des Angebots während des gesamten Zeitraums korrekt wiedergegeben wird.
Gebührenspezifikationen
Gebühren für Lieferung und Abholung können mit dem Feld OfferDetails.additional_fees angegeben werden. Eine Zahlungsgebühr sollte mit OfferDetails.convenience_fee angegeben werden. Verwenden Sie einen Gebührenbereichswert für variable Gebühren, z. B. wenn sich die Versandgebühren je nach Standort des Nutzers ändern.