### Browser

| `browser` ||
|---|---|
| `browser_id` | `int64` Browser identifier. |
| `browser_name` | `string` Browser name. |
| `major_version` | `string` Major version of the browser (whole number version). |
| `minor_version` | `string` Minor version of the browser (incremental or decimal version). |

### City

| `city` ||
|---|---|
| `city_id` | `int64` Unique ID of the city. |
| `city_name` | `string` City name. |
| `country_code` | `string` Two character country code. |

### Display \& Video 360 Google TV Active Views

| `dv360_video_active_views_google_tv` ||
|---|---|
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `impression_data.campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `impression_data.creative_id` | `int64` |
| `impression_data.insertion_order_id` | `int64` |
| `impression_data.line_item_id` | `int64` |
| `impression_data.partner_id` | `int64` |
| `impression_id` | `string` Unique identifier for impression. |
| `num_active_view_viewable_impression` | `int64` 1 when impression is active view eligible; 0 when impression is not active view eligible. |
| `query_id` | `struct` |
| `query_id.process_id` | `int64` |
| `query_id.server_ip` | `int64` |
| `query_id.time_usec` | `int64` |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `view_id` | `struct` Unique identifier for view has multiple parts. |
| `view_id.process_id` | `int64` |
| `view_id.server_ip` | `int64` |
| `view_id.time_usec` | `int64` |
| `view_type` | `string` The type of view event. The expected values are DELAYED_IMPRESSION, ACTIVE_VIEW_BILLABLE, ACTIVE_VIEW_MEASUREMENT, ACTIVE_VIEW_INFERRED, ACTIVE_VIEW_VIDEO, ACTIVE_VIEW_MOBILEAPP, ACTIVE_VIEW_TIME_ON_SCREEN, RENDERED_IMPRESSION, VIDEO_TERMINATION, VIDEO_AD_DISPLAY_IMPRESSION, BEGIN_TO_RENDER_IMPRESSION, ATTACHED_TO_VIEW_IMPRESSION, VENDOR_BLOCKED_AD, ACTIVE_VIEW_AUDIO, ACTIVE_VIEW_SYNTHETIC, VPID_BEACON, ACTIVE_VIEW_SESSION. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Display \& Video 360 Google TV creative conversions

| `dv360_video_creative_conversions_google_tv` ||
|---|---|
| `click_id` | `struct` |
| `click_id.process_id` | `int64` |
| `click_id.server_ip` | `int64` |
| `click_id.time_usec` | `int64` |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `conversion_id` | `struct` Unique identifier for conversion has multiple parts. |
| `conversion_id.process_id` | `int64` |
| `conversion_id.server_ip` | `int64` |
| `conversion_id.time_usec` | `int64` |
| `conversion_type` | `int64` The conversion type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `impression_data.campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `impression_data.creative_id` | `int64` |
| `impression_data.insertion_order_id` | `int64` |
| `impression_data.line_item_id` | `int64` |
| `impression_data.partner_id` | `int64` |
| `impression_id` | `string` Unique identifier for impression. |
| `label` | `string` Name of conversion event. |
| `query_id` | `struct` |
| `query_id.process_id` | `int64` |
| `query_id.server_ip` | `int64` |
| `query_id.time_usec` | `int64` |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Display \& Video 360 Google TV impressions

| `dv360_video_impressions_google_tv` ||
|---|---|
| `ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `app_id` | `string` Numerical identifier for the app's ID. Combined with the app_store_id, users can look up more information about the app. For example, 284815942 is the ID of Google's search app on Apple's App store. It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app name by joining with the mobile_app_info table. |
| `app_store_id` | `int64` Numerical identifier corresponding to the app store which the app belongs to. e.g. 1 = "Apple App Store", 2 = "Google Play", or 8 = "PlayStation Store". It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app store name by joining with the mobile_app_info table. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `creative_id` | `int64` |
| `device_height` | `int64` Device height in pixels. |
| `device_width` | `int64` Device width in pixels. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `impression_id` | `string` Unique identifier for impression. |
| `insertion_order_id` | `int64` |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `line_item_id` | `int64` |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region` | `string` Region as a string e.g. US-CA. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `partner_id` | `int64` |
| `physical_screen_height` | `int64` Device screen height in mm. |
| `physical_screen_width` | `int64` Device screen width in mm. |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_id` | `struct` Unique identifier for query has multiple parts |
| `query_id.process_id` | `int64` |
| `query_id.server_ip` | `int64` |
| `query_id.time_usec` | `int64` |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### DV360 YouTube Active Views

| `dv360_youtube_active_views` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `dv360_youtube_active_views`: - `dv360_video_active_views_youtube` - `dv360_video_active_views_network` ||
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.adgroup_id` | `int64` ID of the Display \& Video 360 YouTube ad group. Joins with adgroup_id in any adh.dv360_youtube table. |
| `impression_data.advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `impression_data.campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.dv360_youtube table. |
| `impression_data.insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `impression_data.line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `impression_data.partner_id` | `int64` Unique ID of the partner. |
| `impression_id` | `string` Unique identifier for impression. |
| `num_active_view_viewable_impression` | `int64` 1 when impression is active view eligible; 0 when impression is not active view eligible. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.dv360_youtube table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `view_id` | `struct` Unique identifier for view has multiple parts. |
| `view_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `view_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `view_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `view_type` | `string` The type of view event. The expected values are DELAYED_IMPRESSION, ACTIVE_VIEW_BILLABLE, ACTIVE_VIEW_MEASUREMENT, ACTIVE_VIEW_INFERRED, ACTIVE_VIEW_VIDEO, ACTIVE_VIEW_MOBILEAPP, ACTIVE_VIEW_TIME_ON_SCREEN, RENDERED_IMPRESSION, VIDEO_TERMINATION, VIDEO_AD_DISPLAY_IMPRESSION, BEGIN_TO_RENDER_IMPRESSION, ATTACHED_TO_VIEW_IMPRESSION, VENDOR_BLOCKED_AD, ACTIVE_VIEW_AUDIO, ACTIVE_VIEW_SYNTHETIC, VPID_BEACON, ACTIVE_VIEW_SESSION. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### DV360 YouTube ad group

| `dv360_youtube_adgroup` ||
|---|---|
| `adgroup_id` | `int64` ID of the Display \& Video 360 YouTube ad group. Joins with adgroup_id in any adh.dv360_youtube table. |
| `adgroup_name` | `string` Ad group name. |
| `adgroup_status` | `string` The ad group. Possible values are: STATUS_ENABLED, STATUS_PAUSED, STATUS_DELETED, or STATUS_SOFT_DELETED. |
| `adgroup_type` | `string` The ad group type. Possible values are: VIDEO_ACTION, VIDEO_VIEW, VIDEO_REACH, VIDEO_PAUSE, VIDEO_TRUE_VIEW_IN_STREAM, VIDEO_TRUE_VIEW_IN_DISPLAY, VIDEO_BUMPER, VIDEO_NON_SKIPPABLE_IN_STREAM, DISPLAY, SEARCH, VIDEO_OUTSTREAM, YOUTUBE_AUDIO, VIDEO_MASTHEAD, OTHER |
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `partner_id` | `int64` Unique ID of the partner. |

### DV360 YouTube advertiser

| `dv360_youtube_advertiser` ||
|---|---|
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `advertiser_name` | `string` Name of the advertiser. |
| `advertiser_timezone` | `string` The DV360 advertiser time zone default set in account settings. |
| `partner_id` | `int64` Unique ID of the partner. |

### DV360 YouTube campaign

| `dv360_youtube_campaign` ||
|---|---|
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `campaign_name` | `string` Name of the campaign. |
| `partner_id` | `int64` Unique ID of the partner. |

### DV360 YouTube clicks (deprecated - use dv360_youtube_creative_conversions)

| `dv360_youtube_clicks` ||
|---|---|
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.dv360_youtube table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `click_type` | `int64` The click type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.adgroup_id` | `int64` ID of the Display \& Video 360 YouTube ad group. Joins with adgroup_id in any adh.dv360_youtube table. |
| `impression_data.advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `impression_data.campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.dv360_youtube table. |
| `impression_data.insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `impression_data.line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `impression_data.partner_id` | `int64` Unique ID of the partner. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.dv360_youtube table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |

