Audience

An audience defines the kind of people a campaign should target. It comes in two flavors: demographic, which targets people matching audience segments, and retargeting, which targets visitors of other campaigns or specific URLs. Audience type is fixed at campaign creation (via isRetargeting) and cannot be changed afterward — the type field on update is informational, and a mismatched type is preserved while the matching sub-object is applied.

API operations

Relationships

Each campaign has at most one audience configuration. The audience is accessed as campaign.audience in the campaign response or via GET /v1/advertisers/{advertiserId}/campaigns/{campaignId}/audience.
Demographic audiences reference segments. Responses return segment objects with id, name, and path. Requests accept segment IDs (numbers) or objects with an id field. Discover available segments via GET /v1/segments/internet or GET /v1/segments/tv.

Key concepts

Audience Type
Discriminator field on every audience response: 'demographic' (segment-based) or 'retargeting' (campaign/URL visitors). Exactly one sub-object is populated depending on this value.
Demographic Audience
Audience variant targeting users by audience segments (interests, behaviors, purchase intent). Responses include full segment metadata (id, name, path). Requests accept segment IDs or objects with an id field.
Retargeting Audience
Audience variant targeting visitors of other campaigns or specific URL paths. retargetingType 'All' targets all site visitors; 'Specific' targets specific URL paths via urlParts.

Constraints

Rules to follow
  • Billboard campaigns do not support audiences.
  • Exactly one of demographicAudience or retargetingAudience is populated, matching the type field.
  • Audience type defaults to 'demographic' at campaign creation unless isRetargeting is passed as true.
  • Audience type is fixed at campaign creation. The type field on update is informational - a mismatched type is preserved and only the matching sub-object is applied.

Response envelope

Every response is wrapped in the standard envelope { response: <payload>, timestamp: ISO-8601 timestamp, errors: [] }. The documented fields describe the contents of the response payload.

When building apps

Demographic And Retargeting Setup
For demographic audiences, set isRetargeting: false (or omit it) at campaign creation, then PUT { type: 'demographic', demographicAudience: { segments: [id1, id2] } } to the audience sub-resource. Discover segment IDs through GET /v1/segments/internet or GET /v1/segments/tv. For retargeting, opt in with isRetargeting: true at creation, then PUT { type: 'retargeting', retargetingAudience: { retargetingType: 'All' } } to target all visitors of the referenced campaigns, or use retargetingType: 'Specific' with urlParts for specific URL paths.