Page Summary
-
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.getcall to identify locations with pending Google Updates. -
Accepting or rejecting updates involves using the
locations.patchcall 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.getGoogleUpdatedresponse and thehasGoogleUpdatedflag 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:
- Find locations with pending updates
- Review updated fields
- Accept or reject updates
- 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:
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:
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
getGoogleUpdatedresponse. 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:
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:
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.