### DV360 YouTube creative

| `dv360_youtube_creative` ||
|---|---|
| `adgroup_id` | `int64` ID of the Display \& Video 360 YouTube ad group. Joins with adgroup_id in any adh.dv360_youtube table. |
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.dv360_youtube table. |
| `creative_name` | `string` The name of the Display \& Video 360 creative. |
| `creative_type` | `int64` Enum corresponding to the creative type. |
| `insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `partner_id` | `int64` Unique ID of the partner. |
| `third_party_vast_url` | `string` URL used for VAST (Video Ad Serving Template) redirect creatives. Formatting doesn't match yt_reserve_creative.third_party_vast_url. |
| `video_message` | `struct` Multipart identifier for video data. |
| `video_message.video_ad_duration` | `int64` Duration of the video in milliseconds. |
| `video_message.youtube_video_id` | `string` Video ID string representation as it appears on YouTube watch url. |

### DV360 YouTube creative conversions

| `dv360_youtube_creative_conversions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `dv360_youtube_creative_conversions`: - `dv360_video_creative_conversions_youtube` - `dv360_video_creative_conversions_network` ||
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.dv360_youtube table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `conversion_id` | `struct` Unique identifier for conversion has multiple parts. |
| `conversion_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `conversion_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `conversion_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `conversion_type` | `int64` The conversion type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.adgroup_id` | `int64` ID of the Display \& Video 360 YouTube ad group. Joins with adgroup_id in any adh.dv360_youtube table. |
| `impression_data.advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `impression_data.campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.dv360_youtube table. |
| `impression_data.insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `impression_data.line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `impression_data.partner_id` | `int64` Unique ID of the partner. |
| `impression_id` | `string` Unique identifier for impression. |
| `label` | `string` Name of conversion event. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.dv360_youtube table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### DV360 YouTube impressions

| `dv360_youtube_impressions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `dv360_youtube_impressions`: - `dv360_video_impressions_youtube` - `dv360_video_impressions_network` ||
| `ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `adgroup_id` | `int64` ID of the Display \& Video 360 YouTube ad group. Joins with adgroup_id in any adh.dv360_youtube table. |
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `app_id` | `string` Numerical identifier for the app's ID. Combined with the app_store_id, users can look up more information about the app. For example, 284815942 is the ID of Google's search app on Apple's App store. It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app name by joining with the mobile_app_info table. |
| `app_store_id` | `int64` Numerical identifier corresponding to the app store which the app belongs to. e.g. 1 = "Apple App Store", 2 = "Google Play", or 8 = "PlayStation Store". It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app store name by joining with the mobile_app_info table. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.dv360_youtube table. |
| `device_height` | `int64` Device height in pixels. |
| `device_width` | `int64` Device width in pixels. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `impression_id` | `string` Unique identifier for impression. |
| `insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region` | `string` Region as a string e.g. US-CA. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `partner_id` | `int64` Unique ID of the partner. |
| `physical_screen_height` | `int64` Device screen height in mm. |
| `physical_screen_width` | `int64` Device screen width in mm. |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.dv360_youtube table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### DV360 YouTube insertion order

| `dv360_youtube_insertion_order` ||
|---|---|
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `insertion_order_name` | `string` Name of the insertion order. |
| `partner_id` | `int64` Unique ID of the partner. |

### DV360 YouTube line item

