The Trade Desk Real Time Conversions Beta

Send your event data from RudderStack to The Trade Desk.

The Trade Desk is a leading digital advertising technology platform for efficient campaign management. It offers comprehensive tools to target audiences across diverse channels like video, mobile, and display.

RudderStack lets you send real-time conversion events data to The Trade Desk via cloud mode using The Trade Desk Real-Time Conversion Events API. Find the open source transformer code for this destination in the GitHub repository.

Setup

In your RudderStack dashboard, go to Directory > Destinations > Cloud Destinations and search for The Trade Desk Real Time Conversions.

Connection settings

Configure the following settings to set up The Trade Desk Real Time Conversions as a destination in RudderStack:

  • Name: Specify a unique name to identify the destination in RudderStack.
  • Advertiser ID: Enter the advertiser ID from the Advertiser Preferences page in the The Trade Desk dashboard.
  • Tracking Tag ID: Enter the tracking tag ID. Contact your The Trade Desk representative to obtain it.

Connection mode

Destination info
  • Status: Beta
  • Supported sources: Android, iOS , Web, Unity, AMP , Cloud, Warehouse, React Native , Flutter, Cordova, Shopify
  • Refer to it as THE_TRADE_DESK_REAL_TIME_CONVERSIONS in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportednot supportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportednot supportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportednot supportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias
Cloud mode
Supported sourcesnot supportednot supportedsupportednot supportednot supportednot supported

Event mapping

Click Set-up mapping to map your RudderStack events/properties to specific The Trade Desk Real Time Conversions events/properties. RudderStack also provides the JSON mapper to set these mappings.

Use Event tab to map the respective events:

Optimizely Feature Experimentation event mapping

Use Custom properties tab to map the custom properties (td1 to td10) by entering the property path from where RudderStack maps it to the corresponding The Trade Desk Real Time Conversions’ custom property:

Optimizely Feature Experimentation attribute mapping

Track

The track call lets you capture user events along with the properties associated with them.

A sample track call is shown below:

rudderanalytics.track("Product Added", {
  product_id: "622c6f5d5cf86a4c77358033",
  sku: "8472-998-0112",
  category: "Games",
  name: "Cones of Dunshire",
  brand: "Wyatt Games",
  variant: "expansion pack",
  price: 49.99,
  quantity: 5,
  coupon: "PREORDER15",
  position: 1,
  url: "https://www.website.com/product/path",
  image_url: "https://www.website.com/product/path.webp",
})

Supported events

RudderStack supports all The Trade Desk Real Time Conversions events. Out of these, RudderStack maps the following standard ecommerce events as:

RudderStack eventThe Trade Desk Real Time Conversions event
Product AddedaddtoCart
Order Completedpurchase
Product Viewedviewitem
Checkout Startedstartcheckout
Cart Viewedviewcart
Product Added to Wishlistwishlistitem

You can map the rest of The Trade Desk Real Time Conversions events (listed below) in the RudderStack dashboard in the Map RudderStack to The Trade Desk Events setting:

  • searchitem
  • searchcategory
  • login
  • messagebusiness
  • direction
  • sitevisit

RudderStack sends all the other unmapped events as is.

Property mappings

The following table details the property mappings between RudderStack and The Trade Desk Real Time Conversions:

RudderStackThe Trade Desk Real Time ConversionsNote
<tracking-tag-id> Requiredtracker_idThis value is populated from the RudderStack dashboard’s Tracking Tag ID setting.
<advertiser-id>
Required
advThis value is populated from the RudderStack dashboard’s Advertiser ID setting.
valuevalueMore information.
currencycurrency-
eventevent_nameMore information.
context.ip
request_ip
client_ip-
context.page.referrerreferrer_url-
-adidUnique advertising ID for the event. RudderStack maps this property from externalId in the context object. More information.
-adid_typeType of advertising ID, specified in the adid property. RudderStack maps this property from externalId in the context object. More information.
messageIdimp36-character string (including dashes) that serves as the unique ID for the impression to which the event is attributed.
order_idorder_id-
productsitemsMore information
<td>td1 to td10This value for custom fields is populated from the RudderStack dashboard’s Map RudderStack to The Trade Desk Events setting.
-privacy_settingsMore information.
-data_processing_optionMore information.

adid mapping

RudderStack maps the advertising ID (adid) from context.device.advertisingId if the os information is provided in context.os.name.

RudderStack maps the type of advertising ID (adid_type) as:

  • AAID if os’s name is android
  • NAID if os’s name is windows
  • IDFA if os’s name is ios

Sample context object:

{
   "app": {
      "build": "1.0.0",
      "name": "RudderLabs Android SDK",
      "namespace": "com.rudderlabs.javascript",
      "version": "1.0.5"
   },
   "device": {
      "adTrackingEnabled": true,
      "advertisingId": "test-advertisingId",
      "id": "test-id",
      "manufacturer": "Google",
      "model": "AOSP on IA Emulator",
      "name": "generic_x86_arm",
      "type": "ios",
      "attTrackingStatus": 3
   },

   "locale": "en-GB",
   "os": {
      "name": "ios",
      "version": ""
   }
}

If the device information is absent, you can also pass the advertising ID (adid) in the context’s externalId object:

{
  "externalId": [
    {
      "type": "daid",
      "id": "test-daid"
    }
  ]
}

value mapping

For Product Added, Product Viewed, and Product Added to Wishlist events, RudderStack maps price*quantity to The Trade Desk Real Time Conversions’ value field.

For Order Completed, and Checkout Started events, RudderStack maps revenue/value to The Trade Desk Real Time Conversions’ value field.

items mapping

For Order Completed, Checkout Started, and Cart Viewed event events, RudderStack maps the individual products inside the products array to The Trade Desk Real Time Conversions’ item array.

For single product events, that is, Product Added, Product Viewed, and Product Added to Wishlist, RudderStack maps the root-level properties to single item in the items array of The Trade Desk Real Time Conversions:

RudderStack propertyThe Trade Desk Real Time Conversions property
product_id/sku
Required
item_code
namename
quantityqty
priceprice
category_idcat

privacy_settings mapping

RudderStack maps the following privacy settings (privacy_settings) from the integration object:

RudderStackThe Trade Desk Real Time ConversionsNotes
privacy_type Requiredprivacy_typeAllowed values are: GDPR/CCPA/GPP
is_applicable Requiredis_applicableBoolean property indicating if the value specified in the privacy_type property is applicable.
consent_string Requiredconsent_stringUser’s consent when the privacy regulations are in effect.

Sample integration object:

{
  All: true,
  THE_TRADE_DESK: {
    privacy_settings: [
      {
        privacy_type: 'GDPR',
        is_applicable: 1,
        consent_string: 'ok',
      },
    ],
  },
};

data_processing_option mapping

RudderStack maps the following data processing options (data_processing_option) from the integration object:

RudderStackThe Trade Desk Real Time ConversionsNote
policies RequiredpoliciesPass the users’ opt-out choices. Currently, The Trade Desk Real Time Conversions only supports the LDU (Limited data use) policy.
region
Required
regionTwo-letter state. For example, US-CO.

Sample integration object:

{
  All: true,
  THE_TRADE_DESK: {
    policies: ['LDU'],
    region: 'US-CA'
  },
};

Questions? Contact us by email or on Slack