Google partners may provide structured menu data to Google through their Reserve with Google integration for use in the Menu section of a restaurant's placesheet on Google Maps Mobile (Android and iOS).
Menu data are ingested through your existing Reserve with Google integration using a capability called generic feeds. Before you begin, take a few minutes to ensure that you have completed the account setup steps and read through Using the Generic feed dropbox for an overview of the generic feed upload process and an explanation on how to configure your account for generic feed uploads.
Creating and uploading menu feeds
When creating and uploading menu feeds, please keep the following in mind:
- Follow the spec described in the
menu feed for menu data files. For an example of a menu data file, refer to the menu feed JSON sample.
Menu data file names should be unique between uploads.
It is recommended to include a timestamp in the file name, for example,
menu1_1633621547.json
. - In the fileset descriptor, set the
name
field togoogle.food_menu
. For an example of the descriptor file, refer to the Descriptor File JSON sample. Descriptor file names should be unique between uploads. It is recommended to include a timestamp in the file name, for example,descriptor_1633621547.filesetdesc.json
. The descriptor file should be uploaded to the generic SFTP dropbox as part of the menu feed. - Menu feeds should be uploaded to the generic SFTP dropbox daily as full refreshes.
- Follow the spec described in merchants feed for merchants feed files. For an example of a merchants feed file, refer to the merchant feed JSON sample.
It is recommended to include a timestamp in the file name, for example,
merchant1_1633621547.json
. - Merchants feeds should be uploaded to the Merchants SFTP dropbox daily as full refreshes.
- Menu and Merchants feed SFTP dropbox info can be found in the Configuration > Feeds section of the partner portal.
- Menu and Merchants feed ingestion status can be found in the Feeds > History section of the partner portal.
Working with menu item options
Menu item options can be specified using the
MenuItemOption
proto. Menu item options are displayed as a flat list under the menu item.
See the example below.
Only required menu item options are supported. A required menu item option is one that the customer must choose when ordering. For example, when ordering a pizza, size is a required option. Menu item options that are optional (i.e. "option to add avocado") are not supported.
Since menu item options are displayed as a single flat list, partners with multiple sets of required options for a single menu item (for example, a latte with size options and milk options) must decide how best to display those options in Google. Google recommends the following heuristics:
- If only one required option set affects the price, prefer to include that option set in feeds.
- For all other cases, it is up to the partner to determine how best to represent the menu item options. Creating long lists of options for all possible combinations of options is not recommended.
When including menu item options under a menu item either:
- The menu item must have at least one offer with a price (for cases when the menu item options do not affect the price).
- The menu item must have a set of options each priced equally to the total price of the item with that option selected.
The price should be provided only for the menu item or for its options, but not for both.