Get business profile metrics
GET/api/v2/presence/analytics/metrics
This endpoint lets you view the Google Business Profile analytics for all your businesses subscribed to Presence Management. The API allows you to select what data you're interested in, and how you want it aggregated (daily, monthly, by business, etc.). You can also filter the results to limit it to a certain date range, and to certain business.
Google Business Profile doesn't provide reliable data for the most recent 5 days.
You can choose the analytics you want to get among:
- impressions: desktop maps impressions, mobile maps impressions, desktop search impressions, and mobile search impressions
- actions: website link clicks, phone calls, and driving directions
You can use the following filters:
- by businesses (businesses id in list or not in list)
- by date (analytics before and/or after a date)
- by business query. Will return matches for the business name, zipcode or city
- by business city.
The response can be aggregated by:
- business id
- by date: either by day, week, month or year
- by both business id and date
The response can be ordered in ascending or descending order by any of the selected dimensions or metrics. See examples for more details.
Request
Query Parameters
- before a field to order_by DESC, nothing for ASC
Possible values: >= 1
Default value: 1
Page of items to fetch
Possible values: >= 1
Number of items per page.
Limit results to a specific businesses
Filter by date
Return all the analytics whose date
>= given_date
.
Filter by date
.
Return all the analytics whose date
<= given_date
.
Possible values: [business_impressions_desktop_maps
, business_impressions_desktop_search
, business_impressions_mobile_maps
, business_impressions_mobile_search
, business_direction_requests
, call_clicks
, website_clicks
]
List of analytics to return. At least one in that list.
Possible values: [business
, day
, week
, month
, year
]
How the returned data will be aggregated. At most 'business' and one time dimensions of the list. If no dimension is given, the request will return the sum of each metric for all requested days and businesses.
Where the object is either a dimension or a metric and is used in the request. At most one in the list.
Filter by city
Parameter to fuzzy search businesses on city, zipcode and name.
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 500
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Possible values: >= 1
Default value: 1
Current page
Possible values: >= 1
Default value: 1
Max page based on current per_page
value and count
Default value: 0
Number of items per page.
items
object[]
required
Business impressions on Google Maps on Desktop devices. Multiple impressions by a unique user within a single day are counted as a single impression.
Business impressions on Google Maps on Mobile devices. Multiple impressions by a unique user within a single day are counted as a single impression.
Business impressions on Google Search on Desktop devices. Multiple impressions by a unique user within a single day are counted as a single impression.
Business impressions on Google Search on Mobile devices. Multiple impressions by a unique user within a single day are counted as a single impression.
The number of times a direction request was requested to the business location.
Customers who call your business
Customers who click on your website link
First day of the aggregation
Time aggregation requested
{
"page": 1,
"max_page": 1,
"count": 0,
"items": [
{
"business_id": "string",
"business_impressions_desktop_maps": 123,
"business_impressions_mobile_maps": 123,
"business_impressions_desktop_search": 123,
"business_impressions_mobile_search": 123,
"business_direction_requests": 123,
"call_clicks": 123,
"website_clicks": 123,
"date": "2019-11-05",
"bucket": "day"
}
]
}
- application/json
- Schema
- Example (from schema)
Schema
HTTP status code
Error message
Error name
{
"statusCode": 404,
"message": "Cannot find item",
"error": "Not Found"
}
- application/json
- Schema
- Example (from schema)
Schema
HTTP status code
Error message
Error name
{
"statusCode": 404,
"message": "Cannot find item",
"error": "Not Found"
}
- application/json
- Schema
- Example (from schema)
Schema
HTTP status code
Error message
Error name
{
"statusCode": 404,
"message": "Cannot find item",
"error": "Not Found"
}
- application/json
- Schema
- Example (from schema)
Schema
HTTP status code
Error message
Error name
{
"statusCode": 404,
"message": "Cannot find item",
"error": "Not Found"
}
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
HTTP status code
Error message
Possible values: [query
, body
, response
, param
]
Where in the request the error occurred
errors
object[]
required
Possible values: non-empty
Path to the property with the error
constraints
object
required
Error message
{
"statusCode": 404,
"message": "Cannot find item",
"location": "query",
"errors": [
{
"path": "business.id",
"constraints": {
"object_required_property": "Required property"
}
}
]
}
- application/json
- Schema
- Example (from schema)
Schema
HTTP status code
Error message
Error name
{
"statusCode": 404,
"message": "Cannot find item",
"error": "Not Found"
}