| `dv360_youtube_lineitem` ||
|---|---|
| `advertiser_id` | `int64` Multiple Display \& Video 360 "advertisers" generally exist underneath a single partner. Vendor client IDs are saved here. |
| `advertising_channel_type` | `string` |
| `campaign_id` | `int64` The Display \& Video 360 numerical ID for the campaign related to the event, e.g. 164332. |
| `insertion_order_id` | `int64` The Display \& Video 360 numerical ID for the insertion order related to the event, e.g. 1079941. |
| `line_item_end_time` | `int64` Unix timestamp in microseconds (1/1,000,000 second) for when the line item ended, e.g. 1330403779608570 |
| `line_item_id` | `int64` The Display \& Video 360 numerical ID for the line item related to the event, e.g. 1155785. |
| `line_item_name` | `string` The Display \& Video 360 name for the line item related to the event, e.g. 164332. |
| `line_item_reservation_type` | `string` Reservation type for a Display \& Video 360 line item. Can be one of Programmatic, InstantReserve, or None (meaning standard auction). |
| `line_item_start_time` | `int64` Unix timestamp in microseconds (1/1,000,000 second) for when the line item started, e.g. 1330403779608570 |
| `line_item_status` | `int64` Integer indicating the status of the line item. 3 = ACTIVE. 5 = PAUSED. 7 = DELETED. |
| `partner_id` | `int64` Unique ID of the partner. |

### DV360 YouTube vendor reporting metadata

| `dv360_youtube_vendor_reporting_data` ||
|---|---|
| `line_item_id` | `int64` Unique ID of the line item. |
| `vendor_client_id` | `string` All lower-case formatted vendor client id (VCID). |
| `vendor_metric` | `string` Measurement type. |
| `vendor_reporting_id` | `string` Customer-provided identifier to slice their data by. |

### Freewheel Active Views

| `freewheel_active_views` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `freewheel_active_views`: - `freewheel_active_views_youtube` ||
| `ad_current_time_ms` | `int64` The current time of the ad video playback in milliseconds. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `freewheel_event_id` | `struct` Unique identifier for query has multiple parts. Joins with event_id. |
| `freewheel_event_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `freewheel_event_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `freewheel_event_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `label` | `string` Name of conversion event. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `vendor_tracking_strings` | `array<string>` |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Freewheel clicks

| `freewheel_clicks` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `freewheel_clicks`: - `freewheel_clicks_youtube` ||
| `ad_current_time_ms` | `int64` The current time of the ad video playback in milliseconds. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `freewheel_event_id` | `struct` Unique identifier for query has multiple parts. Joins with event_id. |
| `freewheel_event_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `freewheel_event_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `freewheel_event_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `label` | `string` Name of conversion event. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `vendor_tracking_strings` | `array<string>` |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Freewheel creative conversions

| `freewheel_creative_conversions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `freewheel_creative_conversions`: - `freewheel_creative_conversions_youtube` ||
| `ad_current_time_ms` | `int64` The current time of the ad video playback in milliseconds. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `freewheel_event_id` | `struct` Unique identifier for query has multiple parts. Joins with event_id. |
| `freewheel_event_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `freewheel_event_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `freewheel_event_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `label` | `string` Name of conversion event. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `vendor_tracking_strings` | `array<string>` |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Freewheel impressions

| `freewheel_impressions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `freewheel_impressions`: - `freewheel_impressions_youtube` ||
| `ad_current_time_ms` | `int64` The current time of the ad video playback in milliseconds. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `freewheel_event_id` | `struct` Unique identifier for query has multiple parts. Joins with event_id. |
| `freewheel_event_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `freewheel_event_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `freewheel_event_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `label` | `string` Name of conversion event. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `vendor_tracking_strings` | `array<string>` |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Google Ads Active Views

| `google_ads_active_views` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `google_ads_active_views`: - `google_ads_active_views_youtube` - `google_ads_active_views_network` ||
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.campaign_id` | `int64` Unique ID of the campaign. |
| `impression_data.customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.google_ads table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `view_id` | `struct` Unique identifier for view has multiple parts. |
| `view_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `view_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `view_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `view_type` | `string` The type of view event. The expected values are DELAYED_IMPRESSION, ACTIVE_VIEW_BILLABLE, ACTIVE_VIEW_MEASUREMENT, ACTIVE_VIEW_INFERRED, ACTIVE_VIEW_VIDEO, ACTIVE_VIEW_MOBILEAPP, ACTIVE_VIEW_TIME_ON_SCREEN, RENDERED_IMPRESSION, VIDEO_TERMINATION, VIDEO_AD_DISPLAY_IMPRESSION, BEGIN_TO_RENDER_IMPRESSION, ATTACHED_TO_VIEW_IMPRESSION, VENDOR_BLOCKED_AD, ACTIVE_VIEW_AUDIO, ACTIVE_VIEW_SYNTHETIC, VPID_BEACON, ACTIVE_VIEW_SESSION. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Google TV Active Views

| `google_ads_active_views_google_tv` ||
|---|---|
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.campaign_id` | `int64` Unique ID of the campaign. |
| `impression_data.customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` |
| `query_id.process_id` | `int64` |
| `query_id.server_ip` | `int64` |
| `query_id.time_usec` | `int64` |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `view_id` | `struct` Unique identifier for view has multiple parts. |
| `view_id.process_id` | `int64` |
| `view_id.server_ip` | `int64` |
| `view_id.time_usec` | `int64` |
| `view_type` | `string` The type of view event. The expected values are DELAYED_IMPRESSION, ACTIVE_VIEW_BILLABLE, ACTIVE_VIEW_MEASUREMENT, ACTIVE_VIEW_INFERRED, ACTIVE_VIEW_VIDEO, ACTIVE_VIEW_MOBILEAPP, ACTIVE_VIEW_TIME_ON_SCREEN, RENDERED_IMPRESSION, VIDEO_TERMINATION, VIDEO_AD_DISPLAY_IMPRESSION, BEGIN_TO_RENDER_IMPRESSION, ATTACHED_TO_VIEW_IMPRESSION, VENDOR_BLOCKED_AD, ACTIVE_VIEW_AUDIO, ACTIVE_VIEW_SYNTHETIC, VPID_BEACON, ACTIVE_VIEW_SESSION. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Google Ads ad group

