Skip to content

Commit

Permalink
Add ocid mapping
Browse files Browse the repository at this point in the history
Change-Id: I6063407a7e4f0d33e5d131ac0a2616deb71bf6b2
  • Loading branch information
AVMarkin committed Oct 26, 2023
1 parent 1636c6b commit 5c28d1f
Show file tree
Hide file tree
Showing 10 changed files with 141 additions and 23 deletions.
5 changes: 4 additions & 1 deletion app/bq_queries/ad_video_performance.sql
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,10 @@ WITH
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
),
AdGroupTargetingTable AS (
Expand Down Expand Up @@ -127,6 +129,7 @@ SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand Down Expand Up @@ -182,4 +185,4 @@ LEFT JOIN `{bq_dataset}.asset_mapping` AS Assets2
ON V.responsive_companion_banner = CAST(Assets2.asset_id AS STRING)
LEFT JOIN TargetingTable AS TT
ON M.ad_group_id = TT.ad_group_id
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25);
22 changes: 20 additions & 2 deletions app/bq_queries/age_performance.sql
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,28 @@
-- limitations under the License.
CREATE OR REPLACE TABLE `{output_dataset}.age_performance`
AS (
WITH MappingTable AS (
SELECT
ad_group_id,
ANY_VALUE(ad_group_name) AS ad_group_name,
ANY_VALUE(ad_group_status) AS ad_group_status,
ANY_VALUE(campaign_id) AS campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand All @@ -35,6 +53,6 @@ SELECT
SUM(AP.engagements) AS engagements,
ROUND(SUM(AP.cost) / 1e6) AS cost
FROM `{bq_dataset}.age_range` AS AP
INNER JOIN `{bq_dataset}.mapping` AS M
INNER JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
22 changes: 20 additions & 2 deletions app/bq_queries/conversion_split.sql
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,28 @@
-- limitations under the License.
CREATE OR REPLACE TABLE `{output_dataset}.conversion_split`
AS (
WITH MappingTable AS (
SELECT
ad_group_id,
ANY_VALUE(ad_group_name) AS ad_group_name,
ANY_VALUE(ad_group_status) AS ad_group_status,
ANY_VALUE(campaign_id) AS campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand All @@ -30,6 +48,6 @@ SELECT
SUM(AP.conversions) AS conversions,
SUM(AP.view_through_conversions) AS view_through_conversions
FROM `{bq_dataset}.conversion_split` AS AP
INNER JOIN `{bq_dataset}.mapping` AS M
INNER JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
22 changes: 13 additions & 9 deletions app/bq_queries/creative_excellence.sql
Original file line number Diff line number Diff line change
Expand Up @@ -296,19 +296,23 @@ WITH
USING(customer_id)
),
MappingTable AS (
SELECT
campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name
FROM {bq_dataset}.mapping
GROUP BY 1
SELECT
campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
M.account_id,
M.account_name,
M.ocid,
M.campaign_id,
M.campaign_name,
M.campaign_status,
Expand Down
22 changes: 20 additions & 2 deletions app/bq_queries/device_performance.sql
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,28 @@
-- limitations under the License.
CREATE OR REPLACE TABLE `{output_dataset}.device_performance`
AS (
WITH MappingTable AS (
SELECT
ad_group_id,
ANY_VALUE(ad_group_name) AS ad_group_name,
ANY_VALUE(ad_group_status) AS ad_group_status,
ANY_VALUE(campaign_id) AS campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand All @@ -35,6 +53,6 @@ SELECT
SUM(AP.engagements) AS engagements,
ROUND(SUM(AP.cost) / 1e6) AS cost
FROM `{bq_dataset}.ad_performance` AS AP
INNER JOIN `{bq_dataset}.mapping` AS M
INNER JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
22 changes: 20 additions & 2 deletions app/bq_queries/gender_performance.sql
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,28 @@
-- limitations under the License.
CREATE OR REPLACE TABLE `{output_dataset}.gender_performance`
AS (
WITH MappingTable AS (
SELECT
ad_group_id,
ANY_VALUE(ad_group_name) AS ad_group_name,
ANY_VALUE(ad_group_status) AS ad_group_status,
ANY_VALUE(campaign_id) AS campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand All @@ -35,6 +53,6 @@ SELECT
SUM(AP.engagements) AS engagements,
ROUND(SUM(AP.cost) / 1e6) AS cost
FROM `{bq_dataset}.gender_view` AS AP
INNER JOIN `{bq_dataset}.mapping` AS M
INNER JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
5 changes: 4 additions & 1 deletion app/bq_queries/geo_performance.sql
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,17 @@ WITH
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand All @@ -64,4 +67,4 @@ LEFT JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
LEFT JOIN GeoConstants AS GT
ON AP.country_criterion_id = GT.constant_id
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14);
21 changes: 19 additions & 2 deletions app/bq_queries/video_conversion_split.sql
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,24 @@ WITH PerformanceTable AS (
SUM(cost) AS cost
FROM `{bq_dataset}.ad_performance`
GROUP BY 1, 2, 3
)
),
MappingTable AS (
SELECT
ad_group_id,
ANY_VALUE(ad_group_name) AS ad_group_name,
ANY_VALUE(ad_group_status) AS ad_group_status,
ANY_VALUE(campaign_id) AS campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
Expand All @@ -46,7 +63,7 @@ SELECT
FROM PerformanceTable AS P
LEFT JOIN `{bq_dataset}.conversion_split` AS AP
USING(ad_group_id, date, ad_id)
INNER JOIN `{bq_dataset}.mapping` AS M
INNER JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
INNER JOIN `{bq_dataset}.ad_matching` AS AM
ON AP.ad_id = AM.ad_id
Expand Down
22 changes: 20 additions & 2 deletions app/bq_queries/video_performance.sql
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,29 @@ WITH CustomConvSplit AS (
{% endfor %}
FROM `{bq_dataset}.conversion_split` AS AP
GROUP BY 1,2
),
MappingTable AS (
SELECT
ad_group_id,
ANY_VALUE(ad_group_name) AS ad_group_name,
ANY_VALUE(ad_group_status) AS ad_group_status,
ANY_VALUE(campaign_id) AS campaign_id,
ANY_VALUE(campaign_name) AS campaign_name,
ANY_VALUE(campaign_status) AS campaign_status,
ANY_VALUE(bidding_strategy) AS bidding_strategy,
ANY_VALUE(account_id) AS account_id,
ANY_VALUE(account_name) AS account_name,
ANY_VALUE(ocid) AS ocid,
ANY_VALUE(currency) AS currency
FROM `{bq_dataset}.mapping`
LEFT JOIN `{bq_dataset}.ocid_mapping` USING(account_id)
GROUP BY 1
)
SELECT
PARSE_DATE("%Y-%m-%d", AP.date) AS day,
M.account_id,
M.account_name,
M.ocid,
M.currency,
M.campaign_id,
M.campaign_name,
Expand All @@ -51,9 +69,9 @@ SELECT
SUM(AP.engagements) AS engagements,
ROUND(SUM(AP.cost) / 1e6) AS cost
FROM `{bq_dataset}.ad_performance` AS AP
INNER JOIN `{bq_dataset}.mapping` AS M
INNER JOIN MappingTable AS M
ON AP.ad_group_id = M.ad_group_id
LEFT JOIN CustomConvSplit AS CCS
ON AP.ad_id = CCS.ad_id
AND AP.date = CCS.date
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
1 change: 1 addition & 0 deletions app/google_ads_queries/settings/ocid_mapping.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM builtin.ocid_mapping

0 comments on commit 5c28d1f

Please sign in to comment.