As outlined in Ordering E2E has migrated to Ordering Redirect, Order with Google E2E partners should implement a direct Ordering Redirect integration in order to continue serving on Google Search and Maps. This guide serves to outline the steps for existing E2E partners to implement Ordering Redirect.
Next Steps
All E2E partners will be given new accounts for the Ordering Redirect integration. The Ordering Redirect feeds are grouped into Entity, Action, Service and Menu feeds. Upload feeds daily with your full inventory. You can send entity and action feeds in any order. Google will serve the links after processing both feeds.
Account Setup
Update the account users and contacts.
Create an RSA SSH key pair.
The SFTP host, port and username can be found on the Configuration - Feeds page. Ensure that the host and port are not blocked internally by testing sftp from your server.
Set your Brands Configuration in the Ordering Redirect account. This should match your E2E account Brands Configuration.
Create Entity feeds for restaurant level data.
Create Action feeds with takeout and delivery action links. Action link URLs should be the exact same URLs used in E2E action links. Using the same URL as the E2E account will ensure that the Preferred by Business merchant selection still applies for the link in the Redirect account. It is also encouraged to limit changes to the URLs after the account is live for the same reason.
(Optional) Create a Service feed.
- Create an Ordering Redirect Service for each action link.
- Optionally add
ServiceHours
to specify lead times by time windows. - An ETA defined in
AsapTimeWindows
will display over the default ETA set in theOrdering Redirect Service
. - You may choose to display one ETA range instead of defining all
AsapTimeWindows
windows.
(Optional) Add Fee information in the Service feed.
- Review Fees for more details on the supported fee types.
- Since fees are not displayed based on the user's location, you may choose to display a fee range when fees change based on delivery area.
- Set a 0 value fee to indicate that there is no fee.
(Optional) Create the Menu feed.
- Remove optional menu item add-ons. Only required menu item options that affect the price should be included. Some examples of menu item options include: large pepperoni pizza, small pepperoni pizza, pad thai with chicken, or pad thai with shrimp.
- Only one menu for a restaurant is needed. If you have both a takeout and delivery menu, it is recommended to choose the menu that is closest to the in-restaurant menu.
- You may reuse the same menu for multiple restaurants.
- If there are lunch and dinner menus, create separate sections and subsections to organize them within the same menu.
(Optional) Implement Real-time updates.
(Optional) Implement Conversion Tracking.
Upload feeds and file descriptors for each feed using the SFTP dropbox.
You may reference multiple data files for each feed type using the descriptor file. See Structuring the descriptor file for more information.
Upload feeds and complete the Onboarding plan steps.
Review total entity counts in Feed History.
Review unmatched merchants in Food Ordering Entities.
Google will launch the Ordering Redirect account.
You may stop sending feeds and Real-time updates for the E2E account.
E2E Menu and Ordering Redirect Menu Schema Comparison
The Ordering Redirect Menu schema can be thought of as a subset of the E2E schema. The Ordering Redirect Menu is a read-only menu, therefore fewer attributes and feed items are required in the Ordering Redirect Menu schema.
- The google.food_menu feed is used to send Ordering Redirect menus.
- Fields not needed for a read-only menu such as the inventoryLevel, eligibleQuantityMax and eligibleQuantityMin are not included in the schema.
- Menu item option prices should represent the full price of the item. See Working with menu item options for more information.
- The Menu Visualizer within the Actions Center can be used to preview how menu feeds will be displayed.
- The feed components such as MenuSection, MenuItem and MenuItemOption contain lists of LocalizedText for fields such as name and description. If you are providing multiple languages, order the preferred language to be displayed as the first item in the list.
Partners who implemented the E2E inventory Menu schema can refer to this table for a schema comparison with the Ordering Redirect Menu schema.
OwG v1 | OwG v2 | Ordering Redirect Menu | Field Description | Differences |
---|---|---|---|---|
Menu | Menu | Menu | Top level menu to associate with one or many restaurants. | In Ordering Redirect, there should only be one menu for a restaurant. Separate takeout and delivery menus are not needed. A Menu links directly to a restaurant in Ordering Redirect. |
MenuSection | MenuSection | MenuSection | Menu section to group menu items. Can have child MenuSections. | Ordering Redirect does support child menu sections. Menu sections can't be defined as a group of optional add-ons for a menu item. Fields used to define add-on section properties like numberOf FreeAddOns and defaultItem are not included. |
MenuItem | MenuItem | MenuItem | Menu item with a name, description and image. | Optional add-ons are not supported. The menu item must have at least one offer with a price or the menu item must have a set of options with each option's price set to the total price of the item with that option selected. It is possible to show no price by setting an empty price in the OfferSet. Note that in order to display no price, currency_code must not be set. |
MenuItemOption | MenuItemOption | MenuItemOption | Option for a menu item, for example, Large or Small. | The menu item option price represents the total item price. Some examples of menu item options include: large pepperoni pizza, small pepperoni pizza, pad thai with chicken, or pad thai with shrimp. |
Offer | MenuItemOffer | OfferSet | Price for a menu item or menu item option. | Transactional fields such as inventoryLevel, eligibleQuantityMax and eligibleQuantityMin are not included in Ordering Redirect. |
NutritionInformation | NutritionInformation | NutritionInformation | Describes all the nutritional measurements. | |
AllergenDetails | Allergen | Allergen | Allergen shown to the user on the MenuItem. An allergen relates to qualities of food that causes allergic reactions. | |
AdditiveDetail | Additive | Additive | Additive shown to the user on the MenuItem. | |
PackagingDetails | DepositInfo | DepositInfo | Partner provided deposit info to instruct the user how to deposit a food item. | |
Offer.availabilityStarts, Offer.availabilityEnds | Availability | Not supported | Availability to represent the time of day when a menu section or menu item offer is available. Can display the menu section or item dynamically. | Not supported in Ordering Redirect. |
E2E Restaurant and E2E Service Schema Comparison with Ordering Redirect
Operation Hours and Service Hours are not required when defining a takeout or delivery service in Ordering Redirect, but it is encouraged to include it. Providers are displayed regardless of the service time windows or the user's location.
- The reservewithgoogle.entity feed is used to send restaurant location information.
- The reservewithgoogle.action.v2 feed is used to send restaurant action links by takeout or delivery.
- The google.food_service feed is used to send service ETAs and Fees.
- It is optional to implement
ServiceHours
. You may includeAsapTimeWindows
to define time windows for ETAs. AdvanceTimeWindows
are not used in the Ordering Redirect experience.- It is optional to implement Ordering Redirect
ServiceAreas
. - Real-time updates are supported to update ETAs and fees.
- See Fulfillment Time and Fees for examples of ETAs and fees.
Order with Google E2E partners can refer to this table to see a schema
comparison of the E2E and Ordering Redirect schemas. Note that defining
ServiceHours
and ServiceAreas
is optional in Ordering Redirect.
OwG v1 | OwG v2 | Ordering Redirect | Field Description | Differences |
---|---|---|---|---|
Restaurant | Restaurant | Entity | Describes a restaurant | Deals are not supported in Ordering Redirect. |
Service | Service | FoodOrderingService | Describes food ordering service details for a restaurant. | |
OpeningHoursSpecification | OperationHours | ServiceHours.orderable_time | Describes the ordering window in which users can access the flow and place orders. | Advance hours are not visible in the Ordering Redirect experience. |
ServiceDeliveryHoursSpecification, AdvanceServiceDeliveryHoursSpecification | ServiceHours | AsapTimeWindow, AdvanceTimeWindow | Describes the fulfillment window in which users can choose fulfillment slots. | Defining ServiceHours is optional for Ordering Redirect. ETAs defined within AsapTimeWindows will be displayed over ETAs defined in the FoodOrderingService. |
Service.areaServed | ServiceArea | ServiceArea | Describes the geographical region in which food can be delivered. | Defining ServiceAreas is optional for Ordering Redirect. ServiceAreas are not used when determining to show the provider. |
DeliveryChargeSpecification | Fee | Fee | Describes a fee associated with a Service. | Ordering Redirect does not support validFrom and validTo Fee time windows or a Fee priority. Fees are not displayed based on the user's location. |
Service.potentialAction | Service.actionLinkUrl | ActionDetail | Contains a URL for a delivery/takeout service that will be used while migrating from end-to-end food ordering experience to redirect. |