| `google_ads_adgroup` ||
|---|---|
| `adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `adgroup_name` | `string` Name of the ad group in Google Ads. |
| `adgroup_status` | `string` The ad group. Possible values are: STATUS_ENABLED, STATUS_PAUSED, STATUS_DELETED, or STATUS_SOFT_DELETED. |
| `adgroup_type` | `string` The ad group type. Possible values are: VIDEO_ACTION, VIDEO_VIEW, VIDEO_REACH, VIDEO_PAUSE, VIDEO_TRUE_VIEW_IN_STREAM, VIDEO_TRUE_VIEW_IN_DISPLAY, VIDEO_BUMPER, VIDEO_NON_SKIPPABLE_IN_STREAM, DISPLAY, SEARCH, VIDEO_OUTSTREAM, YOUTUBE_AUDIO, VIDEO_MASTHEAD, OTHER |
| `campaign_id` | `int64` Unique ID of the campaign. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `label_ids` | `array<int64>` Label IDs. Joins with label_id in the adh.google_ads_label table. |

### Google Ads ad group creative

| `google_ads_adgroupcreative` ||
|---|---|
| `ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `adgroup_creative_status` | `string` The status of the creative within the ad group. |
| `adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `creative_id` | `int64` A unique identifier for the creative, specific to the ad group containing it. Joins with creative_id in any adh.google_ads table. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `label_ids` | `array<int64>` Label IDs. Joins with label_id in the adh.google_ads_label table. |

### Google Ads campaign

| `google_ads_campaign` ||
|---|---|
| `advertising_channel_type` | `string` The primary serving target for ads within the campaign. It can be set only when a campaign is newly created in Google Ads. Possible values are: SEARCH, DISPLAY, VIDEO, DEMAND_GEN or OTHER. |
| `campaign_id` | `int64` Unique ID of the campaign. |
| `campaign_name` | `string` Campaign name. |
| `campaign_status` | `int64` Campaign status. 3 = ACTIVE. 5 = PAUSED. 7 = DELETED. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `end_time` | `int64` Timestamp when the campaign ends in milliseconds. |
| `is_dv360` | `boolean` |
| `label_ids` | `array<int64>` Label IDs. Joins with label_id in the adh.google_ads_label table. |
| `reservation_type` | `string` The type of the reservation. Can be either "InstantReserve" or "None" (meaning standard auction). |
| `start_time` | `int64` Timestamp when the campaign begins in milliseconds. |

### Google Ads clicks (deprecated - use google_ads_creative_conversions)

| `google_ads_clicks` ||
|---|---|
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.google_ads table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `click_type` | `int64` The click type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.campaign_id` | `int64` Unique ID of the campaign. |
| `impression_data.customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.google_ads table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |

### Google Ads creative

| `google_ads_creative` ||
|---|---|
| `creative_id` | `int64` A unique identifier for the creative, specific to the ad group containing it. Joins with creative_id in any adh.google_ads table. |
| `creative_name` | `string` Creative name. |
| `creative_type` | `int64` Creative type. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `template_id` | `int64` Template ID of the creative. |
| `third_party_vast_url` | `string` The VAST tag URL string, as seen in Google products. |
| `video_message` | `struct` Multipart identifier for video data. |
| `video_message.video_ad_duration` | `int64` Duration of the video in milliseconds. |
| `video_message.youtube_video_id` | `string` Video ID string representation as it appears on YouTube watch url. |

### Google Ads creative conversions

| `google_ads_creative_conversions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `google_ads_creative_conversions`: - `google_ads_creative_conversions_youtube` - `google_ads_creative_conversions_network` ||
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.google_ads table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `conversion_id` | `struct` Unique identifier for conversion has multiple parts. |
| `conversion_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `conversion_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `conversion_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `conversion_type` | `int64` The conversion type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.campaign_id` | `int64` Unique ID of the campaign. |
| `impression_data.customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `impression_id` | `string` Unique identifier for impression. |
| `label` | `string` Name of conversion event. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.google_ads table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Google TV creative conversions

| `google_ads_creative_conversions_google_tv` ||
|---|---|
| `click_id` | `struct` |
| `click_id.process_id` | `int64` |
| `click_id.server_ip` | `int64` |
| `click_id.time_usec` | `int64` |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `conversion_id` | `struct` Unique identifier for conversion has multiple parts. |
| `conversion_id.process_id` | `int64` |
| `conversion_id.server_ip` | `int64` |
| `conversion_id.time_usec` | `int64` |
| `conversion_type` | `int64` The conversion type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `impression_data.ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `impression_data.adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `impression_data.campaign_id` | `int64` Unique ID of the campaign. |
| `impression_data.customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `impression_id` | `string` Unique identifier for impression. |
| `label` | `string` Name of conversion event. |
| `query_id` | `struct` |
| `query_id.process_id` | `int64` |
| `query_id.server_ip` | `int64` |
| `query_id.time_usec` | `int64` |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Google Ads creative vendor metadata

| `google_ads_creative_vendor_metadata` ||
|---|---|
| `creative_id` | `int64` A unique identifier for the creative, specific to the ad group containing it. Joins with creative_id in any adh.google_ads table. |
| `legacy_pixel` | `string` |
| `vendor_string` | `string` |

### Google Ads customer

| `google_ads_customer` ||
|---|---|
| `customer_company_name` | `string` Company name. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `customer_name` | `string` Google Ads account name. |
| `customer_timezone` | `string` Google Ads account configured timezone, in IANA TZ Database Name format. |
| `external_customer_id` | `int64` Google Ads account ID. |
| `mcc_ids` | `array<int64>` My Client Center: dashboard view in Google Ads that is provided to large advertisers and third-party agencies who manage and optimize multiple Google Ads accounts. |

### Google Ads Impressions

