---
title: Campaign
framework: Apple Ads Platform API
role: symbol
role_heading: Object
platforms: [apple ads platform api 1.0+]
path: apple-ads-platform-api/campaign
---

# Campaign

The top-level container that defines a campaign’s promoted object, billing, scheduling, and targeting.

## Declaration

```data
object Campaign
```

## Properties

adAccountId: The ad account this campaign belongs to. Read-only. name: Campaign name. Maximum 200 characters. Must be non-empty. Mutable. billingEvent: The event type that triggers a charge (for example, TAPS or IMPRESSIONS). See BillingEvent. Read-only. paymentModel: The payment model for this campaign (for example, LOC for Line of Credit or PAYG for Pay As You Go). See PaymentModel. System-set, Read-only. startTime: The scheduled start date and time of the campaign. Format: yyyy-MM-dd'T'HH:mm:ss.SSS in UTC (for example, 2026-06-07T00:00:00.000). Mutable. endTime: The scheduled end date and time. Format: yyyy-MM-dd'T'HH:mm:ss.SSS in UTC (for example, 2026-12-31T00:00:00.000). Omit to keep the campaign running indefinitely. Mutable. promotedObjectType: Whether this campaign promotes an App Store app (APPSTORE_APP) or a brand (BUSINESS_BRAND). See PromotedObjectType. Read-only. promotedObjectId: The identifier of the promoted entity: the adamId for App Store apps or the brand ID for Brands. Read-only. status: Captures the advertiser’s intent for the campaign to serve. See CampaignStatus. Mutable. systemStatus: System-computed operational status reflecting the campaign’s current serving state. See CampaignSystemStatus. System-set, Read-only. systemStatusReasons: System-applied reasons that contribute to the current systemStatus. See CampaignSystemStatusReason for possible values. System-set, Read-only. systemStatusLimitingReasons: System-applied reasons that limit delivery below maximum potential. See CampaignSystemLimitedStatusReason for possible values. System-set, Read-only. displayStatus: System-computed, rolled-up delivery state combining status and systemStatus into a single user-facing label. See CampaignDisplayStatus. System-set, Read-only. dailyBudget: The required daily spend cap for this campaign. Limits spending each calendar day, independent of any shared budget assignments. See DailyBudget. Mutable. sharedBudgets: One or more budget orders assigned to this campaign. Each assignment enforces a flight-period spending cap defined by the budget order’s startTime and endTime. A campaign must have a dailyBudget and may also have one or more shared budget assignments. See SharedBudgetAssignment. Mutable. targeting: Country or region, supply source, and placement targeting configuration for this campaign. See CampaignTargeting. Mutable. bidStrategy: The bid strategy governing how this campaign competes in auctions. See BidStrategy. Mutable. invoiceDetail: Invoice and billing contact details. Required for Line of Credit accounts. See InvoiceDetail. Mutable. regulationResponses: Regulatory consent acknowledgments required in certain markets. See RegulationResponse. Mutable. id: System-assigned unique identifier for this campaign. System-set, Read-only. creationTime: Timestamp when this campaign was created (ISO 8601). System-set, Read-only. modificationTime: Timestamp of the last modification to this campaign (ISO 8601). System-set, Read-only. deleted: Whether this campaign has been soft-deleted. System-set, Read-only.

## Discussion

