<!--
{
  "availability" : [
    "Apple Ads Platform API: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Apple-Ads-Platform-API",
  "identifier" : "/documentation/Apple-Ads-Platform-API/ProductFeatures",
  "metadataVersion" : "0.1.0",
  "role" : "Type",
  "symbol" : {
    "kind" : "Type",
    "modules" : [
      "Apple Ads Platform API"
    ],
    "preciseIdentifier" : "data:apple-ads-platform-api:ProductFeatures"
  },
  "title" : "ProductFeatures"
}
-->

# ProductFeatures

Product features are the advertising capabilities for an ad account.

```
string ProductFeatures
```

## Discussion

The `productFeatures` array on an [`AdAccount`](/documentation/Apple-Ads-Platform-API/AdAccount) controls whether campaigns in that account run on App Store or Apple Maps. You set `productFeatures` when creating an ad account (it’s required on `AdAccountCreate`). It can’t be changed after the account is created. An account is authorized for App Store or Apple Maps, not both.

An account configured for App Store advertising can’t create Apple Maps campaigns. An account configured for Apple Maps advertising can’t create App Store campaigns. If your organization needs campaigns on both App Store and Apple Maps, create a dedicated ad account for each.

### Enable App Store advertising

The `APPSTORE_APP_MANUAL` feature authorizes an ad account for App Store advertising. Campaigns in this account promote iOS apps across App Store placements. Every campaign must set `promotedObjectType` to `APPSTORE_APP` and identify the app by its `adamId`. The app must pass an eligibility check (see [`Check App Eligibility`](/documentation/Apple-Ads-Platform-API/Find-Apps-eligibilities)) before the campaign can serve.

### Enable Apple Maps advertising

The `BUSINESS_BRAND_MANUAL` feature authorizes an ad account for Apple Maps advertising. Campaigns in this account promote brands on Apple Maps. Every campaign must set `promotedObjectType` to `BUSINESS_BRAND`.

### Link the required delegations

Delegations link the appropriate advertiser resource to an ad account. For App Store accounts this will be a `CONTENT_PROVIDER`. For Apple Maps accounts this will be a `BUSINESS_BRAND`. This delegation, together with the matching `productFeatures` value, must be in place before campaigns can go live.

To promote an app with Apple Ads, you must link to an App Store Connect account. If you have multiple App Store Connect accounts, you can link each one to your Apple Ads account to promote the associated apps.

To link a resource, use [`Create Ad Accounts`](/documentation/Apple-Ads-Platform-API/POST-ad-accounts) (`POST /v1/ad-accounts`) or [`Update Ad Accounts`](/documentation/Apple-Ads-Platform-API/PUT-ad-accounts-_id_) (`PUT /v1/ad-accounts/{id}`) with the `delegations` field. Set `resourceType` to one of the values defined in [`AdvertiserResourceType`](/documentation/Apple-Ads-Platform-API/AdvertiserResourceType). The `resourceId` is the CPID or Brand ID value.

**App Store: `CONTENT_PROVIDER`**

```json
{
  "resourceId": "12345678",
  "resourceType": "CONTENT_PROVIDER"
}
```

**Apple Maps: `BUSINESS_BRAND`**

```json
{
  "resourceId": "9876543",
  "resourceType": "BUSINESS_BRAND"
}
```

**Create: `POST /v1/ad-accounts` (<doc://com.apple.apple-ads-platform-api/documentation/Apple-Ads-Platform-API/POST-ad-accounts>)**

The `delegations` field is optional but when included, each entry requires `resourceId` and `resourceType`.

```json
{
  "name": "AwayFinder Ad Account",
  "productFeatures": [
    "APPSTORE_APP_MANUAL"
  ],
  "delegations": [
    {
      "resourceId": "12345678",
      "resourceType": "CONTENT_PROVIDER"
    }
  ]
}
```

**Update: `PUT /v1/ad-accounts/{id}` (<doc://com.apple.apple-ads-platform-api/documentation/Apple-Ads-Platform-API/PUT-ad-accounts-_id_>)**

The `delegations` field is optional and nullable. Providing the array replaces all existing delegations in full. This endpoint doesn’t change `productFeatures`, which is fixed at creation.

```json
{
  "delegations": [
    {
      "resourceId": "12345678",
      "resourceType": "CONTENT_PROVIDER"
    }
  ]
}
```

See [`DelegationCreate`](/documentation/Apple-Ads-Platform-API/DelegationCreate) and [`DelegationUpdate`](/documentation/Apple-Ads-Platform-API/DelegationUpdate) for full field details.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)