Skip to content

Instantly share code, notes, and snippets.

@lfy79001
Created April 2, 2024 07:28
Show Gist options
  • Save lfy79001/951ba6068dce03e2b27a62a52bed68d4 to your computer and use it in GitHub Desktop.
Save lfy79001/951ba6068dce03e2b27a62a52bed68d4 to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment