Apple Search Ads: supported metrics & dimensions
Table of contents
Metrics supported
Metrics
| Group | Name | Description |
|---|---|---|
| Performance | Impressions | The number of times your ad appears in App Store search results within the reporting period. |
| Clicks | The number of times users tap your ad within the reporting period. | |
| Installs (total) | The total number of tap-through and view-through new downloads and redownloads within the reporting period. | |
| Installs (view) | The total number of new downloads and redownloads from people who viewed your ad, but didn’t tap it, within a 1-day attribution window. | |
| Installs (tap) | The total number of new downloads and redownloads from people who tapped your ad within a 30-day attribution window. | |
| New downloads (total) | The total number of tap-through and view-through new downloads within the reporting period. | |
| New downloads (view) | New downloads from people who viewed your ad, but didn’t tap it, within a 1-day attribution window. The API counts new downloads when someone downloads your app to a device where your app hasn’t previously been installed. | |
| New downloads (tap) | New downloads from people who tapped your ad within a 30-day attribution window. The API counts new downloads when someone downloads your app to a device where your app hasn’t previously been installed. | |
| Redownloads (total) | The total number of tap-through and view-through redownloads within the reporting period. | |
| Redownloads (view) | Redownloads from people who viewed your ad, but didn’t tap it, within a 1-day attribution window. The API counts redownloads when someone downloads your app, deletes it, and downloads it again on the same device, or a different one, following an ad view. | |
| Redownloads (tap) | Redownloads from people who tapped your ad within a 30-day attribution window. The API counts redownloads when someone downloads your app, deletes it, and downloads it again on the same device, or a different one, following an ad tap. | |
| Conversion rate (total) | The total number of installs divided by the total number of taps within the reporting period. | |
| Conversion rate (tap) | The total number of tap-through installs divided by the total number of taps within the reporting period. | |
| Clicks | CTR | The tap-through rate (TTR) is calculated by dividing the number of taps your ad receives by the total number of impressions. |
| Cost | Amount spend | The total spend of a campaign in the local currency of the organization. |
| Amount spend currency | Local currency of organization. | |
| CPA (total) | The total campaign spend divided by the total number of installs within the reporting period. | |
| CPA (tap) | The total campaign spend divided by the number of tap-through installs within the reporting period. | |
| CPC | The average cost-per-tap (CPT) is determined by dividing total spend by the number of taps. | |
| CPM | The average cost per one thousand ad impressions (CPM). |
Performance reports
All reports have same metrics returned, only dimensions are different based on selected report.
Campaign performance dimensions
| Group | Name | Description |
|---|---|---|
| Account | Account Id | The identifier of the organization that owns the campaign. |
| Account name | Ad account name. | |
| App | App Adam Id | Your unique App Store app identifier. You can obtain your app adamId through Search for iOS Apps, Get a Campaign, or Get All Campaigns. You can use the EQUALS and IN selector Condition operators with Find Campaigns. |
| App name | App name. | |
| Report | Date | Report date. |
| Campaign | Campaign Id | A unique identifier for the campaign that you can use as a campaignid in endpoint resources. |
| Campaign name | The name of the campaign, which is unique within an organization. Maximum Length: 200. | |
| Campaign status | The status of the campaign. Possible Values: DELETED, ON_HOLD, PAUSED, RUNNING. | |
| Campaign entity status | The user-controlled status to enable or pause the campaign. Possible Values: ENABLED, PAUSED. | |
| Campaign serving status | The status of the campaign. Possible Values: RUNNING, NOT_RUNNING. | |
| Serving state reasons | A list of reasons that displays when a campaign can’t run. | |
| Lifetime budget | The lifetime budget amount available to a campaign. Campaigns require a dailyBudgetAmount or a budgetAmount, or both. | |
| Lifetime budget currency | Local currency of organization. | |
| Daily budget | Your daily budget. Campaigns require a dailyBudgetAmount or a budgetAmount, or both. | |
| Daily budget currency | Local currency of organization. | |
| Billing event | The type of billing event for a campaign. Possible Values: IMPRESSIONS, TAPS. | |
| Target countries or regions | The App Store geoterritories where you’re promoting your app. Default value is US. Use an alpha-2 country code value, such as US, for the locations where you’re promoting. | |
| Countries or regions serving state reasons | The map of reasons that returns when a campaign isn’t running. Possible Values: ACCOUNT_DOC_APPROVAL_EXPIRED, ACCOUNT_DOC_APPROVAL_INFECTED, ACCOUNT_DOC_APPROVAL_NOT_SUBMITTED, ACCOUNT_DOC_APPROVAL_PENDING, ACCOUNT_DOC_APPROVAL_REJECTED, APP_CONTENT_REJECTED, APP_CONTENT_REVIEW_PENDING, APP_DOC_APPROVAL_EXPIRED, APP_DOC_APPROVAL_INFECTED, APP_DOC_APPROVAL_NOT_SUBMITTED, APP_DOC_APPROVAL_PENDING, APP_DOC_APPROVAL_REJECTED, APP_NOT_ELIGIBLE, APP_NOT_ELIGIBLE_SEARCHADS, APP_NOT_ELIGIBLE_SUPPLY_SOURCE, APP_NOT_PUBLISHED_YET, FEATURE_NOT_AVAILABLE_IN_COUNTRY_OR_REGION, SAPIN_LAW_AGENT_UNKNOWN, SAPIN_LAW_FRENCH_BIZ, SAPIN_LAW_FRENCH_BIZ_UNKNOWN | |
| Supply sources | The ad placements for a campaign. | |
| Ad channel type | The channel type of an ad in a campaign. Possible values are SEARCH, DISPLAY. | |
| Campaign updated at | The date and time of the most recent modification of the object. | |
| Is campaign deleted | Indicates whether the campaign is soft-deleted. | |
| Return other impressions | The impressions that return in reports when there are fewer than 100 demographic dimensions, and fewer than 10 search terms. If Other is true, the corresponding dimensions are null. |
Ad group performance dimensions
| Group | Name | Description |
|---|---|---|
| Account | Account Id | The identifier of the organization that owns the campaign. |
| Account name | Ad account name. | |
| Report | Date | Report date. |
| Campaign | Campaign Id | The unique identifier for a campaign. You can use the EQUALS, IN, and STARTSWITH selector Condition operators with Find Ad Groups. |
| Return other impressions | The impressions that return in reports when there are fewer than 100 demographic dimensions, and fewer than 10 search terms. If Other is true, the corresponding dimensions are null. | |
| Ad group | Ad group Id | The unique identifier for the ad group that you can use as adGroupId in endpoint resources. |
| Ad group name | The unique name of the ad group. | |
| Start time | The scheduled start date and time for the ad group. The startTime is updatable. | |
| End time | The scheduled end time and date for the ad group. The endTime is updatable. | |
| CPA goal | The cost-per-acquisition goal. Can be updated only in campaigns that use the APPSTORE_SEARCH_RESULTS supply source. | |
| Ad group status | The status of the ad group. Possible Values: DELETED, ON_HOLD, PAUSED, RUNNING. | |
| Ad group entity status | The user-controlled status to enable or pause the ad group. This field is updatable. Possible Values: ENABLED, PAUSED. | |
| Ad group serving status | The status of whether the ad group is serving. Possible Values: NOT_RUNNING, RUNNING. | |
| Serving state reasons | A list of reasons that displays when an ad group isn’t running. | |
| Automated keywords opt-in | The parameter for enabling and disabling Search Match. If true, the system automatically adds optimized keywords in addition to those you explicitly add to the ad group. | |
| Pricing model | The type of pricing model for a bid. Possible Values: CPC, CPM. | |
| Default bid amount | The default maximum cost-per-tap or cost-per-impression bid for the ad group. | |
| Ad group updated at | The date and time of the most recent modification of the object. | |
| Is ad group deleted | Indicates whether the ad group is soft-deleted. |
Ad performance dimensions
| Group | Name | Description |
|---|---|---|
| Account | Account Id | The identifier of the organization that owns the campaign. |
| Account name | Ad account name. | |
| Report | Date | Report date. |
| Campaign | Campaign Id | The unique identifier for a campaign. |
| Return other impressions | The impressions that return in reports when there are fewer than 100 demographic dimensions, and fewer than 10 search terms. If Other is true, the corresponding dimensions are null. | |
| Ad group | Ad group Id | The unique identifier for an ad group. You can use the EQUALS and IN selector Condition operators with Find Ads. |
| Ad Id | An adId is a unique identifier that represents the assignment relationship between an ad group and an ad. | |
| Ad | Ad name | The unique name of the ad assigned to an ad group. This field is required for creating and updating ads. Maximum Length: 255. |
| Ad status | The status of the ad. This field is required in requests to Create and Update an Ad. See AdStatus for value descriptions. | |
| Language | Language of the Ad. | |
| Creative type | The type of creative. See CreativeType for value descriptions. You can create one creative per custom product page per organization. | |
| Creative Id | The unique identifier for a creative. Required for creating an ad. | |
| Serving state reasons | A list of reasons that displays when an ad isn’t running. See AdServingStatus for value descriptions. | |
| Product page Id | Product page Id. | |
| Ad created at | The date and time of the creation of the Ad object. You can use the EQUALS, LESS_THAN, and GREATER_THAN selector Condition operators with Find Ads. | |
| Ad updated at | The date and time of the most recent modification of the ad. | |
| Is ad deleted | Indicates whether an ad is deleted. |
Keyword performance dimensions
| Group | Name | Description |
|---|---|---|
| Account | Account Id | The identifier of the organization that owns the campaign. |
| Account name | Ad account name. | |
| Report | Date | Report date. |
| Campaign | Campaign Id | The unique identifier for the campaign. |
| Return other impressions | The impressions that return in reports when there are fewer than 100 demographic dimensions, and fewer than 10 search terms. If Other is true, the corresponding dimensions are null. | |
| Ad group | Ad group Id | The unique identifier for the ad group that the targeting keyword belongs to. You can use the EQUALS and IN selector Condition operators with Find Targeting Keywords in a Campaign. |
| Ad group name | The unique name of the ad group. | |
| Is ad group deleted | Specifies if ad group was deleted. | |
| Keyword | Keyword Id | A unique identifier for the targeting keyword used to update keyword bids or statuses in an ad group. |
| Keyword name | The word or phrase targeted in App Store user searches to display your ad. | |
| Keyword status | Display status. | |
| Keyword entity status | The user-controlled status of the keyword. Possible Values: ACTIVE, PAUSED. | |
| Match type | The match type for automated keyword and bidding strategy. Possible values are BROAD or EXACT. BROAD is used to cover relevant, close variants of a keyword. EXACT targets specific terms and close variants like common misspellings and plurals. | |
| Bid amount | The maximum cost-per-tap/impression bid amount. If null, uses the defaultBidAmount from the corresponding ad group. If automatedKeywordsOptIn=true in an ad group update, it uses optimized keywords with the defaultBidAmount. | |
| Keyword updated at | The date and time of the most recent modification of the keyword object. | |
| Is keyword deleted | Indicates whether the keyword is soft-deleted. | |
| Suggested bid | An indicator that varies over time to help you incrementally increase the likelihood of your ad showing in searches in the App Store. A suggestedBidAmount isn’t a representation of a bid floor or ceiling. A suggestedBidAmount is based on various factors, including, but not limited to, historical data related to past performance and recommendations. Actual outcomes, including changes in spend and average CPA, may vary. |
Search term performance dimensions
| Group | Name | Description |
|---|---|---|
| Account | Account Id | The identifier of the organization that owns the campaign. |
| Account name | Ad account name. | |
| Report | Date | Report date. |
| Campaign | Campaign Id | The unique identifier for the campaign. |
| Return other impressions | The impressions that return in reports when there are fewer than 100 demographic dimensions, and fewer than 10 search terms. If Other is true, the corresponding dimensions are null. | |
| Ad group | Ad group Id | The unique identifier for the ad group the search term belongs to. |
| Ad group name | The name of the ad group, unique within the campaign. Responses don’t include deleted ad groups. | |
| Is ad group deleted | An indicator of whether the ad group is soft-deleted. You can use the EQUALS and IN selector Condition operators with Get Search Term-Level Reports. | |
| Keyword | Keyword Id | The unique identifier for a keyword that belongs to an ad group. |
| Keyword name | The targeting or negative keywords. | |
| Keyword status | The state of the keyword display operation. Possible Values: AD_GROUP_ON_HOLD, CAMPAIGN_ON_HOLD, DELETED, PAUSED, RUNNING. | |
| Match type | An automated keyword and bidding strategy. Possible Values: AUTO, BROAD, EXACT. AUTO indicates optimized keyword additions, BROAD covers close variants, and EXACT targets specific terms and their close variants. | |
| Search term | Search term text | The search terms used for app searches. |
| Search term source | The source of the keyword used as a search term. Possible Values: AUTO, TARGETED. AUTO for Search Match automatic matching, TARGETED for bidded keywords. | |
| Is search term deleted | An indicator of whether the search term is soft-deleted. |
Demo & Geo insights reports
Beyond the general dimensions such as Campaign ID, name, and status, demo&geo insights reports enable you to analyze metrics with the following breakdowns:
| Report Level | Supported Dimensions |
|---|---|
| Campaign | Country, Admin Area, Age, Device Type, Gender, Locality |
| Ad Group | Country, Admin Area, Age, Device Type, Gender, Locality |
| Ad | Country |
| Keyword | Country |
| Search Term | Country |