1. Create the dataset
Your schema decides whether The Trade Desk will accept the audience, so settle it before you upload anything. The dataset must carry at least one identifier the connector recognizes, and each one is an object with avalue property inside it. See Supported identifiers for the full list.
write_mode is overwrite or append. file_config.type is json for JSON Lines, parquet, or flat for CSV. Both fields are required.
The dataset comes back pending. Record its ID.
You do not need to supply UID2. The connector generates UID2 tokens from hashed email addresses automatically.
2. Activate the dataset
3. Upload your file
Request an upload URL, then send the file straight to storage:PUT.
A signed-URL upload supports a single file of up to 3 GB. For larger files, or for files that another system delivers on a schedule, write them to a managed bucket instead: see Ingesting Files from a Managed S3 Bucket. That replaces this step and the next one.
4. Ingest the file
5. Confirm The Trade Desk accepts the dataset
"app_id": 11) in the accepted list, under the interface your delivery model uses: first_party for first-party, third_party_v2 for third-party. See Delivery interfaces for what each interface does.
If The Trade Desk appears under rejected instead, the response tells you what is missing:
404 until the dataset is activated.
Mapping identifiers
Mapping your identifier column to a Rosetta Stone attribute is not required for The Trade Desk to accept the dataset. Acceptance is decided by your schema alone. Map anyway: normalized attributes make the dataset usable across other destinations and Narrative features. Mapping needs a data sample first:value is a reserved keyword in mapping expressions, so quote it.
Attribute IDs for the common mobile identifiers: mobile_id_unique_identifier is 68, apple_idfa is 69, android_advertising_id is 70.
6. Find your connector profile
Your profile holds your Brand ID and backs every delivery.enabled. If you have no profile yet, create one in the Narrative UI under Objects → Installed Apps → Trade Desk Connector and enter your Brand ID there.
7. Attach the dataset to a taxonomy element
Every audience you sell is a buyable taxonomy element with your dataset in itsdatasets list.
For a new audience, create the element with your dataset ID in datasets, as shown in Create an audience.
For an element that already exists, send it back with your dataset added. PUT replaces the whole element, so send every field, including the rates it already has:
8. Synchronize
Attaching a dataset records the link in Narrative. Synchronizing sends it to The Trade Desk and creates the delivery connection for you.pending and in_progress to completed or failed. Its jobs.create_connections counts report the delivery connections it created.
Each connection it creates uses the third_party_v2 interface, a membership duration of 90 days, and delivers the data already in the dataset as well as new rows. To choose different values, see Creating the connection yourself.
A synchronization publishes every draft in your account, not only the element you changed, and only one can run at a time. See Synchronize for both rules.
The audience sells only once its element is
active and TTD has approved it. See Wait for approval.9. Confirm delivery
Check that the connection exists:statistics object, which is null while the element is still a draft:
The ratio of
active_ids_count to received_ids_count is your match rate.
Creating the connection yourself
The connection that synchronization creates always uses a 90-day membership duration and delivers existing data. To settargeting_time_to_live_in_minutes or historical_data_enabled yourself, leave the dataset off the element and create the connection once the element is active:
type fields are required. The outer one identifies what you are connecting, and the inner one selects the delivery interface. Always send them.
targeting_time_to_live_in_minutes is how long a delivered identifier stays active in TTD before expiring. The clock rides on every record, so each delivery renews it. See Audience membership duration for the full behavior.
See Third-party v2 connection settings for every field.
Keeping the audience current
Write new data to the dataset. The connection keeps running, so new rows reach The Trade Desk without further calls, and you do not touch the element or its price. Refresh the dataset more often than the membership duration, or members lapse between deliveries. Your source dataset must refresh at least every 90 days. To add another audience, repeat steps 1 through 8. Attach several datasets before you synchronize, so one synchronization publishes all of them.Troubleshooting
Dataset and upload problems
Delivery problems
Getting help
Contact your Narrative relationship manager with your company ID, the dataset ID, the element ID, and the failing request and response. For Trade Desk review status and Brand ID questions, your TTD account representative is the faster path.Related content
Managing your taxonomy via the API
Build, price, and maintain the elements audiences are sold from
First-party delivery via the API
Deliver into one advertiser’s own seat instead
The Trade Desk Connector
Full settings reference, identifiers, and status vocabularies
API Keys
Create and rotate keys for programmatic access

