Campaigns Report (Brands)
Retrieve performance metrics for Apple Maps campaigns.
URL
POST https://api.ads.apple.com/v1/reports/business-brands/campaigns/queryHeader Parameters
| Name | Type | Description |
|---|---|---|
X-Ap-Context Required | string |
Response Codes
| Status | Reason | Type | Description |
|---|---|---|---|
| 200 | OK Content-Type: application/json | BrandsCampaignReportResponse | Successful response. Returns BrandsCampaignReportResponse ( |
| 400 | Bad Request Content-Type: application/json | Error | Bad Request. Returns ErrorResponse. |
| 401 | Unauthorized Content-Type: application/json | Error | Unauthorized. |
| 403 | Forbidden Content-Type: application/json | Error | Forbidden. |
| 404 | Not Found Content-Type: application/json | Error | Not Found. Returns ErrorResponse. |
| 429 | Too Many Requests Content-Type: application/json | Error | Rate Limit Exceeded. Returns ErrorResponse. |
| 500 | Internal Server Error Content-Type: application/json | Error | Internal Server Error. Returns ErrorResponse. |
Discussion
These reports return one row per campaign. Each row contains a metadata object with campaign identifiers, totalMetrics aggregated over the full date range, and a granularMetrics array broken down by the selected granularity.
Use filters to scope results to specific campaigns by campaignId. Use groupBy to split metrics along a dimension: each dimension value produces its own row within the campaign’s result.
See Filter for the full set of supported comparison operators.
Request Body
Brand campaign reports can be grouped by device type, business location, or ad placement.
Dimension | Description |
|---|---|
| Break down metrics by device type ( |
| Break down metrics per business location. |
| Break down metrics by ad placement. |
The following metrics are available for brand campaign reports, covering spend, engagement, and the individual Apple Maps action types.
Metric | Description |
|---|---|
| Total spend in the account currency |
| Total number of ad impressions |
| Total number of taps on the ad |
| Tap-through rate ( |
| Average cost per tap |
| Cost per thousand impressions |
| First-time engagement actions taken after an ad tap |
| First actions divided by taps |
| First actions divided by impressions |
| Spend divided by first actions |
| Total actions (directions, calls, URL taps, shares, etc.) |
| Spend divided by actions |
| Count of Get Directions taps |
| Count of URL taps |
| Count of Call actions |
| Count of Share actions |
| Count of Get the App taps |
| Count of gallery photo engagements |
| Actions divided by taps |
| Actions divided by impressions |
Granularity constraints follow the usual date range rules, from a 7-day lookback for HOURLY to a 90-day-old end date for MONTHLY.
Granularity | Constraint |
|---|---|
| Date range start must be within the last 90 days. Date range must be greater than one day. |
| Date range start must be within the last 7 days. |
| Date range start within the last 365 days. End date must be at least 14 days in the past. |
| End date must be at least 90 days in the past. |
To request a single day of data, omit granularity entirely. For a single-day request, the response returns results in totalMetrics only, since there is no granularMetrics breakdown to compute.
The EMPTY_METRICS value isn’t supported for business-brands, and only ORTZ or UTC timezones are accepted.
Constraint | Detail |
|---|---|
| Not supported for |
Timezone | Use |