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).
    Jump to the table

    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

    Columns (4)

    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

    Download JSON

    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

    Columns (3)

    event_time_utc

    DV360 sends microseconds since 1970 in UTC

    Keep full precision; it helps match records across platforms

    auction_id

    DV360's join key across view, click and conversion rows

    Google says not to assume "any ordering, structure or meaning" in it

    openrtb_transaction_id

    The OpenRTB source.tid, where a platform exports it

    DV360's field list has no such column, so this stays null for DV360 rows

    inventory_source_external_id

    The deal or inventory source DV360 attributed

    The starting point for deal-level reconciliation

    site_url

    Raw URL from the bid request

    Some exchanges mask it as "source_url_hidden"

    user_id, user_id_null_reason_groups

    Tracking ID, zeroed when privacy rules apply, with a reason bitmask

    1 = GOOGLE, 2 = PARTNER_POLICY in Google's reason list

    *_nanos

    Costs per impression in billionths of a dollar

    1,280,000 nanos = $0.00128 per impression = $1.28 CPM

    billable_cost_nanos

    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

    Download JSON

    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

    Columns (6)

    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

    Download JSON

    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.

    1. 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 ID can be zeroed, with a reason code.
    2. 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.
    3. 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 consistentTIDs flag 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.
    4. 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).

    1. Copy every file within the retention window. Pull Google files daily; never rely on the 60-day source copy.
    2. Keep a raw, immutable landing zone. Store files exactly as delivered, including Ad Manager's "_corrected" re-publications, so you can reprocess.
    3. 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.
    4. Partition by event hour, not file hour. Late events are normal: Ad Manager can deliver some rows 8 days late (Google Ad Manager Help).
    5. Build one conformed impression table. Same columns for every DSP and ad server, with the source platform and file name on each row.
    6. 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.
    7. 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

    1. 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.
    2. 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.
    3. Using file time as event time. Ad Manager files mix events from earlier hours and a different time zone. Partition by the event timestamp.
    4. 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.
    5. Joining platforms on timestamps alone. Identical timestamps are common on busy paths. Use transaction IDs where available and report match rates honestly.
    6. Treating zeroed IDs as users. A User ID of zero is many people, not one. Exclude it from reach and frequency.
    7. Storing raw IPs and full user IDs by default. Hash or drop them unless a documented purpose needs them.
    8. Expecting raw rows from Amazon. AMC returns aggregates only; plan Amazon analysis as clean room queries.

    FAQ

    What does log-level data mean?
    It means the raw, event-by-event records behind a platform's reports, one row per bid, impression, click or conversion. You get the timestamp, IDs, supply path and costs for each event. You can then compute your own metrics, audit fees and join data across platforms (Google Ad Manager Help, accessed 9 November 2026).
    Does DV360 provide log-level data?
    Yes, through Data Transfer v2.0. Impression and click files arrive hourly and activity files daily in Google Cloud Storage, and files are deleted after 60 days (Google, updated 14 October 2024). User IDs may be zeroed for privacy reasons.
    Does Amazon DSP provide log-level data?
    Not as a raw export. Amazon offers event-level analysis inside Amazon Marketing Cloud, where advertisers run SQL on Amazon Ads signals and receive only aggregated outputs (Amazon Ads, accessed 9 November 2026). AMC keeps 25 months of ad traffic signals.
    Can I still get Xandr log-level data?
    Not for buying on Microsoft Invest, which closed on 28 February 2026 (PPC Land, 22 June 2025). Microsoft still published the Xandr log-level feed documentation on 9 November 2026, so sell-side users should confirm their feeds with their Microsoft contact.
    How long do platforms keep log-level files?
    Google keeps DV360, Campaign Manager 360 and Ad Manager Data Transfer files for 60 days (Google, updated 14 October 2024). The Trade Desk and Microsoft do not publish a retention period. Copy files into your own storage as they arrive.

    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

    1. Google for Developers, "Data Transfer v2.0", Display & Video 360 (last updated 14 October 2024). https://developers.google.com/bid-manager/dtv2/overview
    2. 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
    3. Google for Developers, "Data Transfer v2.0", Campaign Manager 360 (last updated 14 October 2024). https://developers.google.com/doubleclick-advertisers/dtv2/overview
    4. Google Ad Manager Help, "Data Transfer reports" (answer 1733124, accessed 9 November 2026). https://support.google.com/admanager/answer/1733124?hl=en
    5. AdExchanger, "Google Sharply Limits DoubleClick ID Use, Citing GDPR" (27 April 2018). https://adexchanger.com/platforms/google-sharply-limits-doubleclick-id-use-citing-gdpr
    6. 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
    7. aqfer, "REDS Event Ingestion" integration page (accessed 9 November 2026). https://aqfer.com/integrations/reds-event-ingestion/
    8. 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
    9. Amazon Ads, "Amazon Marketing Cloud" product page and FAQ (accessed 9 November 2026). https://advertising.amazon.com/solutions/products/amazon-marketing-cloud
    10. PPC Land, "Explaining AMC" (12 September 2026). https://ppc.land/amc/
    More sources (14)
    1. 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
    2. 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
    3. 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/
    4. MediaPost, "Microsoft To Shutter DSP Formerly Xandr" (2025). https://www.mediapost.com/publications/article/405873/microsoft-to-shutter-dsp-formerly-xandr-replace.html
    5. 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
    6. 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/
    7. Prebid.org, "pbjs.getEvents" event reference (accessed 9 November 2026). https://docs.prebid.org/dev-docs/publisher-api-reference/getEvents.html
    8. Prebid.org, "pbjs.setConfig", transaction ID settings (accessed 9 November 2026). https://docs.prebid.org/dev-docs/publisher-api-reference/setConfig.html
    9. 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
    10. 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
    11. 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
    12. 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
    13. ANA, Programmatic transparency hub: 2023 Programmatic Media Supply Chain Transparency Study and the Programmatic Transparency Benchmark (accessed 9 November 2026). https://ana.net/programmatic
    14. 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