Source.tid
A transaction ID shared by every participant that sees this opportunity, so the same impression offered through several exchanges carries the same value. Added in 2.5 and recommended.
Field facts
- Path
source.tid- Object
- Source
- Type
- string
- Requirement
- Recommended
- Added
- OpenRTB 2.5
- Spec section
- 3.2.2
How it is used
Buyers use tid to deduplicate one impression arriving by several supply paths and to compare those paths. The party that creates the opportunity sets it once, and each hop passes it through unchanged. A refresh or a new page view is a new transaction with a new value. The core spec has no per-impression transaction ID; some stacks put one in imp.ext.tid, which is a different key.
Example
Where the field sits in a payload, with everything else left out:
{
"id": "req-1",
"source": {
"tid": "0b6a3c8e-4f1d-4c2b-9e7a-5d8f1a2b3c4d"
}
}Common mistakes
- Each exchange minting its own
tiddefeats the field: the buyer sees unrelated values for one opportunity and cannot deduplicate it. - Reusing one
tidacross refreshes merges separate auctions in buyer logs. - Sending a number instead of a string is a type mismatch.
Version history
Added in OpenRTB 2.5, and present in the latest snapshot. The table shows how each version's spec text types the field.
| Versions | Type in the spec | Required | Deprecated |
|---|---|---|---|
| 2.5 to 2.6-202606 | string | Recommended | No |
Related fields
Other Source fields
For a walkthrough of the whole object, read Supply chain (schain).