Integration

For your food business to connect with Google's Order with Google support, you must integrate with Google systems and APIs. There are three processes you need to implement to connect with Order with Google:

  1. Provide restaurant, menu, and service data feeds to Google.

    The first step of the integration process is to create and host data feeds about your restaurant, menu, and service. These feeds provide details about restaurant name, location, service hours, menu items and sections, delivery areas, and more. Google ingests your data feeds and uses them to present your menu and services to users. You can update these feeds regularly and even incorporate incremental changes in real time.

  2. Handle order fulfillment.

    After a user is ready to order, Google lets them review and modify their cart details before their order is processed and submitted. As part of the Order with Google integration process, you create a webhook URL that validates and receives the orders from Google. You process online payments through a Google Pay participating processor.

  3. Support order updates.

    To provide post-order experiences on Google's surfaces, you send updates to a Google API. Google then shows the information to your customer. These include the order status, estimated fulfillment time, customer service information, and other changes that might impact their order. Users who order food can view the state of their purchases in Google.

To implement these processes, the Order with Google integration has two main components: Inventory feeds and fulfillment actions.

  • Inventory feeds

    These feeds use a relational inventory schema to supply Google with up-to-date information about a restaurant, the services it provides, and the items in its menu.

  • Fulfillment actions

    These are Checkout and Submit Order actions that you need to consume from our webhook. Checkout validates the cart and returns any applicable payment methods and fees. Submit Order is where the user's order is sent to you for fulfillment by the restaurant. To send updates back to Google after the order has been submitted, such as cancellation or total amount changes, you need to call the Async Order Update API.

Inventory feeds

Inventory feeds are how a user discovers and orders from a desired restaurant. The relational inventory schema defines the structure of your Order with Google inventory. An Order with Google inventory feed consists of the following main entities:

Batch feeds

Google uses a daily batch feed of your inventory feeds to make Order with Google available to users. To keep your inventory up to date, you must update your batch feeds at least once a day for Google to fetch. It takes about two hours for your inventory to be updated by a batch.

Incremental Updates API

You can send time-sensitive updates of your inventory to Google. The Incremental Updates API lets you update and delete entities in your inventory in almost real time. Incremental updates are processed in no more than five minutes. This is primarily intended for updates that you can't foresee, such as emergency restaurant closures or removal of an out-of-stock item. If your change doesn't need to be reflected immediately, use the batch feeds instead.

Fulfillment actions

A webhook is used to validate and receive orders from Google. Order with Google has two fulfillment actions that your webhook URL needs to consume:

  • The Checkout action is used to validate the cart and delivery address of the user. It also returns the available payment options, corresponding taxes, delivery fees, and other charges for the user to confirm before the order is submitted.
  • The Submit Order action is used when you receive the final details of the order from Google for restaurants to fulfill.

Async Order Update API

After the order is submitted, you can call the Async Order Update API to send back order updates to Google. This lets users check their order status in Google. You can update the order status, fulfillment time, customer service information, and item and price changes.

Integration phases

The integration process is divided into four parts: setup, development, testing, and deployment. Our existing partners mostly take two to six months to integrate with Order with Google, which depends on the resources available to them and the complexity of their integration. We suggest that a customer support expert assist you for the pilot program.

Setup

Review the policies and prerequisites before you start your integration with Order with Google. You need to create an Order with Google project in Actions Console by following the project creation steps. You must submit your project for review and approval to Google before all of the features required for full integration are enabled in your project.

Development

After setup, create feeds manually and test the appearance of your inventory in Order with Google. Write the code when you're ready to conduct a full-scale development. First generate your inventory feeds and then implement the Checkout and Submit Order actions. You implement the Incremental Inventory Update and Async Order Update APIs after your inventory feeds and fulfillment actions are complete.

Testing

Use Quick Testing to unit test or perform end-to-end testing with your inventory feeds and fulfillment action endpoint. Run the Automated Integration Test Tool to test your Checkout and Submit Order actions with different test conditions and edge cases.

Finally, perform more end-to-end tests that include real orders from your own testers and verify fulfillment to restaurants. Your webhook URL must be in production to do this.

Google might choose to do an internal dogfooding and contract "mystery shoppers." We also recommend that you perform pilot programs within your company.

Launch
After we review the test orders and approve the test traffic, you're ready to launch. We look for less than a 5% error rate for all integration touch points: inventory, checkout, order submission, and async order updates. For more details, see Launch readiness checklist.

Launch requirements