Reporting Data Schema

Audiohook’s reporting data schema

Audiohook offers detailed impression level reporting that agencies and brands can leverage to gain additional insights as well as integrate into 3rd party dashboards and BI tools.

 

This data is made available via incremental csv files for the two tables below that can be sent to either AWS’s S3 or Google Storage. Please reach out to your account rep to learn more.

 

All fields that are strings will be lowercase unless otherwise specified.

Reporting and Dashboard Time Reference

In the reporting and dashboard for Audiohook, all timestamps are based on win_time_utc, which is stored in UTC. It is used as the primary time reference for all reporting metrics and dashboard visualizations. This ensures consistency and accuracy across different time zones.

Impressions:

 

All fields that are strings will be lowercase unless otherwise specified.

Column Name
Data Type
Description
Example
Nullable (y/n)
advertiser_uuid
string
Audiohook’s Advertiser UUID.
c13d7aa4-4578-4e7b-8951-2793b134c610
n
advertiser_name
string
Readable version of the Advertiser’s Name. This is case sensitive.
Tesla
n
campaign_id
int
Audiohook’s Campaign ID
878
n
campaign_name
string
Readable version of the Campaign Name. This is case sensitive.
New Model Z
n
creative_id
int
Audiohook’s Creative ID
4037
n
creative_name
string
Readable version of the Creative Name. This is case sensitive
2024 Summer Special
n
audiohook_impression_id
string
Unique identifier of the ad impression.
audiohook.consumable.1695950863.207.imp.633
n
companion_available
int
If a companion ad was included in the impressions. Values are 0 or 1.
1
y
content_type
string
The type of audio where the impression was served. This is a human readable field.
podcast
y
ip_address_type
string
The two possible values are [ipv4, ipv6].
ipv4
y
ip_address_hash
string
An nonreversible hash of the user ip.
2e7449148a65784db66b22fdcd3deeb5
y
ua_string
string
The ua string of the device content was delivered to. This is case sensitive.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0. 4389.82 Safari/537.36
y
device_os
string
The operating system of the device where the content was delivered.
ios
y
device_make
string
The make (brand) of the device where content was delivered
apple
y
device_model
string
The model of the device where content was delivered
iphone
y
device_player
string
The player that was used to play the audio
spotify, echo, chrome browser
y
zip
string
The zip (postal, outside USA) code of the device where the content was delivered. Note that because of leading zeros, this field should not be converted to int.
84011
y
city
string
The city of the device where the content was delivered
bountiful
y
region
string
The region (state, within the USA) of the device where the content was delivered
ut
y
country
string
The country of the device where the content was delivered
usa
y
total_cost_micros
bigint
The total cost in micros for the impression
15333
n
attribution_eligible
int
If the impression is eligible for attribution. 0 or 1 (Not yet implemented in the backend, will return -1)
1
n
placement_type
string
This is a human readable field where the possible values are [pre,mid,post, unaccompanied]
pre
y
content_genre
string
Genre of the content
true crime
y
content_series
string
Content series
dark history
y
content_title
string
The title of the content
exploring seattle’s dark side
y
content_language
string
Language the content is presented in
en
y
win_time_utc
timestamp
Time the bid won
2023-08-27 08:55:20+00
n
start_time_utc
timestamp
Time the impression served
2023-08-27 08:55:21+00
n
audio_q1
int
Flag if the impression played 25% of the creative
1
n
audio_q2
int
Flag if the impression played 50% of the creative
1
n
audio_q3
int
Flag if the impression played 75% of the creative
1
n
audio_q4
int
Flag if the impression played 100% of the creative
1
n
click
int
Flag if there was a clickthrough on the ad
1
y
seller
string
The seller, in regards to the deal
redcircle
y
exchange
string
The exchange, in regards to the deal. If the value is audiohook, then this impression was the result of a direct publisher integration
triton
y
publisher_id
string
Identifier of the publisher of the impression. This is case sensitive.
Consumable
y
publisher_name
string
Name of the publisher for the impression
consumable
y
publisher_domain
string
Top level domain of the publisher
consumable.com
y
created_at
timestamp
when the impression was recorded
2024-01-01 00:00:00+00
n

Notes:

win_time

win_time provides the exact moment an impression was awarded. This timestamp is vital for understanding when ads were served and is often used for time-based analyses, such as evaluating performance over different periods or correlating ad delivery with other events.

🕰️
Filtering records based on win_time to focus on impressions within a specific time range. This is commonly done using conditions like: win_time_utc >= '{start_date}' && win_time_utc < '{end_date}'. This allows for reports to be generated for specific periods, such as daily, weekly, or monthly reports.

win_time is often compared with other time-related fields, such as start_time. For instance, win_time might determine the exact moment an impression was won, while start_time might indicate when the ad started playing. Differences between these times can provide insights into ad delivery and latency.

total_cost_micros

You'll need to divide the amount by 1,000,000 to convert the value from micros to dollars because 1 dollar equals 1,000,000 micros.

💵
Conversion Formula: amount_in_dollars = total_cost_micros / 1000000

DISTINCT

The DISTINCT keyword is utilized in the query to ensure that the result set contains unique records. In the query, DISTINCT is applied to all the selected fields, ensuring that each combination of advertiser_uuid, advertiser_name, campaign_id, and other fields is unique. This prevents the inclusion of duplicate records in the final report.

 

Attributed Events:

 

All fields that are strings will be lowercase unless otherwise specified.

Column Name
Data Type
Description
Example
Nullable
advertiser_uuid
string
The audiohook uuid of the advertiser for which the event took place.
c13d7aa4-4578-4e7b-8951-2793b134c610
n
audiohook_event_uuid
string
A uuid used to ensure all records have a unique field, regardless of whether the brand passed an event id
598267a1-c56b-4dd7-94e2-66b7a81da552
n
audiohook_impression_id
string
The audiohook impression id that the event attributed to
audiohook.consumable.1695950863.207.imp.633
n
event_id
string
The event id passed in the url from the pixel. This is case sensitive.
435-AB
y
event_type
string
The type of event, passed in the url from the pixel
purchase
y
event_value
double
The value of the event, passed in the url from the pixel
10.50
y
event_tracking_url
string
The full url passed from the pixel. This is case sensitive.
http://listen.audiohook.com/yc8341b6-1248-4ceb-98f6-516076a5f0a7/pixel.png?type=purchase&order=435-A&value=10.50
n
event_timestamp
timestamp
The timestamp that the event occurred
2023-09-28 22:25:50.548173
n
ip_address_hash
string
hash of the user that triggered the event
2e7449148a65784db66b22fdcd3deeb5
n
ua_string
string
ua string of the user that triggered the event. This is case sensitive.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0. 4389.82 Safari/537.36
n
created_at
timestamp
when the impression was recorded
2024-01-01 00:00:00+00
n

Notes:

created_at

The created_at field is used to capture and filter the timestamp when an event or record was created.

🕰️
Filter records to include only those created within a specified date range. This allows for time-based analyses, such as generating reports for specific periods (daily, weekly, monthly). created_at >= '{start_date}' && created_at < '{end_date}'
 
Did this answer your question?
😞
😐
🤩