Direct integration with curated REDS

Integrating directly with curated REDS using The Trade Desk AWS S3 bucket provides you fast access and full control of data ingestion and processing. The following outlines feeds specification and structural details to help you understand the content and delivery of your feeds.

NOTE: For the complete workflow, see Getting started with curated REDS feeds. If you are a vendor who doesn't use UID2, TDID, DAID, or a graph, consider integrating curated REDS through LiveRamp. This may also be an simpler option because LiveRamp manages delivery cadence and file naming conventions. However, you can use only Core-curated REDS.

Policies

Curated REDS are based on the policies in the following table.

Specification Details
Delivery method Secure AWS S3 bucket.
Authentication Amazon S3 access through AWS S3 buckets and secret keys only.
NOTE: IAM roles and Snowflake shares are not supported.
File location and naming convention See Directory and file naming convention.
Delivery frequency Daily or hourly for each feed.
Retention policy Files are kept for 90 days. Data is deleted after retention ends.
Backfill support Up to 90 days, on request.
File Format TSV, GZIP-compressed.
Encoding UTF-8.
Delimiter Tab (\t).
File splitting Files are split with unique hash when they exceed a size threshold.
NOTE:The Trade Desk does not deliver single large files.

Directory and file naming convention

Each curated feed file uses a standard naming structure for identification and organization. The file names include parameters such as the recipient, campaign ID, feed type, date and time details, and a unique hashed value. The following table describes each variable in the file.

Variable Description
Recipient The name of the vendor receiving the data. Used for vendor identification within the directory.
PartnerId Our unique, system-wide identifier that we set up for you as a partner.
AdvertiserId Our unique, system-wide identifier that we generate for each advertiser.
CampaignId The ID of the campaign associated with the ad group.
FeedType Each log file is a record of one event type and will be labeled with one of these four values: impressions, clicks, video events, conversions.
SchemaVersion Format: MAJOR_SCHEMA_VERSION_PLACEHOLDER-MINOR_SCHEMA_VERSION_PLACEHOLDER-INTERNAL_SCHEMA_VERSION_PLACEHOLDER
Example: 1-1-0
Represents the schema version, which is comprised of:
  • Major: Breaking changes (for example, field removal).
  • Minor: Backward-compatible enhancements.
  • Internal: Internal schema revisions.
For details, see Schema versions.
Version Represents the client-specific feed version as an integer.
Example: 3.
Date The date of data delivery, formatted as yyyy-MM-dd.
Hour The hour of data delivery, if applicable, formatted as HH.
StartTime The earliest timestamp of the hour or day, formatted as yyyy-MM-ddTHHmmss.
ProcessedTime The timestamp for when the file was created, formatted as yyyy-MM-ddTHHmmss.
FeedId A unique identifier we generate for each instance of a feed.
Hash An MD5 hash of the contents of the log file appended to the filename to ensure no two files are identically named.

Directory taxonomy

This section defines the S3 directory structure for curated REDS data. It specifies standard paths for each feed level (partner, advertiser, campaign, and multi-entity), ensuring consistent integration and delivery.

Feed Level Directory Structure
Partner level feed [BUCKET]/exposure/[RECIPIENT]/[PARTNER_ID]/[FEED_TYPE]/sv=[SCHEMA_VERSION]-[VERSION]/date=[DATE]/
Single advertiser level feed [BUCKET]/exposure/[RECIPIENT]/[PARTNER_ID]/advertisers/[ADVERTISER_ID]/[FEED_TYPE]/sv=[SCHEMA_VERSION]-[VERSION]/date=[DATE]/
Multi-advertiser level feed [BUCKET]/exposure/[RECIPIENT]/[PARTNER_ID]/advertisers/multiadvertiser_[FEED_ID]/[FEED_TYPE]/sv=[SCHEMA_VERSION]-[VERSION]/date=[DATE]/
Single-campaign level feed [BUCKET]/exposure/[RECIPIENT]/[PARTNER_ID]/advertisers/[ADVERTISER_ID]/campaigns/[CAMPAIGN_ID]/[FEED_TYPE]/sv=[SCHEMA_VERSION]-[VERSION]/date=[DATE]/
Multi-campaign level feed [BUCKET]/exposure/[RECIPIENT]/[PARTNER_ID]/advertisers/[ADVERTISER_ID]/campaigns/multicampaign_[FEED_ID]/[FEED_TYPE]/sv=[SCHEMA_VERSION]-[VERSION]/date=[DATE]/
Multi-advertiser, multi-campaign level feed [BUCKET]/[RECIPIENT]/[PARTNER_ID]/advertisers/multiadvertiser/campaigns/multicampaign_[FEED_ID]/[FEED_TYPE]/sv=[SCHEMA_VERSION]-[VERSION]/date=[DATE]/

Example

The following is an example of a full-delivery path for a single-campaign feed using the feed file name convention:

s3://thetradedesk-useast-partner-datafeed/exposure/RECIPIENT_NAME/1abcd2e/advertisers/2fghi3j/campaigns/3klmn4o/impressions/sv=1-1-0-1/date=2025-04-25/impressions_fmroq5a_v1_2025-04-25T000000_2025-08-12T160515_9787_79b7e82b73d84a2b9b6f7404fb384064.log.gz