从 Google Ads 导入的 BigQuery 显示所有 CPM 相关字段值为 0
BigQuery imports from GoogleAds show all CPM related Fields with value 0
你好,好人!
我已按照 this 指南将 google 广告活动信息导入 BigQuery 数据库。
我的目标是创建一个简单的查询,可以将其存储为视图并从 Data Studio 访问以生成报告。但有些字段如 AverageCpm 总是设置为 0。
我还有一份使用 google 广告作为参考来源的数据工作室报告,我可以从 google 广告平台访问所有活动。
这是我正在处理的查询:
SELECT
c.ExternalCustomerId,
c.CampaignName as name,
c.CampaignStatus,
cs.date as dia,
SUM(cs.Impressions) AS Impressions,
SUM(cs.Interactions) AS Interactions,
AVG(cs.AverageCpm) AS CPM,
SUM(cs.Cost) AS Cost
FROM
`<DB>.google_ads.Campaign_<ACCOUNT_ID>` c
LEFT JOIN
`<DB>.google_ads.CampaignStats_<ACCOUNT_ID>` cs
ON
(c.CampaignId = cs.CampaignId
AND cs._DATA_DATE BETWEEN
DATE_ADD(CURRENT_DATE(), INTERVAL -80 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
c._DATA_DATE = c._LATEST_DATE
and c.CampaignName = 'THE_NAME_OF_MY_CAMPAIGN'
GROUP BY
1, 2, 3 , 4
ORDER BY
CampaignName, dia
字段印象,returns 的值与我的参考数据工作室报告和我在 google 广告统计信息中看到的信息一致,所以我觉得我在正确的轨道上。
我的问题是 CampaignStats.AverageCpm 、 CampaignStats.Cost 等字段始终为 0.
例如查询:
Select * from `<DB>.google_ads.p_CampaignStats_<ACCOUNT_ID>` where AverageCpm >0;
Returns 没有结果。
我在考虑权限问题?但是我对公司的所有账户都有管理员权限。
数据库已正确回填。
我已经尝试生成一个新的数据集:同样的问题,我不知道是否有办法配置 google 如何进行导入。
还能是什么?我还能做什么?
非常非常感谢!
Roman Petrochenkov 的回答,check his youtube channel他是最棒的。
AVG(cs.AverageCpm) AS CPM,不正确
因为平均值的平均值不是总数的平均值。
您需要手动计算 CPM 作为 SUM(Impressions)/SUM(NULLIF(Cost, 0)) 作为 CPM
不过,我不建议在 BQ 中计算它,而建议在 BI(在本例中为数据工作室)中计算 int。
你好,好人!
我已按照 this 指南将 google 广告活动信息导入 BigQuery 数据库。
我的目标是创建一个简单的查询,可以将其存储为视图并从 Data Studio 访问以生成报告。但有些字段如 AverageCpm 总是设置为 0。
我还有一份使用 google 广告作为参考来源的数据工作室报告,我可以从 google 广告平台访问所有活动。
这是我正在处理的查询:
SELECT
c.ExternalCustomerId,
c.CampaignName as name,
c.CampaignStatus,
cs.date as dia,
SUM(cs.Impressions) AS Impressions,
SUM(cs.Interactions) AS Interactions,
AVG(cs.AverageCpm) AS CPM,
SUM(cs.Cost) AS Cost
FROM
`<DB>.google_ads.Campaign_<ACCOUNT_ID>` c
LEFT JOIN
`<DB>.google_ads.CampaignStats_<ACCOUNT_ID>` cs
ON
(c.CampaignId = cs.CampaignId
AND cs._DATA_DATE BETWEEN
DATE_ADD(CURRENT_DATE(), INTERVAL -80 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
c._DATA_DATE = c._LATEST_DATE
and c.CampaignName = 'THE_NAME_OF_MY_CAMPAIGN'
GROUP BY
1, 2, 3 , 4
ORDER BY
CampaignName, dia
字段印象,returns 的值与我的参考数据工作室报告和我在 google 广告统计信息中看到的信息一致,所以我觉得我在正确的轨道上。
我的问题是 CampaignStats.AverageCpm 、 CampaignStats.Cost 等字段始终为 0.
例如查询:
Select * from `<DB>.google_ads.p_CampaignStats_<ACCOUNT_ID>` where AverageCpm >0;
Returns 没有结果。
我在考虑权限问题?但是我对公司的所有账户都有管理员权限。
数据库已正确回填。
我已经尝试生成一个新的数据集:同样的问题,我不知道是否有办法配置 google 如何进行导入。
还能是什么?我还能做什么?
非常非常感谢!
Roman Petrochenkov 的回答,check his youtube channel他是最棒的。
AVG(cs.AverageCpm) AS CPM,不正确 因为平均值的平均值不是总数的平均值。
您需要手动计算 CPM 作为 SUM(Impressions)/SUM(NULLIF(Cost, 0)) 作为 CPM
不过,我不建议在 BQ 中计算它,而建议在 BI(在本例中为数据工作室)中计算 int。