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

# AdGroupTargeting

The comprehensive audience and placement configuration for an ad group.

## Declaration

```data
object AdGroupTargeting
```

## Properties

country: Country targeting. Include a country ID returned by the Geo Search API. Include only. Used with App Store campaigns. See TargetingData. Mutable. adminArea: State or province targeting. Include admin area IDs returned by the Geo API. Include only. Used with App Store and Apple Maps campaigns. See TargetingData. Mutable. locality: City targeting. Include locality IDs returned by the Geo API. Include only. Used with App Store and Apple Maps campaigns. See TargetingData. Mutable. postalCode: Postal code targeting. Include postal code IDs returned by the Geo API. Include only. Used with Apple Maps campaigns. See TargetingData. Mutable. radius: Radius targeting, used with Apple Maps campaigns to restrict delivery to users within a given proximity of the brand’s locations. Valid values: CLOSE, MEDIUM, FAR. Include only. In practice, radius targeting is applied on MAPS_SEARCH_RESULTS campaigns and shouldn’t be combined with geo location targeting in the same ad group, but the API doesn’t enforce either constraint at the schema level. See TargetingData. Mutable. deviceClass: Device class targeting. Valid values: IPHONE, IPAD. Include only. Used with App Store campaigns. See TargetingData. Mutable. minAge: Minimum age targeting. Sets the lower bound of the target age range. Minimum value is 18, maximum value is 64. Include only. Used with App Store campaigns. See TargetingData. Mutable. maxAge: Maximum age targeting. Sets the upper bound of the target age range. Minimum value is 18, maximum value is 64. To target users 65 and older, omit maxAge or send include as null. Include only. Used with App Store campaigns. See TargetingData. Mutable. gender: Gender targeting, used with App Store campaigns. Valid values: M, F. Include only. See TargetingData. Mutable. appCategory: App category targeting. Category ID 100 is a special value representing the same category as the promoted app. A value of 100 in include means you’re targeting apps in the same category as your app, and a value of 100 in exclude means you aren’t. Include and exclude supported. Used with App Store campaigns. See TargetingData. Mutable. appDownloader: Reach or suppress users based on whether they downloaded specific apps. Use include to reach users who downloaded those apps. Use exclude to suppress users who already have your app (acquisition targeting). Use the adamId of the app you’re promoting in your campaign as an included or excluded value; API users can only pass in their own apps. To target all users, don’t include this dimension in the request payload. Include and exclude supported. Use with App Store campaigns. See TargetingData. Mutable. daypart: Hour-of-day targeting. Include slot integers (0–167) to restrict delivery to those hours. Include only. Used with App Store and Apple Maps campaigns. Values represent one-hour windows in a 7-day week grid starting on Sunday. See AdGroupTargeting.Daypart for the full slot reference. See TargetingData. Mutable. locationGroup: Location group targeting. Include location group IDs to restrict delivery to the business locations in those groups. Include only. Used with Apple Maps campaigns. For creating and managing groups, see Managing Location Groups. See TargetingData. Mutable.

## Discussion

Discussion The AdGroupTargeting object is the comprehensive audience and placement configuration for an ad group. The CampaignTargeting establishes campaign-level supply source, placement, and geographic markets first, and AdGroupTargeting then refines audience and delivery within the bounds of that campaign. Each field uses a TargetingData object with include and exclude arrays. Setting exclude on an include-only dimension has no effect. Not every targeting dimension is meaningful for every campaign type in practice. The API represents every dimension as the same generic TargetingData shape, so campaign-type pairing is usage guidance rather than a constraint the schema enforces. Combining multiple dimensions uses AND logic: a user must match all specified criteria to be eligible. For valid location identifier values and geographic lookup, see Geo Targeting Endpoints. For managing location groups used in locationGroup targeting, see Managing Location Groups. For a full request that embeds targeting alongside the other ad group fields, see Create an Ad Group (create) and Update an Ad Group (update). Example note: This example shows every available targeting dimension for illustration. In practice, include only the dimensions relevant to your campaign type, with values customized to your targeting needs. {   "country": {     "include": ["1125", "1107"]   },   "adminArea": {     "include": ["9070", "12683"]   },   "locality": {     "include": ["11390462"]   },   "postalCode": {     "include": ["11412181", "11412183"]   },   "radius": {     "include": ["MEDIUM"]   },   "deviceClass": {     "include": ["IPHONE", "IPAD"]   },   "minAge": {     "include": ["25"]   },   "maxAge": {     "include": ["54"]   },   "gender": {     "include": ["M", "F"]   },   "appCategory": {     "include": ["100"],     "exclude": ["100"]   },   "appDownloader": {     "include": ["987654321"],     "exclude": ["555666777"]   },   "daypart": {     "include": ["8", "9", "10", "32", "33", "34"]   },   "locationGroup": {     "include": ["123456789"]   } }

## Topics

### Dictionaries

- [AdGroupTargeting.AdminArea](apple-ads-platform-api/adgrouptargeting/adminarea-data.dictionary.md)
- [AdGroupTargeting.AppCategory](apple-ads-platform-api/adgrouptargeting/appcategory-data.dictionary.md)
- [AdGroupTargeting.AppDownloader](apple-ads-platform-api/adgrouptargeting/appdownloader-data.dictionary.md)
- [AdGroupTargeting.Country](apple-ads-platform-api/adgrouptargeting/country-data.dictionary.md)
- [AdGroupTargeting.Daypart](apple-ads-platform-api/adgrouptargeting/daypart-data.dictionary.md)
- [AdGroupTargeting.DeviceClass](apple-ads-platform-api/adgrouptargeting/deviceclass-data.dictionary.md)
- [AdGroupTargeting.Gender](apple-ads-platform-api/adgrouptargeting/gender-data.dictionary.md)
- [AdGroupTargeting.Locality](apple-ads-platform-api/adgrouptargeting/locality-data.dictionary.md)
- [AdGroupTargeting.LocationGroup](apple-ads-platform-api/adgrouptargeting/locationgroup-data.dictionary.md)
- [AdGroupTargeting.MaxAge](apple-ads-platform-api/adgrouptargeting/maxage-data.dictionary.md)
- [AdGroupTargeting.MinAge](apple-ads-platform-api/adgrouptargeting/minage-data.dictionary.md)
- [AdGroupTargeting.PostalCode](apple-ads-platform-api/adgrouptargeting/postalcode-data.dictionary.md)
- [AdGroupTargeting.Radius](apple-ads-platform-api/adgrouptargeting/radius-data.dictionary.md)

## See Also

- [AdGroup](apple-ads-platform-api/adgroup.md)
- [AdGroupCreate](apple-ads-platform-api/adgroupcreate.md)
- [AdGroupUpdate](apple-ads-platform-api/adgroupupdate.md)
- [AdGroupResponse](apple-ads-platform-api/adgroupresponse.md)
- [AdGroupQueryResponse](apple-ads-platform-api/adgroupqueryresponse.md)
- [AdGroupTargetingCreate](apple-ads-platform-api/adgrouptargetingcreate.md)
- [AdGroupTargetingUpdate](apple-ads-platform-api/adgrouptargetingupdate.md)
- [BidStrategy](apple-ads-platform-api/bidstrategy.md)
- [BidStrategyCreate](apple-ads-platform-api/bidstrategycreate.md)
- [BidStrategyUpdate](apple-ads-platform-api/bidstrategyupdate.md)
- [CPAGoal](apple-ads-platform-api/cpagoal.md)
- [CPAGoalCreate](apple-ads-platform-api/cpagoalcreate.md)
- [CPAGoalUpdate](apple-ads-platform-api/cpagoalupdate.md)
- [TargetingData](apple-ads-platform-api/targetingdata.md)
- [TargetingDataCreate](apple-ads-platform-api/targetingdatacreate.md)
