RTB Architecture
Log-level data in programmatic: what you get and how to use it
Published · Last updated
Next scheduled review:
Log-level data is the raw, one-row-per-event record of what happened in programmatic buying: each bid, impression, click and conversion, with its price, fees and supply path. This guide explains what log-level data means, what DV360, The Trade Desk, Amazon and supply-side platforms (SSPs) actually deliver, and how buyers and publishers use it.
Contents
Key facts
- Google deletes the files after 60 days. Google's Display & Video 360 (DV360) and Campaign Manager 360 deliver impression and click files every hour and activity files daily to Google Cloud Storage. Then "after 60 days files are deleted" (Google, DV360 Data Transfer v2.0, updated 14 October 2024).
- Costs arrive itemised, but in nanos. DV360's file format carries media cost, five cost-per-thousand (CPM) fees, five media fees, data fees and billable cost, each "in USD nanos" (Google, DV360 Data Transfer file format, updated 14 September 2026).
- Amazon gives queries, not files. Amazon Marketing Cloud lets advertisers query "event-level and user-level signals", but "you can only access aggregated, anonymous outputs" (Amazon Ads, AMC, accessed 9 November 2026).
- Xandr's buy-side feeds ended with Microsoft Invest. Microsoft announced on 14 May 2025 that its demand-side platform (DSP), formerly Xandr and AppNexus, would close on 28 February 2026 (PPC Land, 22 June 2025).
- Audits depend on it. The Association of National Advertisers (ANA) built its 2023 transparency study on "the log-level data of 21 major advertisers". It found only 36 cents of each DSP dollar reached the consumer (ANA, accessed 9 November 2026).
Definition
Log-level data (LLD): non-aggregated, event-level records exported by an ad platform, in which each row describes one bid, impression, click, conversion or related event with its timestamp, identifiers, supply path and costs. The recipient can then compute its own metrics instead of relying on the platform's reports. See the glossary entry for log-level data.
The word "log" is literal. These are the platform's own server logs, filtered and reformatted. Google describes its Ad Manager files as "essentially raw content from the Ad Manager ad server logs" (Google Ad Manager Help, accessed 9 November 2026). This page belongs to the RTB architecture hub. The bidder that writes these logs is described in RTB bidder architecture.
What log-level data means: the record types
Every platform names its files differently, but the same five record types recur. A buyer usually gets the last four from its DSP; a publisher gets requests, bids and impressions from its ad server and SSPs.
5 of 5 rows
Request or bid | Ad request, or bid sent into an auction | Auction ID, seller, deal, floor, bid price, timeout | Publisher ad servers, SSPs, some DSPs |
Impression (win) | Ad served or counted | Event time, auction ID, exchange, site or app, media cost, fees | All DSPs that offer LLD; ad servers |
Click | Click on an ad | Event time, auction ID, click ID | DSPs, ad servers |
Conversion or activity | Action on the advertiser's site or app | Activity ID, attributed impression or click, revenue | DSPs and ad servers with tags or pixels |
Loss or no-bid | Bid that did not win, or request not bid on | Loss reason, minimum price to win | Rare; some SSPs and ad servers |
Request or bid
- One row per
Ad request, or bid sent into an auction
- Key fields
Auction ID, seller, deal, floor, bid price, timeout
- Who can export it
Publisher ad servers, SSPs, some DSPs
Impression (win)
- One row per
Ad served or counted
- Key fields
Event time, auction ID, exchange, site or app, media cost, fees
- Who can export it
All DSPs that offer LLD; ad servers
Click
- One row per
Click on an ad
- Key fields
Event time, auction ID, click ID
- Who can export it
DSPs, ad servers
Conversion or activity
- One row per
Action on the advertiser's site or app
- Key fields
Activity ID, attributed impression or click, revenue
- Who can export it
DSPs and ad servers with tags or pixels
Loss or no-bid
- One row per
Bid that did not win, or request not bid on
- Key fields
Loss reason, minimum price to win
- Who can export it
Rare; some SSPs and ad servers
Table by AdSovereign, CC BY 4.0.
Below is one impression after normalisation into a warehouse schema. The field names are ours. The values follow DV360's documented formats: microsecond timestamps, costs in nanos (billionths of a currency unit) and a user ID that can be zeroed. All values are invented.
{
"event_id": "dv360-imp-2026110914-000001",
"event_type": "impression",
"event_time_utc": "2026-11-09T14:03:27.118204Z",
"source_platform": "dv360_data_transfer_v2",
"source_file": "dt2/impressions/2026110914.csv.gz",
"auction_id": "ABCDEFGH_abcdefgh-0123456789",
"openrtb_transaction_id": null,
"exchange_id": 42,
"inventory_source_external_id": "DEAL-NEWS-DE-001",
"inventory_source_is_public": false,
"site_url": "https://www.example.com/",
"country_code": "DE",
"device_type": "desktop",
"user_id": "0",
"user_id_null_reason_groups": 1,
"currency": "USD",
"bid_price_nanos": 1600000,
"media_cost_nanos": 1280000,
"cpm_fee_1_nanos": 64000,
"media_fee_1_nanos": 128000,
"data_fees_nanos": 150000,
"billable_cost_nanos": 1622000,
"loaded_at_utc": "2026-11-09T16:12:05Z"
}8 of 8 rows
| DV360 sends microseconds since 1970 in UTC | Keep full precision; it helps match records across platforms |
| DV360's join key across view, click and conversion rows | Google says not to assume "any ordering, structure or meaning" in it |
| The OpenRTB | DV360's field list has no such column, so this stays null for DV360 rows |
| The deal or inventory source DV360 attributed | The starting point for deal-level reconciliation |
| Raw URL from the bid request | Some exchanges mask it as "source_url_hidden" |
| Tracking ID, zeroed when privacy rules apply, with a reason bitmask | 1 = GOOGLE, 2 = PARTNER_POLICY in Google's reason list |
| Costs per impression in billionths of a dollar | 1,280,000 nanos = $0.00128 per impression = $1.28 CPM |
| Media plus partner costs billed | Here media is 78.9% of the billed amount |
event_time_utc
- What it holds
DV360 sends microseconds since 1970 in UTC
- Why it matters
Keep full precision; it helps match records across platforms
auction_id
- What it holds
DV360's join key across view, click and conversion rows
- Why it matters
Google says not to assume "any ordering, structure or meaning" in it
openrtb_transaction_id
- What it holds
The OpenRTB
source.tid, where a platform exports it- Why it matters
DV360's field list has no such column, so this stays null for DV360 rows
inventory_source_external_id
- What it holds
The deal or inventory source DV360 attributed
- Why it matters
The starting point for deal-level reconciliation
site_url
- What it holds
Raw URL from the bid request
- Why it matters
Some exchanges mask it as "source_url_hidden"
user_id, user_id_null_reason_groups
- What it holds
Tracking ID, zeroed when privacy rules apply, with a reason bitmask
- Why it matters
1 = GOOGLE, 2 = PARTNER_POLICY in Google's reason list
*_nanos
- What it holds
Costs per impression in billionths of a dollar
- Why it matters
1,280,000 nanos = $0.00128 per impression = $1.28 CPM
billable_cost_nanos
- What it holds
Media plus partner costs billed
- Why it matters
Here media is 78.9% of the billed amount
Table by AdSovereign, CC BY 4.0.
Field meanings come from Google's file format reference (Google, DV360 Data Transfer file format, updated 14 September 2026). The cost fields are the reason buyers ask for log-level data: they let you compute your own take rate per exchange, deal and day.
Log-level data by platform: what you get, how, and for how long
This table is the reference for the rest of the page. Cells say n/d where the platform publishes nothing; several platforms keep their documentation behind a customer login.
9 of 9 rows
Google DV360 Data Transfer v2.0 | Impressions, clicks, Floodlight activities, match tables; costs and fees per impression | CSV files in Google Cloud Storage | Impressions and clicks hourly; activities and match tables daily | 60 days, then deleted | ETL and database skills; enablement terms n/d on the public page |
Google Campaign Manager 360 Data Transfer v2.0 | Ad-server impressions, clicks, activities, match tables | CSV files in Google Cloud Storage | Hourly and daily | 60 days | As DV360 |
Google Ad Manager Data Transfer (publishers) | Requests, code serves, impressions, clicks, Active View, bids (beta), minimum bid to win (beta) | CSV or Parquet in Ad Manager cloud storage buckets | Pushed hourly; most data 5 to 15 hours after the hour; some events up to 8 days late | Purged after 60 days | Paid add-on; enabled by an admin under Advanced features |
The Trade Desk REDS (Raw Event Data Stream) | Log-level events from won auctions and pixels: impressions, clicks, conversions, video events | Files delivered to the client's Amazon S3 bucket | Hourly | n/d | Arranged with The Trade Desk; documentation behind the partner login (n/d) |
Amazon DSP (DVA+) via Amazon Marketing Cloud | Event-level and user-level signals for SQL queries; "hundreds of fields" | Clean room queries; aggregated outputs only; no raw export | n/d | 25 months of ad traffic signals | Free to eligible advertisers; DVA+ advanced-settings users ask their account executive |
Microsoft Invest (formerly Xandr) LLD | Standard, segment, pixel, video event and other feeds | Hourly batch files in protobuf or Avro; export to Amazon S3 | "Over 1 hour" | n/d | Through a Microsoft representative; buy-side platform closed 28 Feb 2026 |
SSP buyer feeds (Index Exchange, OpenX, PubMatic, Magnite, Sovrn and others) | Bids and wins on the SSP side for a buyer's seat | Varies: files, or shared tables (OpenX BIDS on Snowflake) | n/d | n/d | By request and contract |
Prebid.js analytics adapters (publishers) | Auction, bid request, bid response, timeout and win events per page view | Your adapter sends events to your endpoint | Real time | Yours to set | Publisher-owned; open source |
Prebid Server analytics modules (publishers) | Server-side auction events | Your module writes to your logs or stream | Real time | Yours to set | Publisher-owned; Go and Java interfaces |
Google DV360 Data Transfer v2.0
- Data available
Impressions, clicks, Floodlight activities, match tables; costs and fees per impression
- Delivery method
CSV files in Google Cloud Storage
- Latency
Impressions and clicks hourly; activities and match tables daily
- Retention at source
60 days, then deleted
Google Campaign Manager 360 Data Transfer v2.0
- Data available
Ad-server impressions, clicks, activities, match tables
- Delivery method
CSV files in Google Cloud Storage
- Latency
Hourly and daily
- Retention at source
60 days
Google Ad Manager Data Transfer (publishers)
- Data available
Requests, code serves, impressions, clicks, Active View, bids (beta), minimum bid to win (beta)
- Delivery method
CSV or Parquet in Ad Manager cloud storage buckets
- Latency
Pushed hourly; most data 5 to 15 hours after the hour; some events up to 8 days late
- Retention at source
Purged after 60 days
The Trade Desk REDS (Raw Event Data Stream)
- Data available
Log-level events from won auctions and pixels: impressions, clicks, conversions, video events
- Delivery method
Files delivered to the client's Amazon S3 bucket
- Latency
Hourly
- Retention at source
n/d
Amazon DSP (DVA+) via Amazon Marketing Cloud
- Data available
Event-level and user-level signals for SQL queries; "hundreds of fields"
- Delivery method
Clean room queries; aggregated outputs only; no raw export
- Latency
n/d
- Retention at source
25 months of ad traffic signals
Microsoft Invest (formerly Xandr) LLD
- Data available
Standard, segment, pixel, video event and other feeds
- Delivery method
Hourly batch files in protobuf or Avro; export to Amazon S3
- Latency
"Over 1 hour"
- Retention at source
n/d
SSP buyer feeds (Index Exchange, OpenX, PubMatic, Magnite, Sovrn and others)
- Data available
Bids and wins on the SSP side for a buyer's seat
- Delivery method
Varies: files, or shared tables (OpenX BIDS on Snowflake)
- Latency
n/d
- Retention at source
n/d
Prebid.js analytics adapters (publishers)
- Data available
Auction, bid request, bid response, timeout and win events per page view
- Delivery method
Your adapter sends events to your endpoint
- Latency
Real time
- Retention at source
Yours to set
Prebid Server analytics modules (publishers)
- Data available
Server-side auction events
- Delivery method
Your module writes to your logs or stream
- Latency
Real time
- Retention at source
Yours to set
Table by AdSovereign, CC BY 4.0.
Three patterns stand out. Google and Microsoft push files; Amazon keeps the data and lets you query it; open-source tools let a publisher log everything it wants. And only the files you copy out survive past the platform's retention window.
DV360 log-level data: Data Transfer v2.0
Display & Video 360's log-level product is Data Transfer v2.0. It includes impression, click and Floodlight activity files, plus match tables that map IDs to names so each file stays small. Impression and click files arrive 24 times a day; activity and match table files arrive daily (Google, updated 14 October 2024). Google is direct about the effort: your organisation "will need to: extract, transform, and load large files, administer" a database and implement scripts.
The file format reference lists more than 100 fields (Google, updated 14 September 2026). For fee work, the important ones are media cost, CPM fees 1 to 5, media fees 1 to 5, data fees and billable cost, each in USD, partner and advertiser currency. Bid price is recorded "prior to first-price auction adjustments", and a second field holds the bid "after optimization adjustment". Comparing the two shows how far the platform's adjustments moved each bid. Campaign Manager 360 uses the same delivery model for ad-server data (Google, updated 14 October 2024).
The limit is identity. Google stopped letting buyers use the DoubleClick ID in Data Transfer in 2018, citing the EU General Data Protection Regulation (GDPR), and pointed them to Ads Data Hub (AdExchanger, 27 April 2018). Today's User ID field "may be zeroed out for privacy reasons". So DV360 files support cost and supply analysis well, and user-level reach and frequency poorly. What DV360 charges for each fee line is covered in DV360 fees explained and the DV360 profile.
The Trade Desk log-level data: REDS
The Trade Desk calls its feed REDS, the Raw Event Data Stream. Its own documentation sits behind the partner portal login, so the public description comes from integrators. One describes REDS as "one of the three reporting solutions" in the platform, collecting "raw, log-level bidding events from won auctions and pixels on an hourly basis" (aqfer, accessed 9 November 2026). Feeds can cover the whole partner, one advertiser or a group of advertisers.
Delivery is to the client's own Amazon S3 bucket. When LiveRamp automated imports of Trade Desk exposure logs, it asked clients for their "S3 bucket name and file path" and bucket credentials (LiveRamp, 20 February 2019). Retention, field list and pricing are not public. Ask your account team for the schema before you design tables, and check the The Trade Desk profile for the commercial context.
Amazon DSP log-level data: what AMC gives instead
Amazon does not publish a raw log export for its DSP, which its Amazon Marketing Cloud page now calls DVA+ (Display, Video and Audio). The route to event-level analysis is Amazon Marketing Cloud (AMC), a clean room built on AWS Clean Rooms. Advertisers can query "hundreds of fields" on impressions, clicks and conversions and join them with their own pseudonymised data (Amazon Ads, accessed 9 November 2026).
The trade-off is control. Queries run in Amazon's environment, and only aggregated outputs leave. Amazon documents "built-in aggregation thresholds" without a number. PPC Land reports that practitioner guides put the usual floor above 100 unique users per output row, and that suppressed rows vanish silently (PPC Land, 12 September 2026). The ad traffic lookback grew from 13 to 25 months on 11 November 2025 in the US and Canada. AMC answers attribution and overlap questions well. It cannot feed a cross-platform impression warehouse. The AMC profile covers pricing and access.
Xandr log-level data after Microsoft Invest's closure
Xandr, built on AppNexus, had one of the most complete log-level programmes. Its documentation lists feeds such as the standard feed, segment feed, conversion pixel feed, video event feed and curator feed. Batch files are generated hourly in protobuf or Avro and can export to Amazon S3. Microsoft states that "Batch LLD can be used to make financial calculations" (Microsoft Learn, updated 22 October 2025; Microsoft Learn, batch LLD, updated 1 June 2026).
Microsoft Invest, the buy-side platform, closed on 28 February 2026 (PPC Land, 22 June 2025). Buyers no longer receive new Invest data. The feed documentation was still published on 9 November 2026, so sell-side and curator users should confirm their own feeds with Microsoft. If you are a former Invest buyer, export and archive what you still hold, then set up equivalent feeds at the new DSP before your history runs out. The Microsoft Invest migration playbook covers the move.
Publisher-side logs: ad server, SSPs and Prebid
Publishers have three sources. The first is the ad server. Google Ad Manager's Data Transfer files record every request, code serve, impression and click. Two beta files add bids and the "minimum bid buyers needed to win the auction" (Google Ad Manager Help, accessed 9 November 2026). Files can be CSV or Parquet; Google says Parquet "can be 50-75% smaller". They are a paid add-on and expect late data: most rows arrive 5 to 15 hours after the hour, and some events take up to 8 days.
The second source is the SSPs. After marketers such as P&G, L'Oréal, T-Mobile and Bayer requested logs, exchanges including Index Exchange, OpenX, PubMatic, Rubicon Project, Sovrn, Telaria and Xandr started sending regular feeds to buyers in 2019 (AdExchanger, 24 October 2019). OpenX later moved its buyer logs onto Snowflake as a product called BIDS (AdExchanger, 23 July 2020). Publishers can request the same data about their own inventory.
The third source is the publisher's own Prebid.js or Prebid Server. Prebid.js emits events such as auctionInit, bidRequested, bidResponse, bidTimeout, bidWon and auctionEnd, and an analytics adapter can send them to any endpoint (Prebid.org, accessed 9 November 2026). The current release is Prebid.js 11.47.0 of 4 November 2026 (Prebid.js releases). Server-side, Prebid Server 4.11.1 (Go) and 4.5.0 (Java) accept custom analytics modules; Prebid Server analytics and debugging covers setup.
Privacy limits: zeroed IDs, missing transaction IDs and retention
Log-level files are personal data in most jurisdictions when they carry user IDs, IP addresses or precise location. Platforms respond in four ways, and each one limits what you can compute.
- IDs are removed or zeroed. Google removed DoubleClick IDs from Data Transfer in 2018; Digiday reported they were gone in Europe from August 2018 (Digiday, 16 August 2019). DV360's current
User IDcan be zeroed, with a reason code. - Raw rows stay inside a clean room. Amazon and Google's Ads Data Hub let you query user-level data but export only aggregates above a threshold.
- Transaction IDs are not shared by default. Prebid.js disabled transaction IDs by default in version 8. In versions 10.9.0 to 10.13.0 they were unique per bidder even when enabled, and from 10.14.0 a
consistentTIDsflag restores a shared ID (Prebid.org, setConfig, accessed 9 November 2026). Without a shared ID, matching a DSP's impression to an SSP's record is guesswork. - Files expire. Google keeps Data Transfer files for 60 days (Google, updated 14 October 2024). Your own copy is subject to your own retention policy and to GDPR's storage limitation principle.
Hash or tokenise any ID you store, keep raw IP addresses out of the warehouse, and record the consent string or Global Privacy Platform (GPP) section that applied to each event. Treat the warehouse as a regulated system with access logs.
How to design a log-level data warehouse
The pattern below is the one most teams converge on. Annalect, an agency data company, described it in 2018: raw vendor logs land unchanged in an S3 "Landing Zone", get converted to Parquet and are queried with Redshift Spectrum. By early 2018 it held "up to 36 months of historical data" for many sources, "representing trillions of events" (AWS Big Data Blog, 5 October 2018).
- Copy every file within the retention window. Pull Google files daily; never rely on the 60-day source copy.
- Keep a raw, immutable landing zone. Store files exactly as delivered, including Ad Manager's "_corrected" re-publications, so you can reprocess.
- Normalise units and clocks. Convert nanos and micros to one unit, store currency per row, and convert all timestamps to UTC. Ad Manager stamps events in the network's time zone, so file names and event times can disagree.
- Partition by event hour, not file hour. Late events are normal: Ad Manager can deliver some rows 8 days late (Google Ad Manager Help).
- Build one conformed impression table. Same columns for every DSP and ad server, with the source platform and file name on each row.
- Store join keys you can trust. Auction IDs work inside one platform. Across platforms you need the OpenRTB transaction ID or a fuzzy match on time, seller and price.
- Reconcile to invoices monthly. Logs prove what happened; invoices prove what you paid. You need both.
PwC's auditors described the matching problem in plain terms. Matching fails "especially when there isn't a unique transaction ID", and high-volume paths produce "multiple impressions that have an identical timestamp" (Digiday, 18 January 2023).
Use cases for buyers: fees, supply paths and frequency
Fee reconciliation. The first query most buyers write splits billed cost into media and everything else, per exchange and month. With the normalised table above:
SELECT exchange_id,
COUNT(*) AS impressions,
SUM(media_cost_nanos) / 1e9 AS media_cost_usd,
SUM(billable_cost_nanos) / 1e9 AS billable_cost_usd,
SUM(media_cost_nanos) * 1.0
/ NULLIF(SUM(billable_cost_nanos), 0) AS media_share
FROM impressions
WHERE source_platform = 'dv360_data_transfer_v2'
AND event_time_utc >= TIMESTAMP '2026-10-01 00:00:00'
AND event_time_utc < TIMESTAMP '2026-11-01 00:00:00'
GROUP BY exchange_id
ORDER BY billable_cost_usd DESC;The DSP's own files only show the fees the DSP knows about. SSP fees sit inside media cost, which is why audits pair DSP logs with SSP logs. The 2020 study by ISBA, the UK advertisers' association, and PwC could not attribute 15% of advertiser spend, its "unknown delta" (Digiday, 18 January 2023). The fee chain itself is explained in the ad tech tax explained, and you can model it with the ad tech fee calculator.
Supply path optimisation. Supply path optimization starts with a simple count: how many exchanges sold you the same site, and at what price through each?
SELECT site_domain,
exchange_id,
COUNT(*) AS impressions,
SUM(media_cost_nanos) / 1e6 / COUNT(*) AS media_cpm_usd
FROM impressions
WHERE event_time_utc >= TIMESTAMP '2026-10-01 00:00:00'
GROUP BY site_domain, exchange_id
ORDER BY site_domain, media_cpm_usd;Sites bought through four exchanges at four prices are candidates for pruning or a direct deal. Check each path's sellers against sellers.json and the SupplyChain object, as described in SupplyChain, ads.txt and sellers.json together.
Frequency and reach. Count impressions per user ID to see real frequency capping outcomes. Zeroed and missing IDs make this a lower bound. Exclude user_id = '0' and report the share of rows you excluded.
Working media and audits. The ANA's benchmark, run with the cross-industry initiative TAG TrustNet, now collects members' log-level data and publishes aggregates quarterly (ANA, accessed 9 November 2026). Its Q2 2026 edition put working media at 45.1% of spend (Fiducia on ANA, 6 August 2026). Working media vs non-working media explains the series, and how to audit your agency's programmatic buys uses these queries.
Use cases for publishers: yield, floors and demand partners
Floor setting. Ad Manager's bids and minimum-bid-to-win files show how far above the floor buyers bid. That is the raw material for floor price tests, covered in floor price strategy.
Demand partner quality. Prebid's bidTimeout and bidResponse events show which bidders respond late, bid rarely or bid low. Drop or throttle partners that cost latency without adding revenue.
Discrepancy checks. Google warns that spam cleanup may not reach Data Transfer files, so they can show "slightly more impressions, clicks, or other events", typically "~1%" (Google Ad Manager Help, accessed 9 November 2026). Compare your logs with SSP statements monthly and investigate gaps above that level.
Common mistakes
- Waiting to set up the copy job. Google's files disappear after 60 days (Google). A failed job for a quarter means a permanent gap.
- Summing nanos as dollars. DV360 costs are in billionths. Divide by 1,000,000,000 for currency, and remember that bid prices are per impression, not CPM.
- Using file time as event time. Ad Manager files mix events from earlier hours and a different time zone. Partition by the event timestamp.
- Ignoring corrected files. Ad Manager re-publishes some files with "_corrected" in the name and keeps the originals. Load both and let the corrected version win.
- Joining platforms on timestamps alone. Identical timestamps are common on busy paths. Use transaction IDs where available and report match rates honestly.
- Treating zeroed IDs as users. A
User IDof zero is many people, not one. Exclude it from reach and frequency. - Storing raw IPs and full user IDs by default. Hash or drop them unless a documented purpose needs them.
- Expecting raw rows from Amazon. AMC returns aggregates only; plan Amazon analysis as clean room queries.
FAQ
What does log-level data mean?
Does DV360 provide log-level data?
Does Amazon DSP provide log-level data?
Can I still get Xandr log-level data?
How long do platforms keep log-level files?
How this works on owned infrastructure
The platform table shows the core problem: someone else decides which fields you see, when they arrive and when they are deleted. On infrastructure you control, the log is not an export at all. AdSovereign is an enterprise RTB stack (DSP, SSP, exchange, DMP and clean room) designed to write every bid, win, billing notice and fee line into a warehouse inside your own cloud account or data centre. Retention follows your policy, the transaction ID is kept on both sides of the auction, and the same records serve reporting and audit. The architecture page shows where the event log sits, and the security page covers access controls for it.
Sources
- Google for Developers, "Data Transfer v2.0", Display & Video 360 (last updated 14 October 2024). https://developers.google.com/bid-manager/dtv2/overview
- Google for Developers, "Data Transfer v2.0: File Format", Display & Video 360 (last updated 14 September 2026). https://developers.google.com/bid-manager/dtv2/reference/file-format
- Google for Developers, "Data Transfer v2.0", Campaign Manager 360 (last updated 14 October 2024). https://developers.google.com/doubleclick-advertisers/dtv2/overview
- Google Ad Manager Help, "Data Transfer reports" (answer 1733124, accessed 9 November 2026). https://support.google.com/admanager/answer/1733124?hl=en
- AdExchanger, "Google Sharply Limits DoubleClick ID Use, Citing GDPR" (27 April 2018). https://adexchanger.com/platforms/google-sharply-limits-doubleclick-id-use-citing-gdpr
- Digiday, "A year in: How agencies have adapted to a world without Google's DoubleClick ID" (16 August 2019). https://digiday.com/media/a-year-in-how-agencies-have-moved-on-post-googles-doubleclick-id-removal
- aqfer, "REDS Event Ingestion" integration page (accessed 9 November 2026). https://aqfer.com/integrations/reds-event-ingestion/
- LiveRamp Documentation, "Announcing the Ability to Automatically Import Exposure Logs from The Trade Desk" (20 February 2019). https://docs.liveramp.com/connect/en/announcing-the-ability-to-automatically-import-exposure-logs-from-the-trade-desk--2-20-19-.html
- Amazon Ads, "Amazon Marketing Cloud" product page and FAQ (accessed 9 November 2026). https://advertising.amazon.com/solutions/products/amazon-marketing-cloud
- PPC Land, "Explaining AMC" (12 September 2026). https://ppc.land/amc/
More sources (14)
- Microsoft Learn, "Log Level Data feeds" (Xandr documentation, updated 22 October 2025). https://learn.microsoft.com/en-us/xandr/log-level-data/log-level-data-feeds
- Microsoft Learn, "Batch Log Level Data" (Xandr documentation, updated 1 June 2026). https://learn.microsoft.com/en-us/xandr/log-level-data/batch-log-level-data
- PPC Land, "Microsoft's Xandr DSP closure opens doors for independent players" (22 June 2025). https://ppc.land/microsofts-xandr-dsp-closure-opens-doors-for-independent-players/
- MediaPost, "Microsoft To Shutter DSP Formerly Xandr" (2025). https://www.mediapost.com/publications/article/405873/microsoft-to-shutter-dsp-formerly-xandr-replace.html
- AdExchanger, "Marketers Are Going Straight To Exchanges For Ultimate Data Transparency" (24 October 2019). https://adexchanger.com/data-exchanges/marketers-are-going-straight-to-exchanges-for-ultimate-data-transparency
- AdExchanger, "OpenX BIDS Is Making It Cheaper And Easier For Brands To Access Log-Level Data" (23 July 2020). https://www.adexchanger.com/platforms/openx-bids-is-making-it-cheaper-and-easier-for-brands-to-access-log-level-data/
- Prebid.org, "pbjs.getEvents" event reference (accessed 9 November 2026). https://docs.prebid.org/dev-docs/publisher-api-reference/getEvents.html
- Prebid.org, "pbjs.setConfig", transaction ID settings (accessed 9 November 2026). https://docs.prebid.org/dev-docs/publisher-api-reference/setConfig.html
- Prebid.org, "Prebid Server: Build an Analytics Adapter" (accessed 9 November 2026). https://docs.prebid.org/prebid-server/developers/pbs-build-an-analytics-adapter.html
- GitHub release pages read 9 November 2026: Prebid.js 11.47.0 (4 November 2026), https://github.com/prebid/Prebid.js/releases; Prebid Server Go v4.11.1 (2 November 2026), https://github.com/prebid/prebid-server/releases; Prebid Server Java 4.5.0 (4 November 2026), https://github.com/prebid/prebid-server-java/releases
- AWS Big Data Blog, "How Annalect built an event log data analytics solution using Amazon Redshift" (5 October 2018). https://aws.amazon.com/blogs/big-data/how-annalect-built-an-event-log-data-analytics-solution-using-amazon-redshift
- Digiday, "ISBA's latest programmatic transparency report points to a reduction in the 'unknown' ad spend delta, but more work is required" (18 January 2023). https://digiday.com/media-buying/isbas-latest-programmatic-transparency-report-points-to-a-reduction-in-the-unknown-ad-spend-delta-but-more-work-is-required
- ANA, Programmatic transparency hub: 2023 Programmatic Media Supply Chain Transparency Study and the Programmatic Transparency Benchmark (accessed 9 November 2026). https://ana.net/programmatic
- Fiducia, ANA Programmatic Transparency Benchmark Q2 2026 release (6 August 2026). https://www.fiducia.eco/post/ana-programmatic-transparency-benchmark-q2-2026-working-media-efficiency-reaches-a-record-45