| `google_ads_impressions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `google_ads_impressions`: - `google_ads_impressions_youtube` - `google_ads_impressions_network` ||
| `ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `app_id` | `string` Numerical identifier for the app's ID. Combined with the app_store_id, users can look up more information about the app. For example, 284815942 is the ID of Google's search app on Apple's App store. It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app name by joining with the mobile_app_info table. |
| `app_store_id` | `int64` Numerical identifier corresponding to the app store which the app belongs to. e.g. 1 = "Apple App Store", 2 = "Google Play", or 8 = "PlayStation Store". It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app store name by joining with the mobile_app_info table. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `campaign_id` | `int64` Unique ID of the campaign. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `device_height` | `int64` Device height in pixels. |
| `device_width` | `int64` Device width in pixels. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region` | `string` Region as a string e.g. US-CA. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `physical_screen_height` | `int64` Device screen height in mm. |
| `physical_screen_width` | `int64` Device screen width in mm. |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.google_ads table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Google TV impressions

| `google_ads_impressions_google_tv` ||
|---|---|
| `ad_format_type` | `string` Serving ad format type, e.g. INSTREAM_SKIPPABLE, INFEED, SHORTS. |
| `ad_group_creative_id` | `int64` ID for creative trafficked in given ad group. Joins with ad_group_creative_id in any adh.google_ads table. |
| `adgroup_id` | `int64` ID of Google Ads ad group. Joins with adgroup_id in any adh.google_ads table. |
| `app_id` | `string` Numerical identifier for the app's ID. Combined with the app_store_id, users can look up more information about the app. For example, 284815942 is the ID of Google's search app on Apple's App store. It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app name by joining with the mobile_app_info table. |
| `app_store_id` | `int64` Numerical identifier corresponding to the app store which the app belongs to. e.g. 1 = "Apple App Store", 2 = "Google Play", or 8 = "PlayStation Store". It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app store name by joining with the mobile_app_info table. |
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `campaign_id` | `int64` Unique ID of the campaign. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `device_height` | `int64` Device height in pixels. |
| `device_width` | `int64` Device width in pixels. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region` | `string` Region as a string e.g. US-CA. |
| `location.geo_region_id` | `int64` Code for region. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `physical_screen_height` | `int64` Device screen height in mm. |
| `physical_screen_width` | `int64` Device screen width in mm. |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_id` | `struct` Unique identifier for query has multiple parts |
| `query_id.process_id` | `int64` |
| `query_id.server_ip` | `int64` |
| `query_id.time_usec` | `int64` |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Google Ads label

| `google_ads_label` ||
|---|---|
| `customer_id` | `int64` Google Ads account ID. Joins with customer_id in any adh.google_ads table. |
| `description` | `string` Label description. |
| `label_id` | `int64` Label ID. Joins with label_ids in adh.google_ads tables that contain label_ids. |
| `label_name` | `string` Label name. |
| `status` | `int64` Label status. 1 = ENABLED. 2 = DELETED. |

### Google Ads vendor reporting metadata

| `google_ads_vendor_reporting_data` ||
|---|---|
| `campaign_id` | `int64` Unique ID of the campaign. |
| `vendor_client_id` | `string` All lower-case formatted vendor client id (VCID). |
| `vendor_metric` | `string` Measurement type. |
| `vendor_reporting_id` | `string` Customer-provided identifier to slice their data by. |

### Metro

| `metro` ||
|---|---|
| `country_code` | `string` Two character country code. |
| `metro_id` | `int64` Metro identifier. |
| `metro_name` | `string` Metro name. |

### Mobile app info

| `mobile_app_info` ||
|---|---|
| `app_id` | `string` Numerical identifier for the app's ID. Combined with the app_store_id, users can look up more information about the app. For example, 284815942 is the ID of Google's search app on Apple's App store. It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app name by joining with the mobile_app_info table. |
| `app_name` | `string` The name of the app as it appears in the app store. |
| `app_store_id` | `int64` Numerical identifier corresponding to the app store which the app belongs to. e.g. 1 = Apple App Store, 2 = Google Play, or 8 = PlayStation Store. It only populates for Google Display Network (GDN) and Google Video Partner (GVP), which can be identified as INVENTORY_TYPE = OTHER. You can look up the app store name by joining with the mobile_app_info table. |
| `app_store_name` | `string` The name of the app store. |

### Mobile browser class

| `mobile_browser_class` ||
|---|---|
| `mobile_browser_class_id` | `int64` Mobile browser class identifier. |
| `mobile_browser_class_name` | `string` Name of the mobile browser class. |

### Partner Sold - Cross Sell Active Views

| `partner_sold_cross_sell_active_views` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `partner_sold_cross_sell_active_views`: - `partner_sold_cross_sell_active_views_youtube` ||
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.partner_sold table. |
| `impression_data.line_item_id` | `int64` Ad Manager line item serving. |
| `impression_data.media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `impression_data.order_id` | `int64` Ad Manager order identifier used for serving. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.partner_sold table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `view_id` | `struct` Unique identifier for view has multiple parts. |
| `view_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `view_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `view_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `view_type` | `string` The type of view event. The expected values are DELAYED_IMPRESSION, ACTIVE_VIEW_BILLABLE, ACTIVE_VIEW_MEASUREMENT, ACTIVE_VIEW_INFERRED, ACTIVE_VIEW_VIDEO, ACTIVE_VIEW_MOBILEAPP, ACTIVE_VIEW_TIME_ON_SCREEN, RENDERED_IMPRESSION, VIDEO_TERMINATION, VIDEO_AD_DISPLAY_IMPRESSION, BEGIN_TO_RENDER_IMPRESSION, ATTACHED_TO_VIEW_IMPRESSION, VENDOR_BLOCKED_AD, ACTIVE_VIEW_AUDIO, ACTIVE_VIEW_SYNTHETIC, VPID_BEACON, ACTIVE_VIEW_SESSION. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Partner Sold - Cross Sell clicks

| `partner_sold_cross_sell_clicks` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `partner_sold_cross_sell_clicks`: - `partner_sold_cross_sell_clicks_youtube` ||
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.partner_sold table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `click_type` | `int64` The click type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.partner_sold table. |
| `impression_data.line_item_id` | `int64` Ad Manager line item serving. |
| `impression_data.media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `impression_data.order_id` | `int64` Ad Manager order identifier used for serving. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.partner_sold table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |

### Partner Sold - Cross Sell creative

| `partner_sold_cross_sell_creative` ||
|---|---|
| `creative_format_type` | `string` Some formats map directly to a type. Other types have multiple formats like: html, image, or video. |
| `creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.partner_sold table. |
| `creative_name` | `string` Name of the creative. |
| `creative_type` | `string` The type of creative. |
| `skippable_ad_type` | `string` Possible values are: SKIPPABLE, NOT_SKIPPABLE, UNKNOWN, or OTHER. |
| `third_party_vast_url` | `string` VAST url of the creative if the creative is a third party hosted video. Does not support creatives from programmatic items. |
| `video_message` | `struct` Multipart identifier for video data. |
| `video_message.video_ad_duration` | `int64` Duration of the video in milliseconds. |
| `video_message.youtube_video_id` | `string` Video ID string representation as it appears on YouTube watch url. |

### Partner Sold - Cross Sell creative conversions

| `partner_sold_cross_sell_creative_conversions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `partner_sold_cross_sell_creative_conversions`: - `partner_sold_cross_sell_creative_conversions_youtube` ||
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.partner_sold table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `conversion_id` | `struct` Unique identifier for conversion has multiple parts. |
| `conversion_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `conversion_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `conversion_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `conversion_type` | `int64` The conversion type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.partner_sold table. |
| `impression_data.line_item_id` | `int64` Ad Manager line item serving. |
| `impression_data.media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `impression_data.order_id` | `int64` Ad Manager order identifier used for serving. |
| `impression_id` | `string` Unique identifier for impression. |
| `label` | `string` Name of conversion event. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.partner_sold table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### Partner Sold - Cross Sell impressions

| `partner_sold_cross_sell_impressions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `partner_sold_cross_sell_impressions`: - `partner_sold_cross_sell_impressions_youtube` ||
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.partner_sold table. |
| `device_height` | `int64` Device height in pixels. |
| `device_width` | `int64` Device width in pixels. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `line_item_id` | `int64` Ad Manager line item serving. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region` | `string` Region as a string e.g. US-CA. |
| `location.geo_region_id` | `int64` Code for region. |
| `media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `order_id` | `int64` Ad Manager order identifier used for serving. |
| `physical_screen_height` | `int64` Device screen height in mm. |
| `physical_screen_width` | `int64` Device screen width in mm. |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.partner_sold table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### Partner Sold - Cross Sell line item

| `partner_sold_cross_sell_lineitem` ||
|---|---|
| `creative_id` | `array<int64>` The IDs of the creatives associated with this line item. |
| `end_time` | `timestamp` Time the line item stopped being served. |
| `line_item_id` | `int64` Ad Manager line item serving. |
| `line_item_name` | `string` Ad Manager line item name. |
| `order_id` | `int64` Ad Manager order identifier used for serving. |
| `order_name` | `string` Name of the insertion order. |
| `programmatic` | `boolean` True if the line item was programmatic. |
| `start_time` | `timestamp` Time the line item started to be served. |

### Partner Sold - Cross Sell order

| `partner_sold_cross_sell_order` ||
|---|---|
| `advertiser_id` | `int64` Unique ID of the advertiser. |
| `advertiser_name` | `string` Publisher entered name. |
| `advertiser_timezone` | `string` The Partner Sold time zone default in the Ad Manager network settings. |
| `network_code` | `int64` Ad Manager Publisher network code. |
| `order_id` | `int64` Ad Manager order identifier used for serving. |
| `order_name` | `string` Name of Ad Manager order. |

### Partner Sold - Cross Sell vendor reporting data

| `partner_sold_cross_sell_vendor_reporting_data` ||
|---|---|
| `line_item_id` | `int64` Unique ID of the line item. |
| `vendor_client_id` | `string` All lower-case formatted vendor client id (VCID). |
| `vendor_metric` | `string` Measurement type. |
| `vendor_reporting_id` | `string` Customer-provided identifier to slice their data by. |

### Region

| `region` ||
|---|---|
| `country_code` | `string` Two character country code. |
| `region_id` | `int64` Region identifier. |
| `region_name` | `string` Region name. |

### YouTube Reserve Active Views

| `yt_reserve_active_views` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `yt_reserve_active_views`: - `yt_reserve_active_views_youtube` ||
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.yt table. |
| `impression_data.line_item_id` | `int64` Ad Manager line item serving. |
| `impression_data.media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `impression_data.order_id` | `int64` Ad Manager order identifier used for serving. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.yt table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `view_id` | `struct` Unique identifier for view has multiple parts. |
| `view_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `view_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `view_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `view_type` | `string` The type of view event. The expected values are DELAYED_IMPRESSION, ACTIVE_VIEW_BILLABLE, ACTIVE_VIEW_MEASUREMENT, ACTIVE_VIEW_INFERRED, ACTIVE_VIEW_VIDEO, ACTIVE_VIEW_MOBILEAPP, ACTIVE_VIEW_TIME_ON_SCREEN, RENDERED_IMPRESSION, VIDEO_TERMINATION, VIDEO_AD_DISPLAY_IMPRESSION, BEGIN_TO_RENDER_IMPRESSION, ATTACHED_TO_VIEW_IMPRESSION, VENDOR_BLOCKED_AD, ACTIVE_VIEW_AUDIO, ACTIVE_VIEW_SYNTHETIC, VPID_BEACON, ACTIVE_VIEW_SESSION. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### YouTube Reserve clicks

| `yt_reserve_clicks` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `yt_reserve_clicks`: - `yt_reserve_clicks_youtube` ||
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.yt table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `click_type` | `int64` The click type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.yt table. |
| `impression_data.line_item_id` | `int64` Ad Manager line item serving. |
| `impression_data.media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `impression_data.order_id` | `int64` Ad Manager order identifier used for serving. |
| `impression_id` | `string` Unique identifier for impression. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.yt table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |

### YouTube Reserve creative

| `yt_reserve_creative` ||
|---|---|
| `creative_format_type` | `string` Some formats map directly to a type. Other types have multiple formats like: html, image, or video. |
| `creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.yt table. |
| `creative_name` | `string` Name of the creative. |
| `creative_type` | `string` The type of creative. |
| `is_masthead` | `boolean` True if this is a masthead creative. |
| `skippable_ad_type` | `string` Possible values are: SKIPPABLE, NOT_SKIPPABLE, UNKNOWN, or OTHER. |
| `third_party_vast_url` | `string` VAST url of the creative if the creative is a third party hosted video. Doesn't support creatives from programmatic items. Formatting doesn't match dv360_youtube_creative.third_party_vast_url. |
| `video_message` | `struct` Multipart identifier for video data. |
| `video_message.video_ad_duration` | `int64` Duration of the video in milliseconds. |
| `video_message.youtube_channel_id` | `string` Id of the channel that provides this video. |
| `video_message.youtube_video_id` | `string` Video ID string representation as it appears on YouTube watch url. |

### YouTube Reserve creative conversions

| `yt_reserve_creative_conversions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `yt_reserve_creative_conversions`: - `yt_reserve_creative_conversions_youtube` ||
| `click_id` | `struct` Unique identifier for click has multiple parts. Joins with click_id in any adh.yt table. |
| `click_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `click_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `click_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `conversion_id` | `struct` Unique identifier for conversion has multiple parts. |
| `conversion_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `conversion_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `conversion_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `conversion_type` | `int64` The conversion type. |
| `impression_data` | `struct` Impression of the ad that was clicked. |
| `impression_data.creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.yt table. |
| `impression_data.line_item_id` | `int64` Ad Manager line item serving. |
| `impression_data.media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `impression_data.order_id` | `int64` Ad Manager order identifier used for serving. |
| `impression_id` | `string` Unique identifier for impression. |
| `label` | `string` Name of conversion event. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.yt table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |

### YouTube Reserve impressions

| `yt_reserve_impressions` ||
|---|---|
| Beginning in March 2024, use the Google service tables in place of `yt_reserve_impressions`: - `yt_reserve_impressions_youtube` ||
| `browser` | `string` Possible values are: Chrome, Cobalt, Dalvik, Edge, Firefox, IE, Opera, Other, Safari, Samsung Browser, Roku, Silk, Unknown, Yandex |
| `content_url` | `string` URL of the page on which the ad appeared. Part of the URL is removed for privacy. |
| `creative_id` | `int64` Unique ID of the creative. Joins with creative_id in any adh.yt table. |
| `device_height` | `int64` Device height in pixels. |
| `device_width` | `int64` Device width in pixels. |
| `format_category` | `string` Format classification to determine how the event should be measured. The value can be DISPLAY, VIDEO, AUDIO or UNSPECIFIED. |
| `impression_id` | `string` Unique identifier for impression. |
| `inventory_type` | `string` The inventory type. Possible values: YOUTUBE, YOUTUBE_TV, YOUTUBE_MUSIC, SEARCH, GMAIL, OTHER. Other refers to either the Google Display or Video network. |
| `is_app_traffic` | `boolean` TRUE if the event happened in a native app. FALSE if the event happened in an HTML5 app or webview. |
| `line_item_id` | `int64` Ad Manager line item serving. |
| `location` | `struct` Unique identifier for location with multiple parts: country, geo_city_id, geo_metro, geo_region. |
| `location.country` | `string` Two-letter code for country, for example "US". |
| `location.geo_city_id` | `int64` Code for city. Joins with city_id in adh.city table. |
| `location.geo_country_id` | `int64` Code for country. |
| `location.geo_metro` | `int64` Code for metro region. Joins with metro_id in adh.metro table. |
| `location.geo_region` | `string` Region as a string e.g. US-CA. |
| `location.geo_region_id` | `int64` Code for region. |
| `media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `mobile_browser_class` | `int64` Type of browser. Possible values are: desktop, tablet, smart tv consoles, or mobile. Joins with mobile_browser_class_id in adh.mobile_browser_class table. |
| `operating_system` | `string` Possible values are: Android, AppleTV, Chrome OS, Fire OS, Google TV, iOS, Linux, Mac, Unknown, PlayStation, Roku, Tizen, Xbox, Windows, Windows Phone |
| `order_id` | `int64` Ad Manager order identifier used for serving. |
| `physical_screen_height` | `int64` Device screen height in mm. |
| `physical_screen_width` | `int64` Device screen width in mm. |
| `publisher_domain` | `string` Domain of the page on which ad appeared. |
| `query_id` | `struct` Unique identifier for query has multiple parts. Joins with query_id in any adh.yt table. |
| `query_id.process_id` | `int64` Integer that identifies the process on the machine that generated the event. |
| `query_id.server_ip` | `int64` The IPv4 address of the server that managed the ad request. Used to identify unique events for joins. |
| `query_id.time_usec` | `int64` The number of microseconds since the epoch as an int64: 1e6 \* (unix time) + microseconds. |
| `query_language` | `string` Language used by user. |
| `user_id` | `opaque` The tracking ID (it is based on, but does not expose the user's browser cookie or mobile device ID). This field may be zeroed out for privacy reasons. User IDs support counting and joining (across tables in ADH). They can't be exported or cast as conventional datatypes. |
| `viewability_metrics` | `struct` Summable viewability metrics intended for Core and Advanced tiers of viewability. Metrics are organized by measurability pools. For each measurability pool, there is a sub-field containing the number of impressions that were measurable and the metrics that are available. |
| `viewability_metrics.active_view_plus_metrics` | `struct` (Video only) Measures a variety of viewability metrics (including quartiles) that share a common measurability denominator. |
| `viewability_metrics.active_view_plus_metrics.ad_duration_msec` | `int64` Total ad duration in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_fully_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_and_visible_watchtime_msec` | `int64` Total audible (volume \> 0%) and visible (at least 50% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.audible_count` | `int64` Number of impressions that were audible (volume \> 0%) at any point during playback. |
| `viewability_metrics.active_view_plus_metrics.audible_watchtime_msec` | `int64` Total audible (volume \> 0%) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.background_count` | `int64` Number of backgrounded impressions. |
| `viewability_metrics.active_view_plus_metrics.fullscreen_count` | `int64` Number of fullscreened impressions. Note that this count only increments on YouTube platforms that have a toggle between normal/fullscreen state. YouTube Platforms that are always in fullscreen (like YouTube CTV Apps) will show up as 0. |
| `viewability_metrics.active_view_plus_metrics.fully_visible_watchtime_msec` | `int64` Total fully visible (100% on screen) watchtime in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.measurable_count` | `int64` Number of impressions where Active View Plus metrics were able to be measured. |
| `viewability_metrics.active_view_plus_metrics.q1` | `struct` Instantaneous metrics for first quartile event. |
| `viewability_metrics.active_view_plus_metrics.q2` | `struct` Instantaneous metrics for second quartile (midpoint) event. |
| `viewability_metrics.active_view_plus_metrics.q3` | `struct` Instantaneous metrics for third quartile event. |
| `viewability_metrics.active_view_plus_metrics.q4` | `struct` Instantaneous metrics for fourth quartile (complete) event. |
| `viewability_metrics.active_view_plus_metrics.start` | `struct` Instantaneous metrics for start event. |
| `viewability_metrics.active_view_plus_metrics.viewable_10_sec_count` | `int64` Number of impressions that were at least 50% on screen for at least 10 seconds (cumulative). |
| `viewability_metrics.active_view_plus_metrics.visible_watchtime_msec` | `int64` Total visible (at least 50% on screen) watchtime, in milliseconds. |
| `viewability_metrics.active_view_plus_metrics.watchtime_msec` | `int64` Total watchtime in milliseconds. Note: This may differ from the value reported in Google Ads, as it is only populated when Ads Data Hub is able to measure Active View metrics. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible` | `int64` Number of impressions that were audible (volume \> 0%) at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.audible_and_visible` | `int64` Number of impressions that were audible (volume \> 0%) and 50% on screen at this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.reached` | `int64` Number of impressions that reached this point. |
| `viewability_metrics.active_view_plus_metrics.{start, q1, q2, q3, q4}.visible` | `int64` Number of impressions that were at least 50% on screen at this point. |
| `viewability_metrics.enabled_count` | `int64` Number of impressions with Active View enabled. |
| `viewability_metrics.groupm_trueview_viewable_impressions` | `struct` (Video only) Similar to groupm_viewable_impressions, but with an additional requirement on playback time for measurability. Impressions must reach the GroupM threshold of 15 seconds or 50% duration in addition to being GroupM measurable to be considered GroupM TrueView measurable. |
| `viewability_metrics.groupm_trueview_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured and that reached the GroupM playback threshold. |
| `viewability_metrics.groupm_trueview_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.groupm_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% pixels on screen with audio volume \> 0% for playback of at least 15 seconds or 50% of the ad duration, whichever is shorter. |
| `viewability_metrics.groupm_viewable_impressions.measurable_count` | `int64` Number of impressions where GroupM viewability was able to be measured. |
| `viewability_metrics.groupm_viewable_impressions.viewable_count` | `int64` Number of impressions that met the GroupM standard. |
| `viewability_metrics.mrc_cross_media_viewable_impressions` | `struct` (Video only) Measures video ads playing 100% on screen for 2 continuous seconds. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.measurable_count` | `int64` Number of impressions where Cross-Media MRC viewability was able to be measured. |
| `viewability_metrics.mrc_cross_media_viewable_impressions.viewable_count` | `int64` Number of impressions that met the Cross-Media MRC viewable standard. |
| `viewability_metrics.mrc_viewable_impressions` | `struct` Viewability metrics based on the MRC standard. That is, whether a video ad showed 50% pixels on screen for 2 continuous seconds of playback, or a display ad showed 50% pixels on screen for 1 continuous second. |
| `viewability_metrics.mrc_viewable_impressions.measurable_count` | `int64` Number of impressions where MRC viewability was able to be measured. |
| `viewability_metrics.mrc_viewable_impressions.viewable_count` | `int64` Number of impressions that met the MRC viewable standard. |
| `viewability_metrics.time_on_screen` | `struct` Measures the total time on screen for viewable impressions as determined by the MRC standard. The measurable count for impressions in this metric is zero for impressions that do not meet the MRC viewability threshold. |
| `viewability_metrics.time_on_screen.measurable_count` | `int64` Number of impressions where Time On Screen was able to be measured and met the MRC viewable standard. |
| `viewability_metrics.time_on_screen.msec` | `int64` Visible (at least 50% on screen) watchtime, in milliseconds, for impressions that met the MRC viewable standard. |
| `youtube_page_type` | `string` Page type. Possible values are YOUTUBE_WATCH, YOUTUBE_HOME, YOUTUBE_SEARCH, or YOUTUBE_SHORTS. |

### YouTube Reserve line item

| `yt_reserve_lineitem` ||
|---|---|
| `creative_id` | `array<int64>` Array of creative ids for this line item. Joins with creative_id in any adh.yt table. |
| `end_time` | `timestamp` Time the line item stopped being served. |
| `line_item_id` | `int64` Ad Manager line item serving. |
| `line_item_name` | `string` Ad Manager line item name. |
| `order_id` | `int64` Ad Manager order identifier used for serving. |
| `order_name` | `string` Name of the insertion order. |
| `programmatic` | `boolean` True if the line item was programmatic. |
| `start_time` | `timestamp` Time the line item started to be served. |

### YouTube Reserve order

| `yt_reserve_order` ||
|---|---|
| `advertiser_id` | `int64` Unique ID of the advertiser. |
| `advertiser_name` | `string` User entered name of the advertiser. |
| `advertiser_timezone` | `string` The YouTube Reserve advertiser time zone default set in account settings. |
| `media_plan_id` | `int64` ID of the YouTube Reserve media plan. |
| `media_plan_name` | `string` Name of the YouTube Reserve media plan. |
| `order_id` | `int64` Ad Manager order identifier used for serving. |
| `order_name` | `string` Name of Ad Manager order. |

### YouTube Reserve vendor reporting metadata

| `yt_reserve_vendor_reporting_data` ||
|---|---|
| `line_item_id` | `int64` Unique ID of the line item. |
| `vendor_client_id` | `string` All lower-case formatted vendor client id (VCID). |
| `vendor_metric` | `string` Measurement type. |
| `vendor_reporting_id` | `string` Customer-provided identifier to slice their data by. |