Examples

MRC and GroupM viewability rates

This example shows how to query rates of metrics that have different measurability fields.

  -- Write queries as a union of all 3 tables. 
 WITH 
  
 CombinedEvents 
  
 AS 
  
 ( 
  
 SELECT 
  
 viewability_metrics 
 , 
  
 campaign_id 
  
 FROM 
  
 adh 
 . 
 google_ads_impressions 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 viewability_metrics 
 , 
  
 impression_data 
 . 
 campaign_id 
  
 FROM 
  
 adh 
 . 
 google_ads_active_views 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 viewability_metrics 
 , 
  
 impression_data 
 . 
 campaign_id 
  
 FROM 
  
 adh 
 . 
 google_ads_creative_conversions 
  
 ), 
  
 Metrics 
  
 AS 
  
 ( 
  
 SELECT 
  
 campaign_id 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 mrc_viewable_impressions 
 . 
 measurable_count 
 ) 
  
 AS 
  
 mrc_measurable_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 mrc_viewable_impressions 
 . 
 viewable_count 
 ) 
  
 AS 
  
 mrc_viewable_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 groupm_viewable_impressions 
 . 
 measurable_count 
 ) 
  
 AS 
  
 groupm_measurable_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 groupm_viewable_impressions 
 . 
 viewable_count 
 ) 
  
 AS 
  
 groupm_viewable_impressions 
  
 FROM 
  
 CombinedEvents 
  
 GROUP 
  
 BY 
  
 campaign_id 
  
 ) 
 SELECT 
  
 campaign_id 
 , 
  
 SAFE_DIVIDE 
 ( 
 mrc_viewable_impressions 
 , 
  
 mrc_measurable_impressions 
 ) 
  
 AS 
  
 mrc_viewability_rate 
 , 
  
 SAFE_DIVIDE 
 ( 
 groupm_viewable_impressions 
 , 
  
 groupm_measurable_impressions 
 ) 
  
 AS 
  
 groupm_viewability_rate 
 FROM 
  
 Metrics 
 

Combine viewability metrics

This example calculates the number of impressions that were both full-screened and backgrounded at some point during the view. This metric can only be calculated by combining 2 existing metrics.

  -- Write queries as a union of all 3 tables. 
 WITH 
  
 CombinedEvents 
  
 AS 
  
 ( 
  
 SELECT 
  
 impression_id 
 , 
  
 campaign_id 
 , 
  
 viewability_metrics 
 , 
  
 TRUE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 adh 
 . 
 google_ads_impressions 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 impression_id 
 , 
  
 impression_data 
 . 
 campaign_id 
 , 
  
 viewability_metrics 
 , 
  
 FALSE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 adh 
 . 
 google_ads_active_views 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 impression_id 
 , 
  
 impression_data 
 . 
 campaign_id 
 , 
  
 viewability_metrics 
 , 
  
 FALSE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 adh 
 . 
 google_ads_creative_conversions 
  
 ), 
  
 AnnotatedImpressions 
  
 AS 
  
 ( 
  
 SELECT 
  
 campaign_id 
 , 
  
 LOGICAL_OR 
 ( 
 is_impression 
 ) 
  
 AS 
  
 is_valid_impression 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 active_view_plus_metrics 
 . 
 measurable_count 
 ) 
 > 
 0 
  
 AS 
  
 is_av_plus_measurable 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 active_view_plus_metrics 
 . 
 background_count 
 ) 
 > 
 0 
  
 AS 
  
 was_backgrounded 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 active_view_plus_metrics 
 . 
 fullscreen_count 
 ) 
 > 
 0 
  
 AS 
  
 was_fullscreened 
  
 FROM 
  
 CombinedEvents 
  
 GROUP 
  
 BY 
  
 impression_id 
 , 
  
 campaign_id 
  
 HAVING 
  
 is_valid_impression 
  
 ) 
 SELECT 
  
 campaign_id 
 , 
  
 COUNT 
 ( 
 * 
 ) 
  
 AS 
  
 total_impressions 
 , 
  
 COUNTIF 
 ( 
 is_av_plus_measurable 
 ) 
  
 AS 
  
 av_plus_measurable_impressions 
 , 
  
 COUNTIF 
 ( 
 was_backgrounded 
  
 AND 
  
 was_fullscreened 
 ) 
  
 AS 
  
 fullscreen_and_backgrounded_impressions 
 FROM 
  
 AnnotatedImpressions 
 GROUP 
  
 BY 
  
 campaign_id 
 

Compare measurable and viewable eligible impressions for different format categories

