Ad Audiences

Create custom audience

Create a custom audience. customer_list is supported on Meta, Google, X, LinkedIn, TikTok, and Pinterest; website and lookalike are Meta-only; company_list, engagement and website_retargeting are LinkedIn-only. saved_targeting stores a reusable TargetingSpec (no member upload, no adAccountId) that you reference later via savedTargetingId on POST /v1/ads/create.

How the audience gets filled depends on the type:

  • customer_list is created empty. Add members with POST /v1/ads/audiences/{audienceId}/users. On TikTok and Pinterest the audience is provisioned lazily on that first upload (until then its status is pending).
  • company_list is filled AT CREATION from the companies array below, which is required. To change the list afterwards send the new full list to POST /v1/ads/audiences/{audienceId}/companies (a replace, not a merge). The /users endpoint rejects these audiences with a 422.
  • website, website_retargeting, engagement, meta_engagement and lookalike fill themselves from the pixel, engagement source or seed audience you point them at. They take no member upload at all.

Create is not idempotent, never auto-retry.

post/v1/ads/audiences

Request body

OR

Response

Audience created

audienceobject
messagestring

Changes

Changed in 8 of the 56 revisions of this API.2626

  • 2c04683ce6942610See the full diff
    • ▲

      the /////// request property type changed from object to no type

      request-property-type-changed

    • ▲

      the /////// request property type changed from object to no type

      request-property-type-changed

    • ●

      removed the request property ////////

      request-property-removed

    • ●

      removed the request property ////////

      request-property-removed

    • ●

      removed the request property ////////

      request-property-removed

    • ●

      removed the request property ////////

      request-property-removed

    • ●

      removed the request property ////////

      request-property-removed

    • ●

      removed the request property ////////

      request-property-removed

    • ○

      added subschema #1 subschema #2 to the /////// request property oneOf list

      request-property-one-of-added

    • ○

      added subschema #1 subschema #2 to the /////// request property oneOf list

      request-property-one-of-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the new optional request property //////

      new-optional-request-property

    • ○

      added the new optional request property ///////

      new-optional-request-property

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the new optional request property //////

      new-optional-request-property

    • ○

      added the new optional request property //////

      new-optional-request-property

    • ○

      added the new optional request property //////

      new-optional-request-property

    • ○

      added the new optional request property //////

      new-optional-request-property

    • ○

      added the new optional request property //////

      new-optional-request-property

    • ○

      added the new optional request property /

      new-optional-request-property