Manage Google Updates

  • Google My Business uses various sources to ensure business information accuracy and notifies owners of suggested updates through the Business Information API.

  • The API enables business owners to find locations with pending updates, review the suggested changes, and either accept or reject them to maintain accurate business information.

  • Business owners can leverage real-time notifications with Cloud Pub/Sub or utilize the locations.get call to identify locations with pending Google Updates.

  • Accepting or rejecting updates involves using the locations.patch call with specific parameters to reflect the desired changes to the business information.

  • After processing updates, it's crucial to review the results using the locations.getGoogleUpdated response and the hasGoogleUpdated flag within the location's metadata to confirm successful application.

To keep your business profile as accurate as possible, Google uses information from sources like user reports and licensed content. If the information provided by business owners is reported as incorrect, Google notifies the listing owners. Listing owners can then accept or reject the updates.

As a listing owner, the My Business Business Information API lets you review these updates to make sure that your business information is accurate. This guide describes how to accept or reject updates.

To manage your Google Updates, complete the following steps:

  1. Find locations with pending updates
  2. Review updated fields
  3. Accept or reject updates
  4. Review the results

Find locations with pending updates

Before you can accept or reject updates, you must find out which locations have Google Updates available. The best way to get Google Updates for locations is to Manage real-time notifications with Cloud Pub/Sub. If you receive a GOOGLE_UPDATE notification on your Pub/Sub topic, a change is ready for your review. The locationName field on the notification provides the resource name of the location with Google Updates.

Alternatively, you can see the call locations.get and inspect the Metadata for the presence of the hasGoogleUpdated flag. If "isGoogleUpdated": true, the place ID associated with this location has updates.

Request

The following is an locations.get request example:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

Request

The following is an locations.get response example:

{
  "name": "locations/{locationId}",
  "title": "Test Business",
  "phoneNumbers": {
      "primaryPhone": "02 9374 4000"
   },
  ...
  "metadata": {
    "hasGoogleUpdated": true,
    ...
  }
  ...
}

Review updated fields

To review the specific fields that have Google Updates, call locations.getGoogleUpdated.

This method returns two important masks in the response body:

  • diffMask: Indicates fields where the serving data (what customers see on Google Maps and Search) differs from your local preferred values. This is typically driven by Google updates or user-generated content. You must accept or reject these fields to resolve the discrepancy.
  • pendingMask: Indicates fields where you previously submitted an update, but the update is still processing and has not yet been pushed to Google Maps and Search. You do not need to take action on these fields.

Request

The following is an locations.getGoogleUpdated request example:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated

Response

The following is an locations.getGoogleUpdated response example. It shows an available update in the phoneNumbers.primaryPhone field. The value in this response is the suggested update value:

{
  "location": {
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "+1 111 111 1111"
     },
    ...
  },
  "diffMask": "phoneNumbers.primaryPhone"
}

Accept or reject updates

To resolve the fields listed in the diffMask, you must accept or reject the updates using a locations.patch request:

  • Accept an update: Patch the location using the new value returned in the getGoogleUpdated response. This updates your local record to match the serving data.
  • Reject an update: Patch the location using your original preferred value. This re-asserts your preferred data through the update pipeline and overwrites the serving data.

In both cases, set the updateMask to cover the fields you want to resolve.

Accept a request

The following is an locations.patch request example:

HTTP
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=phoneNumbers.primaryPhone
{
    "phoneNumbers": {
      "primaryPhone": "+1 111 111 1111"
     },
}

Response

The following is an locations.patch response example:

{
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "+1 111 111 1111"
     },
    ...
}

Reject a request

The following is an locations.patch request example:

HTTP
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=phoneNumbers.primaryPhone
{
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "222 222 2222"
     },
    ...
}

Response

The following is an locations.patch response example:

{
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "222 222 2222"
     },
    ...
}

Review the results

If your location is patched successfully, the diffMask field in the locations.getGoogleUpdated response shows the values as "diffMask": "". Also, the flag "hasGoogleUpdated" within Metadata shows the value as false, or no value is present.

If the field values aren't clear, reach out to our support team with the request and response for getGoogleUpdated. The request must include the response before the locations.patch call, the patch call, and the getGoogleUpdated call.