Contents

Campaigns Report (Brands)

Retrieve performance metrics for Apple Maps campaigns.

URL

POST https://api.ads.apple.com/v1/reports/business-brands/campaigns/query

Header Parameters

NameTypeDescription
X-Ap-Context Requiredstring

Response Codes

StatusReasonTypeDescription
200OK
Content-Type: application/json
BrandsCampaignReportResponse

Successful response. Returns BrandsCampaignReportResponse (result: BrandsCampaignResultContainer).

400Bad Request
Content-Type: application/json
Error

Bad Request. Returns ErrorResponse.

401Unauthorized
Content-Type: application/json
Error

Unauthorized.

403Forbidden
Content-Type: application/json
Error

Forbidden.

404Not Found
Content-Type: application/json
Error

Not Found. Returns ErrorResponse.

429Too Many Requests
Content-Type: application/json
Error

Rate Limit Exceeded. Returns ErrorResponse.

500Internal 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

See BrandsReportingRequest.

Brand campaign reports can be grouped by device type, business location, or ad placement.

Dimension

Description

deviceClass

Break down metrics by device type (IPHONE, IPAD).

locationId

Break down metrics per business location.

supplyPlacement

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

localSpend

Total spend in the account currency

impressions

Total number of ad impressions

taps

Total number of taps on the ad

ttr

Tap-through rate (taps / impressions)

cpt

Average cost per tap

cpm

Cost per thousand impressions

firstActions

First-time engagement actions taken after an ad tap

firstActionsPerTap

First actions divided by taps

firstActionsPerImpression

First actions divided by impressions

costPerFirstAction

Spend divided by first actions

actions

Total actions (directions, calls, URL taps, shares, etc.)

costPerAction

Spend divided by actions

getDirections

Count of Get Directions taps

tapURL

Count of URL taps

call

Count of Call actions

share

Count of Share actions

getTheApp

Count of Get the App taps

galleryEngagement

Count of gallery photo engagements

actionsPerTap

Actions divided by taps

actionsPerImpression

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

DAILY

Date range start must be within the last 90 days. Date range must be greater than one day.

HOURLY

Date range start must be within the last 7 days.

WEEKLY

Date range start within the last 365 days. End date must be at least 14 days in the past.

MONTHLY

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

EMPTY_METRICS

Not supported for business-brands.

Timezone

Use ORTZ (reporting timezone) or UTC.

Payload Examples

See Also