Discussion A Campaign is the top-level advertising container that defines the promoted object, billing model, scheduling, and geographic targeting for a set of ad groups. Each campaign belongs to a single ad account and promotes either an App Store app (APPSTORE_APP) or a brand (BUSINESS_BRAND). The billingEvent, promotedObjectType, and promotedObjectId fields stay fixed after creation. To change any of them, create a new campaign. The status field captures the advertiser’s intent for the campaign to serve. The systemStatus field reflects Apple’s system assessment of whether the campaign can deliver. When systemStatus isn’t RUNNING, inspect systemStatusReasons to identify blocking conditions and systemStatusLimitingReasons for delivery-reducing (but non-blocking) factors. A required dailyBudget cap controls the campaign’s budget and limits daily spending. You can also assign a campaign to one or more shared budgets via sharedBudgets. The two budget controls function independently: dailyBudget enforces a daily cap. Each shared budget enforces a flight-period cap defined by its startTime and endTime. Fields you can filter and sort on when querying campaigns are listed in Query Campaigns. For the complete list of required and optional fields at creation, see CampaignCreate. For the fields that you can change after creation, see CampaignUpdate. Example {   "id": 123456789,   "adAccountId": 555666777,   "name": "AwayFinder Fall Launch",   "billingEvent": "TAPS",   "paymentModel": "LOC",   "startTime": "2025-01-10T08:00:00.000",   "endTime": "2025-12-31T00:00:00.000",   "promotedObjectType": "APPSTORE_APP",   "promotedObjectId": "987654321",   "status": "ENABLED",   "systemStatus": "RUNNING",   "systemStatusReasons": [],   "systemStatusLimitingReasons": [],   "displayStatus": "RUNNING",   "dailyBudget": {     "value": {       "amount": "100.00",       "currency": "USD"     }   },   "sharedBudgets": [     {       "budgetId": 246813579     }   ],   "targeting": {     "supplySource": {       "include": [         "APPSTORE"       ]     },     "supplyPlacement": {       "include": [         "APPSTORE_SEARCH_RESULTS"       ]     },     "countryOrRegion": {       "include": [         "US",         "CA"       ]     }   },   "bidStrategy": {     "bidStrategyType": "MANUAL_CPT",     "bidStrategyGoal": "TAP",     "bid": {       "amount": "2.50",       "currency": "USD"     }   },   "invoiceDetail": {     "name": "AwayFinder Q3 Invoice",     "orderNumber": "PO-2025-0456",     "clientName": "AwayFinder Inc.",     "primaryBuyerName": "Jordan Lee",     "primaryBuyerEmail": "jordan.lee@awayfinder.com",     "billingEmail": "billing@awayfinder.com"   },   "regulationResponses": [     {       "regulationType": "CAMPAIGN_SAPIN_LAW",       "responseValue": "NOT_ANSWERED"     }   ],   "creationTime": "2025-01-10T08:00:00.000",   "modificationTime": "2025-01-10T08:00:00.000",   "deleted": false }

## Topics

### Dictionaries

- [Campaign.BidStrategy](apple-ads-platform-api/campaign/bidstrategy-data.dictionary.md)
- [Campaign.DailyBudget](apple-ads-platform-api/campaign/dailybudget-data.dictionary.md)
- [Campaign.InvoiceDetail](apple-ads-platform-api/campaign/invoicedetail-data.dictionary.md)
- [Campaign.Targeting](apple-ads-platform-api/campaign/targeting-data.dictionary.md)

### Type Aliases

- [Campaign.BillingEvent](apple-ads-platform-api/campaign/billingevent-data.typealias.md)
- [Campaign.DisplayStatus](apple-ads-platform-api/campaign/displaystatus-data.typealias.md)
- [Campaign.PaymentModel](apple-ads-platform-api/campaign/paymentmodel-data.typealias.md)
- [Campaign.PromotedObjectType](apple-ads-platform-api/campaign/promotedobjecttype-data.typealias.md)
- [Campaign.Status](apple-ads-platform-api/campaign/status-data.typealias.md)
- [Campaign.SystemStatus](apple-ads-platform-api/campaign/systemstatus-data.typealias.md)
- [Campaign.SystemStatusLimitingReasons](apple-ads-platform-api/campaign/systemstatuslimitingreasons-data.typealias.md)
- [Campaign.SystemStatusReasons](apple-ads-platform-api/campaign/systemstatusreasons-data.typealias.md)

## See Also

- [CampaignCreate](apple-ads-platform-api/campaigncreate.md)
- [CampaignUpdate](apple-ads-platform-api/campaignupdate.md)
- [CampaignResponse](apple-ads-platform-api/campaignresponse.md)
- [CampaignQueryResponse](apple-ads-platform-api/campaignqueryresponse.md)
- [CampaignTargeting](apple-ads-platform-api/campaigntargeting.md)
- [CampaignTargetingCreate](apple-ads-platform-api/campaigntargetingcreate.md)
- [DailyBudget](apple-ads-platform-api/dailybudget.md)
- [DailyBudgetCreate](apple-ads-platform-api/dailybudgetcreate.md)
- [Money](apple-ads-platform-api/money.md)
- [InvoiceDetailCreate](apple-ads-platform-api/invoicedetailcreate.md)
- [LegacyAppLimitedStatusReasonDetailsResponse](apple-ads-platform-api/legacyapplimitedstatusreasondetailsresponse.md)
- [CampaignTargetingUpdate](apple-ads-platform-api/campaigntargetingupdate.md)
- [DailyBudgetUpdate](apple-ads-platform-api/dailybudgetupdate.md)
- [LegacyAppLimitedStatusReasonDetails](apple-ads-platform-api/legacyapplimitedstatusreasondetails.md)
- [ResponsePagination](apple-ads-platform-api/responsepagination.md)
