Curator feed

The Log-Level Curator Feed provides data on the transacted impressions of your curated deals. The feed contains one row per transacted impression. This data can then be used by curators to develop powerful offline attribution models, dashboards, and custom reporting as well as other solutions.

The Xandr internal name for this feed is curator_feed.

Sequence

The columns below are listed in the same order in which they appear in the log-level feed file (top to bottom here, left to right in the file).

In the Columns table below, some values in the Type column contain a recommended precision or length in parentheses. For example, string(100) means "this string is probably (but not guaranteed to be) less than or equal to 100 characters in length".

For integers, the sizes are described in the Integer Key section.

For numeric (floating point) data types, we recommend being able to accept a precision of (18,6), meaning that we expect there to be a maximum total of 18 digits: 12 to the left of the decimal point, and 6 to the right.

For string data types, the recommended length of the field varies depending on the field. See the table below.

Warning

These are Recommendations, not Guarantees.

The data types are meant to be accurate as documented. However, the recommended precision or length for a given data type should not be read as a guarantee. For example, a string or numeric column's value may exceed the suggested length or precision listed on this page.

The recommendations are intended to help you build your system to ingest this data. You may need to do additional processing on the output of the Curator Feed to make it work with your particular integration.

Integer key

  • tinyint = 1 byte (8 bit)
  • smallint = 2 byte (16 bit)
  • int = 4 byte (32 bit)
  • bigint = 8 byte (64 bit)

Columns

Note

Microsoft Advertising may need to remove values for certain log level data (LLD) fields in order to comply with current data sharing restrictions.

Column Index Column Name Type Description
01 auction_id_64 bigint The Xandr unique auction identifier.
02 date_time UNIX Epoch time The time and date of the event (e.g., 1526057561 which would need to be translated to Friday, May 11, 2018 4:52:41 PM (UTC)). See event_type for a list of events.
03 user_tz_offset tinyint The time zone of user vs. UTC. Useful for daypart targeting.
04 media_type tinyint The general display style of the creative, classified by media subtype. To map media subtype IDs to their names and parent media types, use the Media Subtype Service. For the video media type, the value of the creative_width and creative_height columns will be 1.
05 event_type enum Possible values:
- imp = impression
- click
- served = VAST Creative was served
- started = VAST Creative was started
- skipped = VAST Creative was skipped
- error = There was an error playing the VAST creative
- 25_pct = The VAST creative played continuously for at least 25% of the total duration at normal speed
- 50_pct = The VAST creative played continuously for at least 50% of the total duration at normal speed
- 75_pct = The VAST creative played continuously for at least 75% of the duration at normal speed
- 100_pct = The VAST creative was played to the end at normal speed so that 100% of the creative was played.
06 user_id_64 bigint The Xandr 64-bit User ID stored in the Xandr cookie store
This field is 0 when:
- Xandr does not have a match for this user; or
- the user's browser doesn't accept cookies; or
- you do not have a legal basis to access and process personal data for an impression where GDPR applies
It will be -1 for opt-out/non-consented users.

Note: If you received the hashed_user_id_64 version of this field, you will not receive the unhashed version.
07 hashed_user_id_64 bytes The hashed version of the Xandr 64-bit User ID which will we provided as a proxy in certain cases where Xandr is unable to provide the real user_id_64. You will not be able to target users via their hashed user ID. However you can use this identifier to calculate unique users, user frequency, and user recency. An example is provided below:
user_id_64:
XXXXXX304391387YYYY
hashed_user_id_64:
0000f47b074866470613d9397f0bd7efa78c7adec992aac5e117cbe2d55993a94767

