Custom Audience Private Beta

Syncs RudderStack audiences to any HTTP API without a native integration.

announcement

The Audiences feature is in Private Beta, where we work with early users and customers to test new features and get feedback before making them generally available.

Reach out to Customer Success if you are interested in enabling this feature for your workspace.

The Custom Audience destination lets you sync Audiences to any HTTPS endpoint — internal APIs, regional ad platforms, partner systems, or niche marketing tools — without waiting for a native RudderStack integration.

Overview

With the Custom Audience destination, you can define how membership changes are delivered to your API by configuring the HTTP method, endpoint path, batch size, and a JSON request body template for each record action. At sync setup, marketers map warehouse columns to the fields your destination expects.

Some key features of this integration are:

  • Per-action endpoints: Separate configuration for add, update, and remove operations
  • Request body templates: Build the exact JSON payload your API expects, with access to batched records and connection metadata
  • Configurable batching: Send up to 5,000 records per request (per action)
  • Field-level hashing: Apply SHA256, SHA512, or MD5 per field when your API expects hashed identifiers
  • Preview before save: Validate templates and inspect sample requests without delivering data to your API
  • Mirror sync only: Membership changes are mirrored to the destination

How it works

Custom Audience follows the same audience pipeline as native destinations (Facebook, Google Ads, LinkedIn, TikTok):

  1. Audience membership is computed from your data graph and warehouse source.
  2. Mirror sync compares the current membership to the previous snapshot and emits record events with an INSERT, UPDATE, or DELETE action.
  3. RudderStack resolves your per-action endpoint and template, applies field hashing (when configured), batches records, and builds HTTP requests.
  4. RudderStack sends those requests to your API — success or failure is determined by the HTTP status code.
Custom Audience pipeline: audience membership flows through mirror diff, record events, template batching, and HTTP delivery
warning

Unlike native audience destinations, RudderStack does not normalize field values (trim, lowercase, and so on) for this integration.

You will need to prepare your data in your warehouse, in your template, or on the receiving API as your contract requires.

Use cases

Scenario
Description
Internal activationSync a high-value segment to a recommendation or personalization API
Unsupported ad platformsReach regional or industry-specific platforms that accept audience lists over HTTP
Partner data sharingSend qualified leads to a partner CRM

Limitations

Limitation
Details
Event Stream sourcesOnly warehouse-backed audience sources are supported.
OAuth authenticationNot supported currently and may be added in a future release. Use API key, Bearer token, Basic Auth, or no auth.
Non-JSON payloadsRequest bodies are JSON only (no XML or form-encoded bodies).
Audience creation at the destinationCreate and manage audience lists on your platform first, then provide the audience ID and name when configuring the sync.
Automatic data normalizationThe transformer does not trim, lowercase, or otherwise normalize values.
Partial batch successAn HTTP success status marks all records in the request as successful; a failure status marks all as failed. Response bodies are not parsed for per-record outcomes.
Combined-action APIsEach action type sends separate HTTP requests. APIs that accept inserts, updates, and deletes in a single payload are not supported.
Multiple object types per destinationCreate a separate destination instance for each object type (for example, user vs. company).
Changes in field definitionsIf you change field definitions in the destination configuration after a sync is created, you must update existing syncs manually. Connection mappings are not updated automatically when destination fields are renamed or removed.

Get started

See also

Questions? We're here to help.

Join the RudderStack Slack community or email us for support