从 GoogleAds 导入的 BigQuery 显示所有与 CPM 相关的字段,值为 0

Posted

技术标签:

【中文标题】从 GoogleAds 导入的 BigQuery 显示所有与 CPM 相关的字段,值为 0【英文标题】:BigQuery imports from GoogleAds show all CPM related Fields with value 0 【发布时间】:2021-05-31 13:05:46 【问题描述】:

你好,很棒的人!

我已按照 this 指南将谷歌广告活动信息导入 BigQuery 数据库。

我的目标是创建一个简单的查询,该查询可以存储为视图并从 Data Studio 访问以生成报告。但是像 AverageCpm 这样的字段总是设置为 0。

我还有一份使用谷歌广告作为参考来源制作的数据工作室报告,我可以从谷歌广告平台访问所有广告系列。

这是我正在处理的查询:

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

Impressions 字段返回的值与我的参考 datastudio 报告和我在 google ads stats 中看到的信息一致,所以我觉得我在正确的轨道上。

我的问题是 CampaignStats.AverageCpm 、 CampaignStats.Cost 等字段始终为 0

例如查询:

Select * from `<DB>.google_ads.p_CampaignStats_<ACCOUNT_ID>` where AverageCpm >0;

无结果返回。

我在考虑权限问题?但我拥有公司所有帐户的管理员权限。

数据库已正确回填。

我尝试生成一个新数据集:同样的问题,我不知道是否有办法配置谷歌如何进行导入。

还能是什么?我还能做什么?

非常感谢!

【问题讨论】:

【参考方案1】:

Roman Petrochenkov 的回答,check his youtube channel 他是最棒的。

AVG(cs.AverageCpm) AS CPM,不正确 因为平均值不是总数的平均值。

您需要手动计算 CPM 作为 SUM(Impressions)/SUM(NULLIF(Cost, 0)) 作为 CPM

不过,我建议不要在 BQ 中计算它,而是建议在 BI 中计算 int(在本例中为数据工作室)。

【讨论】:

以上是关于从 GoogleAds 导入的 BigQuery 显示所有与 CPM 相关的字段,值为 0的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Ads 到 BigQuery 的转移服务问题

从 Google Ads BigQuery 数据传输中提取/取消嵌套数组

来自 Google Ads 的 BigQuery 数据传输服务 - 缺少一些列

无法将 Google Ads 连接到 BigQuery

Google BigQuery Google Ads 数据传输表中的重复数据

BigQuery 上出现意外的“除以零:0 / 0”错误