Note: If you receive the user_id_64 version of this field, you will not receive the hashed version.
08 ip_address string The IP address of user. This field has a maximum of 40 characters.
09 ip_address_trunc string The IP address of user with the last octet removed. This field has a maximum of 40 characters.
10 country string The geographic country of the impression. Derived from IP address of user or provided by the site associated with the impression. Uses ISO 3166 country codes.
11 region string The geographic region of the impression. Derived from IP address of user or provided by the site associated with the impression. Uses ISO-3166-2 codes for US and Canadian regions, and FIPS codes for regions in all other countries.
12 dma int Specifies the ID of the designated market area for this impression. Use the Designated Market Area Service to look up the area associated with the ID.
13 city int The ID of the city for this impression. Derived from IP address of user or provided by the site associated with the impression. Use the City Service to look up the city associated with the ID.
14 postal_code string The postal code of the user's location. Derived from IP address of user or provided by the site associated with the impression. For postal codes, see Postal Code Service.
15 latitude string The latitude of the user's location, when GPS data is available from a mobile device. Expressed in the format "snn.ddd,snn.ddd", for example +12.345 or -45.123, where south is represented as negative. There can be a maximum of 5 decimal places of precision.
16 latitude_trunc string The truncated value (limited to 3 decimal places) of the latitude of the user's location, when GPS data is available from a mobile device. Expressed in the format "snn.ddd,snn.ddd". For example:
- +12.345 or
- -45.123 (where south is represented as negative).
17 longitude string The longitude of the user's location, when GPS data is available from a mobile device. Expressed in the format "snn.ddd,snn.ddd", for example +12.345 or -45.123, where west is represented as negative. There can be a maximum of 5 decimal places of precision.
18 longitude_trunc string The truncated value (limited to 3 decimal places) of the longitude of the user's location, when GPS data is available from a mobile device. Expressed in the format "snn.ddd,snn.ddd". For example:
- +12.345 or
- -45.123 (where west is represented as negative).
19 device_unique_id string The unique identifier representing the mobile device. The numeric prefix indicates the type of unique device identifier:
- 0 = IDFA (Apple ID for Advertising)
- 1 = SHA1
- 2 = MD5
- 3 = ODIN
- 4 = OPENUDID
- 5 = AAID (Android Advertising ID)
- 6 = WINDOWSADID (Microsoft Advertising ID)
- 7 = RIDA (Roky id for Advertising)
- 8.9 = AFAI (Amazon Fire OS)
- 8.10 = TIFA (Tizen Identifier for Advertising (Samsung Ad ID))
- 8.11 = VIDA (Vizio Advertising ID)
- 8.12 = LGUDID (LG Unique Device ID)
20 device_type int The type of device. Possible values are:
- 0 = Other Devices
- 1 = Desktops and Laptops
- 2 = Mobile Phones
- 3 = Tablets
- 4 = TV
- 5 = Game Console
- 6 = Media Players
- 7 = Set Top Box
21 tc_string string The Transparency and Consent String represents the IAB Transparency and Consent Framework string. The string is base-64 url-safe encoded and can be decoded using the IAB GDPR Transparency and Consent Framework technical specification. The string contains data rights, usage, and privacy information.
22 curated_deal_id int The ID of the curator's deal through which the impression transacted.
23 gross_revenue_dollars numeric The amount of spend the buyer sent to the curator for the impression (including buyer fees, if applicable). This is the same as Buyer's media cost (except media cost does not include buyer fees).
This is the same value as curator_revenue in the Curator Analytics Report.
24 curator_margin numeric The profit the curator made on the transaction.
25 total_tech_fees_dollars numeric The fees Xandr charged to a curator on the impression.
26 total_cost_dollars numeric The amount the curator spent on exchange fees (to Xandr) and seller media for the impression. This does not include curator margin or curator fees.
This is the same value as curator_total_cost in the Curator Analytics Report.
27 net_media_cost_dollars numeric The amount the curator spent on seller media for the impression. This does not include curator fees or curator margin (if applicable).
This is the same as gross seller revenue (which includes seller fees).
28 seller_member_id int The member ID of the seller.
29 publisher_id int The ID for the publisher of the placement. Curator member may map the Publisher ID to a name using the Inventory Resold Service if the seller has chosen to expose the publisher. Exposure to curator depends on the seller's visibility profile.
30 site_id int The ID for site associated with placement. Cannot be associated with a name, except by the seller member who owns the site. Exposure to curator depends on the seller's visibility profile.
31 site_domain string The most granular identifier of the site that we can offer (but not the full domain). This may be the domain of a supply partner (e.g., doubleclick.com), the network who owns the resold inventory, or just "resold inventory". Exposure to curator depends on the seller's visibility profile settings. This field has a maximum of 100 characters.
32 tag_id int The ID of placement tag of the impression. Cannot be associated with a name, except by the seller member who owns the tag. Exposure to curator depends on the seller's visibility profile.
33 application_id string The ID of the mobile application (if applicable).
34 mobile_app_instance_id int Specifies the ID of the mobile app instance for this impression. Use the Mobile App Instance Service to look up the mobile app instance associated with the ID.
35 buyer_member_id int The member ID of the buyer.
36 creative_id int The ID of the creative served.
37 brand_id int The ID for brand of the creative. Curator member can map the brand_id to a name using the Brand Service.
38 deal_id int The seller_deal_id associated with the impression, or 0 if the curator sourced the impression from the open exchange.
39 view_result enum The Xandr viewability measurement result of the impression. Possible values:
- 0 = VIEW_UNKNOWN
- 1 = VIEW_DETECTED
- 2 = VIEW_NOT_DETECTED
- 3 = VIEW_NOT_MEASURABLE
- -1 = UNKNOWN

Note: For more details about viewability, see Introduction to Viewability.
40 view_non_measurable_reason int The reason an impression could not be measured for viewability. Possible values:
- 0 = N/A. The impression was measured for viewability
- 1 = SCRIPT_NOT_SERVED. The viewability script was not served with the creative. For example, on mobile-app inventory.
- 2 = NO_SCRIPT_CALLBACK. The viewability script was served with the creative, but no callback/event was received. For example, the user left the page before the creative was served.
- 3 = TECHNICAL_LIMITATION. The viewability script was served and loaded, but was unable to measure for a technical reason. For example, a cross-domain iframe with Flash disabled.
- -1 = UNKNOWN. The reason is unknown.

Note: For more information regarding viewability, see Introduction to Viewability.
41 supply_type enum The type of supply. Possible values:
- 0 = WEB
- 1 = MOBILE_WEB
- 2 = MOBILE_APP
- 5 = TOOLBAR
42 creative_width smallint The width of the creative.
43 creative_height smallint The height of the creative.
44 partition_time_millis UNIX Epoch time The hourly partition any record row falls into, represented as a UNIX Epoch timestamp value (in milliseconds). Useful for defining hourly partitions when loading into a database or data warehouse. For the Avro format, this field is given the timestamp-millis logical type for native timestamp detection. For example, 1568077200000 can also be represented as Tuesday, September 10, 2019 1 AM (UTC).
45 operating_system smallint The operating system on which the impression occurred. Use the Operating System Service to look up the operating system associated with the ID.
46 browser smallint The browser in which the impression occurred. Use the Browser Service to look up the browser associated with the ID.
47 language smallint The language setting of the browser in which the impression occurred. Use the Language Service to look up the language associated with the ID.
48 device_id smallint The model of the device on which the impression occurred. Use the Device Model Service to look up the device model associated with the ID.
49 extended_ids array of messages A list of Extended IDs available in the auction, regardless of whether they specifically influenced the transaction. Check the extended_ids table below for more details.
50 curated_deal_code String curated_deal_code allows you to conveniently receive the code you may have populated on your curated deal object.
51 split_id int32 The ID of the split which added the curated deal to the auction where the buyer purchased the impression.
52 external_campaign_id string An optional value DSPs can pass in the cid field on their bid response where they can indicate the line item ID in their system which submitted the bid. Since the cid field is optional, the external_campaign_id field will only have data when the external DSPs populate it on their bid response. See the Open RTB specification for more info on the cid field.
53 external_bidrequest_id bigint A unique identifier generated by Microsoft for the bid request. DSPs can use this identifier to associate their bid response with a bid request and potentially log the bid request identifier in their own log level data.
54 external_bidrequest_imp_id bigint A unique identifier for the impression within the bid request. A single bid request can have multiple impression opportunities which each have their own ID, allowing DSPs to associate their bid response with a bid request impression and potentially log the bid request impression identifier in their own log level data.
55 postal_code_ext_id int32 United States only. The 9 digital U.S. postal code of the user’s location, in the format 12345-1234. Derived from the IP address of the user or provided by the site associated with the impression. For postal codes, see Postal Code Service.

extended_ids

Column Index Column Name Type Description
1 id_type unsigned 32 bit int The source of the extended identifier:
- 10 = Trade Desk ID (Unified ID 1.0)
- 11 = Criteo ID
- 12 = NetID
- 13 = RampID
- 15 = UID 2.0
2 id_value string Value of the extended identifier (for example "ID0001").

Note: You will only see the value of this field if you have been permissioned.