Ads Endpoints
Create, retrieve, update, and delete ads using these endpoints.
Overview
An Ad object connects a Creative to an ad group. The ad is the serving unit: It tells the system which ad creative to show when the ad group wins an auction. An ad group can contain multiple ads, but only one ad per ad group can be ENABLED at a time. Enabling a different ad requires pausing the one currently serving.
Creating an ad requires a name, a status, the adGroupId of the target ad group, and a creativeId referencing an existing Creative. Create the ad creative first, then reference its id here. The campaignId, adAccountId, and other system fields are read-only, and the system populates them automatically at creation.
Use the Ads Endpoints
Use these endpoints to create, retrieve, update, and delete ads:
Method | Path | Description |
|---|---|---|
|
| Post Ads creates a new ad. |
|
| Post Ads Query retrieves ads matching the specified filters. |
|
| Get Ads _id_ retrieves a single ad by its ID. |
|
| Put Ads _id_ updates an existing ad. |
|
| Delete Ads _id_ soft-deletes an ad by its ID. |
Track Ad Status and System Status
Ads have three status fields that together determine whether an ad is serving:
status: The advertiser-controlled field. Set it toENABLEDto let the ad serve, orPAUSEDto stop delivery without deleting the ad. You can only updatestatusandnameafter creation.systemStatus: A system-computed field that reflects whether the ad is actually running. A value ofRUNNINGmeans the ad is active and eligible to serve, and a value ofNOT_RUNNINGmeans the system identified a condition that’s preventing delivery.displayStatus: A system-computed field that represents a rolled-up label combiningstatusandsystemStatusinto a single delivery state. See AdDisplayStatus for all values.
When systemStatus is NOT_RUNNING, the system populates the systemStatusReasons array with one or more values explaining why. Reasons marked App Store-specific apply only to App Store ads. Unless marked, a reason applies to both App Store and Apple Maps ads:
Reason | Description |
|---|---|
| The ad is awaiting Apple review. |
| Apple reviewed and rejected the ad. |
| The advertiser hasn’t submitted the required creative documentation for review. |
| Apple is reviewing the submitted creative documentation. |
| Apple rejected the creative documentation during review. |
| The previously approved creative documentation has expired. |
| General processing state. The ad isn’t yet ready to serve. |
| The advertiser set the ad’s |
| The system paused the ad due to a policy or account condition. |
| The advertiser deleted the ad. |
| The associated ad creative is invalid. |
| The current placement doesn’t support the associated ad creative type. |
| The associated ad creative is invalid and can’t serve. |
| The associated ad creative is pending validation or Apple review. |
| The ad creative locale doesn’t match the targeted market. |
| App Store-specific. The developer deleted the linked product page in App Store Connect. |
| App Store-specific. The developer hid the linked product page in App Store Connect. |
| App Store-specific. The product page is incompatible with the current campaign configuration. |
| App Store-specific. The product page doesn’t have enough assets to render the ad. |
| App Store-specific. The product page is temporarily unavailable. |
Interpret System Status Limiting Reasons
When an ad is running but delivering at reduced capacity, the system populates the systemStatusLimitingReasons array. Unlike systemStatusReasons, these reasons don’t stop delivery. Instead, they constrain reach. There’s one possible value, CREATIVE_POLICY_ISSUES, which means the ad creative associated with the ad has policy conditions that limit but don’t fully stop delivery.
Understand Apple Review Requirements
Apple must approve ads before they can serve. For App Store ads, the review covers the ad creative content and product page. For Apple Maps ads, the review covers the brand ad creative instead.
The CREATIVE_PENDING and CREATIVE_INVALID reasons reflect this review state. While an ad is under review, systemStatus is NOT_RUNNING and systemStatusReasons includes AD_APPROVAL_PENDING or CREATIVE_PENDING. Once Apple approves the ad, systemStatus changes to RUNNING unless the advertiser sets status to PAUSED or schedules a future start date.