- 5 Minutes to read
Measurement Feeds
- 5 Minutes to read
The Yahoo Measurement Feed is an event-level, user-keyed exposure feed available to partners participating in the Yahoo Partner Match program.
Schema
Field | Definition |
---|---|
event_time | The time the event occurred in Epoch format down to the millisecond. |
event_type_id | Indicates what type of event a given row in the data feed corresponds to:
|
seat_id | The seat ID an impression is served on within DSP. |
seat_name | The name associated with the seat. |
account_id | The advertiser account within a seat. This is not the MDM ID of the advertiser and it is seat specific. |
account_name | The name associated with the account. |
order_id | The campaign ID an impression was served against. |
order_name | The name associated with the order. |
line_id | The line an impression was served against. This is a child of the order. |
line_name | The name associated with the line. |
creative_id | Indicates the specific creative an impression was served against. |
creative_name | The name associated with the creative. |
ad_id | Refers to the unique creative and line pairing of this specific impression. |
publisher_id | Refers to the RTB exchange or inventory source an impression was served on. |
publisher_name | The name associated with the publisher. |
country | The country the ad was served to. |
region | The region the ad was served to. |
postal_code | The postal code the ad was served to. |
language | The language of the user the ad was served to. |
device_type | The type of device an ad was served on. Potential options:
|
device_make | Manufacturer of the device the ad was served on. |
device_model | The model line of the device the ad was served on. |
os_name | The operating system on the device the ad was served on. |
browser_name | The browser the ad was served on. |
domain | The top-level domain an ad was served on. If available, this can also be the app name an ad was served on. |
user_id | ID of the user in the format indicated by the user_id_type. The precedence order for IDs is:
|
user_id_type | Indicates the type of user ID recorded for this individual event (Partner ID, Device ID, or unmatched).
|
targeted_segment_id | The Yahoo ID(s) for the Segment (comma-separated list). The Yahoo segment that the user qualified to in serving, out of the targeted segments on the line. All qualified segment IDs are shared in the exposure report. (e.g., if a user qualified for a partner’s segment and a first-party yahoo segment then both values would be present in this field as a comma-separated list.) |
targeted_segment_name | The Data Provider’s Segment Name(s), as uploaded by the partner (comma separated list). In the case of retargeting audiences, this will be the name of the audience in the Yahoo DSP. All qualified segment name(s) are shared in the exposure report. (e.g., if a user qualified for a partner’s segment and a first-party Yahoo segment, then both values would be present in this field as a comma-separated list.) |
taxonomy_id | The Data Provider Segment ID(s), where applicable (comma-separated list). The taxonomy ID(s) the user qualified to at time of serving out of targeted segments. All qualified segment IDs are shared in the exposure report. (e.g., if a user qualified for a partner’s segment and a first-party Yahoo segment, then both values would be present in this field as a comma-separated list.) Note: If a non-data provider segment is targeted alone, then this value can be an empty string. |
total_cost | Total cost of the reported event. |
Onboarding & Delivery
For daily data distribution, the Partner Match Measurement Feed supports the Amazon S3 or Microsoft Azure cloud platforms.
Amazon S3
In order to grant access necessary for Yahoo to deliver the feed, the receiving partner must update their S3 bucket policy to:
Allow the aolp.ds-prd.cleanroom-api
and aolp.ds-prd.cleanroom-api-service
roles to write to and have other required privileges to the bucket. Enforce encrypted transport and storage.
Sample Policy
{
"Version": "2023-10-31",
"Id": "Policy1544453891556",
"Statement": [
{
"Sid": "AllowCleanroomOutput",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::394273476801:role/aolp.ds-prd.cleanroom-api-service",
"arn:aws:iam::394273476801:root",
"arn:aws:iam::394273476801:role/aolp.ds-prd.cleanroom-api"
]
},
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload",
"s3:GetObjectAcl",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::outputbucket/outputprefix/*",
"arn:aws:s3:::outputbucket"
]
},
{
"Sid": "RequiredSecureTransport",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::outputbucket/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
},
{
"Sid": "RequiredEncryptedPutObject",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::outputbucket/*",
"Condition": {
"Null": {
"s3:x-amz-server-side-encryption": "true"
}
}
}
]
}
Microsoft Azure Cloud
Refer to Azure Blob Storage for information on how to grant necessary access for Yahoo to deliver the feed.
File Delimiter
The files can be delivered in compressed (gzip) ORC, PARQUET, AVRO, JSON, or TEXTFILE format, and will be delivered daily in the indicated bucket, using the following directory structure:
s3://<bucket_name>/partner_match/dt=<yyyyMMdd>/
Yahoo event-level measurement feeds are generated with a two-day delay. Data is partitioned and placed in the event’s S3 folder. Each measurement feed has a partitioned date (date of the recorded events) and a run date (file name containing the date of when the data was generated).
Example
Date Partition Folder Name - 20230101
File Name - 20230103_44050_00007_56rrz_0490364c-9ff3-4a17-9536-e4fa255ac6d5.gz
Data for a given date can be added to the given partition after the initial daily file is delivered. An interface like Athena will automatically pick up newly added records.