Tradedoubler

Tradedoubler is an affiliate marketing network. When a user clicks a publisher link, Tradedoubler redirects them to your site and appends a tduid (Tradedoubler Unique ID) to the landing-page URL. To credit the publisher for a resulting sale or lead, you report the conversion back to Tradedoubler’s tracking endpoint with that same tduid.

Datafly Signal does this server-to-server. The Signal SDK captures the tduid from the landing-page URL and stores it as a first-party identifier, then Signal replays it on the conversion event from your own server. No client-side Tradedoubler pixel is required, so the conversion is reported even when third-party cookies or browser pixels are blocked.

Prerequisites

  • A Tradedoubler advertiser account with at least one active program.
  • Your Organization ID (advertiser org id), supplied by Tradedoubler.
  • The Event ID for sale conversions, and (if you track leads) the Event ID for lead conversions. Both are listed in your Tradedoubler advertiser account under the program’s tracking events.
  • The Signal SDK (Datafly.js) installed on your site so the tduid URL parameter is captured on the affiliate landing page and persisted as a first-party identifier.

Configuration

FieldRequiredDescription
Organization IDYesYour Tradedoubler advertiser organization ID.
Sale Event IDYesThe Tradedoubler event ID for sale conversions.
Lead Event IDNoThe Tradedoubler event ID for lead conversions. Only needed if you report leads.
ChecksumNoOptional fraud-protection checksum. Leave blank unless Tradedoubler has enabled checksum validation for your program.

Configure in Signal

  1. In Management UI, open Integrations and add Tradedoubler.
  2. Enter your Organization ID and Sale Event ID (and Lead Event ID if you report leads).
  3. Attach the Tradedoubler blueprint to your pipeline and choose the Retail preset.
  4. Confirm the tduid identifier is being captured. The SDK reads it from the landing-page URL automatically; you can verify it in the Event Debugger under the event’s vendor identifiers.

API Endpoint

Signal sends a GET request with all parameters on the query string. There is no request body.

  • Sales: https://tbs.tradedoubler.com/report
  • Leads: https://tbl.tradedoubler.com/report

Authentication is by the organization and event parameters rather than an API token. Attribution depends on the tduid, which must have been captured on the affiliate landing page.

Identity Signals

ParameterSourceNotes
tduidFirst-party identifier captured by the SDK from the landing-page URLPrimary attribution key. Required — without it the conversion cannot be credited to a publisher.
extidSHA-256 hash of the user’s email (lowercased and trimmed first)Enables Tradedoubler’s deterministic cross-device matching.
exttypeStatic 1Tells Tradedoubler that extid is a hashed email (0 would be an internal user id).

Email is never sent in clear text. Signal hashes it with the standard normalised SHA-256 transform (trim, lowercase, then SHA-256) before it leaves your infrastructure.

Event Mapping

Signal eventEndpointTradedoubler conversion
Order Completedtbs.tradedoubler.comSale
Lead Generatedtbl.tradedoubler.comLead
Signed Uptbl.tradedoubler.comLead

All other events are dropped.

Example: Order Completed

Datafly.js call on your purchase confirmation page:

datafly.track("Order Completed", {
  order_id: "A-10042",
  revenue: 89.97,
  currency: "GBP",
  coupon: "WELCOME10",
  products: [
    { sku: "SKU-1", product_name: "Wool Scarf", price: 29.99, quantity: 1 },
    { sku: "SKU-2", product_name: "Leather Gloves", price: 29.99, quantity: 2 }
  ]
});

Resulting server-to-server request from Signal (parameters URL-encoded; shown decoded for clarity):

GET https://tbs.tradedoubler.com/report
  ?organization=12345
  &event=67890
  &orderNumber=A-10042
  &orderValue=89.97
  &currency=GBP
  &voucher=WELCOME10
  &tduid=e0f15774d8d148963fd2df1bf9396d54
  &extid=f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a
  &exttype=1
  &event_time=2026-06-06 14:22:05
  &cons=true
  &reportInfo=f1=SKU-1&f2=Wool Scarf&f3=29.99&f4=1|f1=SKU-2&f2=Leather Gloves&f3=29.99&f4=2

reportInfo is a pipe-delimited list of products, one per line item, with f1 = product number, f2 = name, f3 = single-item value, and f4 = quantity. Use a dot as the decimal separator; Signal URL-encodes the whole string in UTF-8.

Testing

  1. Click through one of your Tradedoubler publisher links so Tradedoubler appends ?tduid=... to your landing page, then confirm the SDK captured it (Event Debugger > vendor identifiers).
  2. Complete a test purchase and find the Order Completed event in the Event Debugger.
  3. Check the outbound request to tbs.tradedoubler.com/report returned 200 and that tduid, orderNumber, orderValue, and event are present.
  4. Confirm the transaction appears in your Tradedoubler advertiser reporting (it may be in a pending state pending validation).

Troubleshooting

  • Conversion not attributed to a publisher. The tduid was missing or empty. It must be captured on the affiliate landing page and persisted before the conversion fires. Direct or organic traffic has no tduid and is not credited, which is expected.
  • 400 response. A required parameter (organization, event, orderNumber, or orderValue for sales) is missing or malformed. Order value must use a dot as the decimal separator with no thousand separators.
  • 404 response. The organization or event id is wrong. Re-check both against your Tradedoubler advertiser account.
  • Lead conversions not arriving. Set the Lead Event ID in the integration config; Lead Generated and Signed Up route to the lead endpoint and need their own event id.
  • Duplicate conversions. Tradedoubler de-duplicates on orderNumber. Ensure each order reports a unique order_id.