Untitled
unknown
plain_text
21 days ago
6.2 kB
4
Indexable
WITH --Get the required dimensions raw_adjust as( SELECT T1.* , IFNULL(REGEXP_EXTRACT(T1.campaign, T2.test_round),'unknown') round , IFNULL(REGEXP_EXTRACT(T1.campaign, T2.country), 'unknown') country , IFNULL(REGEXP_EXTRACT(T1.campaign, T2.test_stage), 'unknown') test_stage FROM ( SELECT IFNULL(campaign, 'unknown') campaign_name , IFNULL(campaign_id, 'unknown') campaign_id , IFNULL(`adp-staging.da_test`.rename_media_source(media_source), 'unknown') media_source , UPPER(IFNULL(platform, 'unknown')) platform , IFNULL(product_code, 'unknown') product_code , LOWER("{{" || campaign || "}}{{" ||adgroup || "}}{{" || creative || "}}") campaign , creative AS ad_name -- , creative_id AS ad_id , install_date , day_since_install , cost , retention , ad_revenue , total_revenue , engagement_seconds FROM adp-prod-274402.data_warehouse.adjust_cohort_reporting WHERE date(_partitiontime) >='2024-09-01' AND product_code ='colortap' AND install_date between PARSE_DATE('%Y%m%d' ,@DS_START_DATE) AND PARSE_DATE('%Y%m%d',@DS_END_DATE ) ) T1 LEFT JOIN `adp-prod-274402.product_metadata.ua_mapping_patterns` T2 ON T1.media_source = T2.media_source ), --create date_array with day_since_install 1->7 for each round test date_array AS( SELECT * FROM ( SELECT DISTINCT product_code , media_source , platform , test_stage , round , country , ad_name -- , ad_id FROM raw_adjust ) CROSS JOIN UNNEST(GENERATE_ARRAY(1,7)) day_since_install ), --SUMMARIZE all metrics by round and day_since_install adjust_summary AS( SELECT media_source , product_code , platform , round , country , test_stage , ad_name -- , ad_id , day_since_install , SUM(cost) cost , MIN(install_date) start_date , SUM(retention) active_installs , SUM(ad_revenue) ad_revenue , SUM(total_revenue) revenue , SUM(engagement_seconds/60) engage_mins FROM raw_adjust FULL JOIN date_array USING(media_source, product_code, platform, round, country, test_stage, ad_name, day_since_install) GROUP BY ALL ), --Cumulative metrics by day_since_install, round adjust_cumulative as( SELECT * EXCEPT(start_date) , MIN(start_date) OVER(PARTITION BY round, country ) start_date , SUM(engage_mins) OVER(PARTITION BY round, country, ad_name ORDER BY day_since_install ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) acc_engage_mins , SUM(ad_revenue) OVER(PARTITION BY round, country, ad_name ORDER BY day_since_install ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) acc_ad_revenue , SUM(revenue) OVER(PARTITION BY round, country, ad_name ORDER BY day_since_install ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) acc_revenue FROM adjust_summary ), --summarize all metrics by campaign without day_since_install to display in looker adjust_looker as( SELECT media_source , round , country , test_stage , ad_name , platform , product_code , start_date , SUM(CASE WHEN day_since_install =0 THEN engage_mins END) playtime_D0 , SUM(CASE WHEN day_since_install =1 THEN engage_mins END) playtime_D1 , SUM(CASE WHEN day_since_install =2 THEN engage_mins END) playtime_D2 , SUM(CASE WHEN day_since_install =3 THEN engage_mins END) playtime_D3 , SUM(CASE WHEN day_since_install =7 THEN engage_mins END) playtime_D7 , SUM(CASE WHEN day_since_install =1 THEN active_installs END) active_D1 , SUM(CASE WHEN day_since_install =2 THEN active_installs END) active_D2 , SUM(CASE WHEN day_since_install =3 THEN active_installs END) active_D3 , SUM(CASE WHEN day_since_install =7 THEN active_installs END) active_D7 , SUM(CASE WHEN day_since_install =0 THEN acc_revenue END) acc_revenue_D0 , SUM(CASE WHEN day_since_install =1 THEN acc_revenue END) acc_revenue_D1 , SUM(CASE WHEN day_since_install =2 THEN acc_revenue END) acc_revenue_D2 , SUM(CASE WHEN day_since_install =3 THEN acc_revenue END) acc_revenue_D3 , SUM(CASE WHEN day_since_install =7 THEN acc_revenue END) acc_revenue_D7 , SUM(CASE WHEN day_since_install =1 THEN acc_ad_revenue END) acc_ad_revenue_D1 , SUM(CASE WHEN day_since_install =3 THEN acc_ad_revenue END) acc_ad_revenue_D3 , SUM(CASE WHEN day_since_install =7 THEN acc_ad_revenue END) acc_ad_revenue_D7 , SUM(CASE WHEN day_since_install =0 THEN active_installs END ) cohort_size , SUM(CASE WHEN day_since_install =0 THEN cost END) total_cost , SUM(revenue) total_revenue , SUM(ad_revenue) total_ad_revenue --, 1 r -- using r to mapping to FROM adjust_cumulative GROUP BY ALL ), -- campaign/creative performance relate to : impression, cost, install and click of adnetwork creative_performance as( SELECT T1.* , IFNULL(REGEXP_EXTRACT(T1.campaign, T2.test_round),'unknown') round , IFNULL(REGEXP_EXTRACT(T1.campaign, T2.country), 'unknown') country , IFNULL(REGEXP_EXTRACT(T1.campaign, T2.test_stage), 'unknown') test_stage FROM ( SELECT IFNULL(campaign_id, 'unknown') campaign_id , IFNULL(`adp-staging.da_test`.rename_media_source(media_source), 'unknown') media_source , UPPER(IFNULL(platform, 'unknown')) platform , IFNULL(product_code, 'unknown') product_code , LOWER("{{" || campaign || "}}{{" ||adgroup || "}}{{" || creative || "}}") campaign , creative AS ad_name -- , creative_id AS ad_id , SUM(total_cost) cost , SUM(impressions) impressions , SUM(clicks) clicks , SUM(installs) installs FROM adp-prod-274402.data_warehouse.adjust_user_activity_daily WHERE date(_partitiontime) >='2024-09-01' and product_code ='colortap' GROUP BY ALL HAVING impressions > 0 or cost>0 ) T1 LEFT JOIN `adp-prod-274402.product_metadata.ua_mapping_patterns` T2 ON T1.media_source = T2.media_source ) SELECT a.* , c.cost , c.impressions , c.clicks , c.installs FROM adjust_looker a FULL JOIN creative_performance c ON a.product_code = c.product_code AND a.platform = c.platform AND a.media_source = a.media_source AND a.round = c.round AND a.ad_name = c.ad_name --AND a.ad_id = c.ad_id
Editor is loading...
Leave a Comment