Video-measured ads

  -- Write queries as a union of all 3 tables. 
 WITH 
  
 VideoImpressions 
  
 AS 
  
 ( 
  
 SELECT 
  
 impression_id 
  
 FROM 
  
 adh 
 . 
 google_ads_impressions 
  
 WHERE 
  
 format_category 
  
 = 
  
 'VIDEO' 
  
 ), 
  
 CombinedEvents 
  
 AS 
  
 ( 
  
 SELECT 
  
 impression_id 
 , 
  
 campaign_id 
 , 
  
 viewability_metrics 
 , 
  
 TRUE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 adh 
 . 
 google_ads_impressions 
  
 WHERE 
  
 format_category 
  
 = 
  
 'VIDEO' 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 Im 
 . 
 impression_id 
 , 
  
 Av 
 . 
 impression_data 
 . 
 campaign_id 
 , 
  
 Av 
 . 
 viewability_metrics 
 , 
  
 FALSE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 VideoImpressions 
  
 AS 
  
 Im 
  
 INNER 
  
 JOIN 
  
 adh 
 . 
 google_ads_active_views 
  
 AS 
  
 Av 
  
 USING 
  
 ( 
 impression_id 
 ) 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 Im 
 . 
 impression_id 
 , 
  
 Cc 
 . 
 impression_data 
 . 
 campaign_id 
 , 
  
 Cc 
 . 
 viewability_metrics 
 , 
  
 FALSE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 VideoImpressions 
  
 AS 
  
 Im 
  
 INNER 
  
 JOIN 
  
 adh 
 . 
 google_ads_creative_conversions 
  
 AS 
  
 Cc 
  
 USING 
  
 ( 
 impression_id 
 ) 
  
 ) 
 SELECT 
  
 campaign_id 
 , 
  
 COUNTIF 
 ( 
 is_impression 
 ) 
  
 AS 
  
 total_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 mrc_viewable_impressions 
 . 
 measurable_count 
 ) 
  
 AS 
  
 mrc_measurable_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 mrc_viewable_impressions 
 . 
 viewable_count 
 ) 
  
 AS 
  
 mrc_viewable_impressions 
 FROM 
  
 CombinedEvents 
 GROUP 
  
 BY 
  
 campaign_id 
 ; 
 

Display-measured ads

  -- Write queries as a union of all 3 tables. 
 WITH 
  
 DisplayImpressions 
  
 AS 
  
 ( 
  
 SELECT 
  
 impression_id 
  
 FROM 
  
 adh 
 . 
 google_ads_impressions 
  
 WHERE 
  
 format_category 
  
 = 
  
 'DISPLAY' 
  
 ), 
  
 CombinedEvents 
  
 AS 
  
 ( 
  
 SELECT 
  
 impression_id 
 , 
  
 campaign_id 
 , 
  
 viewability_metrics 
 , 
  
 TRUE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 adh 
 . 
 google_ads_impressions 
  
 WHERE 
  
 format_category 
  
 = 
  
 'DISPLAY' 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 Im 
 . 
 impression_id 
 , 
  
 Av 
 . 
 impression_data 
 . 
 campaign_id 
 , 
  
 Av 
 . 
 viewability_metrics 
 , 
  
 FALSE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 DisplayImpressions 
  
 AS 
  
 Im 
  
 INNER 
  
 JOIN 
  
 adh 
 . 
 google_ads_active_views 
  
 AS 
  
 Av 
  
 USING 
  
 ( 
 impression_id 
 ) 
  
 UNION 
  
 ALL 
  
 SELECT 
  
 Im 
 . 
 impression_id 
 , 
  
 Cc 
 . 
 impression_data 
 . 
 campaign_id 
 , 
  
 Cc 
 . 
 viewability_metrics 
 , 
  
 FALSE 
  
 AS 
  
 is_impression 
  
 FROM 
  
 DisplayImpressions 
  
 AS 
  
 Im 
  
 INNER 
  
 JOIN 
  
 adh 
 . 
 google_ads_creative_conversions 
  
 AS 
  
 Cc 
  
 USING 
  
 ( 
 impression_id 
 ) 
  
 ) 
 SELECT 
  
 campaign_id 
 , 
  
 COUNTIF 
 ( 
 is_impression 
 ) 
  
 AS 
  
 total_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 mrc_viewable_impressions 
 . 
 measurable_count 
 ) 
  
 AS 
  
 mrc_measurable_impressions 
 , 
  
 SUM 
 ( 
 viewability_metrics 
 . 
 mrc_viewable_impressions 
 . 
 viewable_count 
 ) 
  
 AS 
  
 mrc_viewable_impressions 
 FROM 
  
 CombinedEvents 
 GROUP 
  
 BY 
  
 campaign_id 
 ; 
 

Calculate commonly used metrics

This example calculates a number of commonly used metrics. Download sample code .

Create a Mobile Website
View Site in Mobile | Classic
Share by: