Adwords 关键字报告在单个查询中返回与组合查询不同的数据

Posted

技术标签:

【中文标题】Adwords 关键字报告在单个查询中返回与组合查询不同的数据【英文标题】:Adwords Keyword Report returning different data in individual queries than combined query 【发布时间】:2014-05-20 12:13:26 【问题描述】:

我们正在查询 Adwords API 以检索关键字数据。查询单个日期时,我们会获得其他数据,然后在单个查询中查询所有日期时。

我们正在查询KEYWORDS_PERFORMANE_REPORT

campaign = AdwordsCampaign.find 957

# Weirdness returning from the Adwords keyword performance report
campaign.adwords.keyword_performance(min: Date.parse("2014-05-18"), max: Date.parse("2014-05-18")).map|kw| kw[:conversions].inject(:+)
#=> 0
campaign.adwords.keyword_performance(min: Date.parse("2014-05-19"), max: Date.parse("2014-05-19")).map|kw| kw[:conversions].inject(:+)
#=> 2
campaign.adwords.keyword_performance(min: Date.parse("2014-05-20"), max: Date.parse("2014-05-20")).map|kw| kw[:conversions].inject(:+)
#=> 0
campaign.adwords.keyword_performance(min: Date.parse("2014-05-18"), max: Date.parse("2014-05-20")).map|kw| kw[:conversions].inject(:+)
#=> 6
#=> waat moment - it should be 2?

查询检索结果的代码在这里:https://gist.github.com/1f97a174ee6dd8ae51ea

有人知道发生了什么/我们做错了什么吗?

谢谢。

【问题讨论】:

会不会是因为查询的是今天的数据?也许自上次查询以来数据已更改?它是否发生在不包括今天的日期范围内? 【参考方案1】:

这并不是 AdWords API 中的不一致 - 您只是在 keyword_performance 方法中将相同的两次转化计数了三次。原因如下:

全局关键字 ID

关键字具有one Id globally(在所有 AdWords 中)代表KeywordTextMatchType 的独特组合。一个关键字可以出现在一个广告系列的多个广告组中。例如,如果您在同一个广告系列的两个不同广告组中有一个词组匹配关键字“猫视频”,则两个地方的关键字 ID 将相同。

您的要点是两次调用 AdWords API。第一次,您询问每个唯一关键字 Id 的转化次数,而不考虑 AdGroupId。这将只为“猫视频”词组匹配关键字 (perConversionCategoryName) 返回一行,并将包含此关键字在广告系列中的任何位置获得的所有该类型的转化。

在第二个 API 调用中,您需要几个字段,包括 AdGroupId。包含AdGroupId 字段会导致报告为广告组的segmented。因此,如果一个关键字出现在多个广告组中,那么您将获得一个单独的行。

通过将总转化次数分配给这些行中的每一行,您最终会多次计算相同的转化次数。

为什么这只发生在较大的日期范围内?

这是因为您排除了零展示次数行。日期范围越长,出现在多个广告组中的关键字就越有可能在多个广告组中至少获得一次展示,因此在您的第二份报告中会出现多行。

一个例子:

假设您的广告系列中有以下 AdGroup-Keyword 组合:

AG1-KW1 AG1-KW2 AG2-KW1 AG2-KW3 AG3-KW1 AG3-KW4 AG4-KW2

5/18 -- KW1 没有获得任何转化,但在它出现的每个广告组中至少获得了一次展示。

5/19 -- KW1 再次没有获得任何转化。

5/20 -- AG1-KW1 获得 2 次转化。 AG2-KW1 和 AG3-KW1 的展示次数为零。

如果您仅提取 5/20 的报告,则只有 AG1-KW1 会在您的第二个报告中出现一行,而 AG2-KW1 和 AG3-KW1 将被排除在外。 KW1 的转化将被计算一次。

但在 5/18-5/20 的过程中,AG1-KW1、AG2-KW1 和 AG3-KW1 各有至少一个印象。如果您提取此日期范围的报告,则这三个报告中的每一个都将在您的第二个报告中占一行。 KW1 的转化将被计为 3 次。

【讨论】:

好的,谢谢你的解释。我尝试删除您提到的那些列。所以我只查询['KeywordText', 'Impressions', 'Clicks', 'Ctr', 'Conversions', 'Cost', 'Id'] - 但是我得到了相同的结果。我错过了一个片段吗? 你能发布更新的 Gist 吗?一般来说,我建议将您的代码分解为更小的方法,以便您可以查看中间输出——例如,在额外处理之前解析的 CSV。通过这种方式,您可以查看各个转化的来源,以及哪些行包含在哪个报告中。还有一个问题是,您是想简单地衡量整个广告系列的关键字效果,还是按广告组衡量关键字效果。就个人而言,我可能只是按广告组对这两个报告进行细分,并使用“#ad_group_id-#keyword_id”之类的内容作为转化的哈希键。

以上是关于Adwords 关键字报告在单个查询中返回与组合查询不同的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何找出哪些列组合在 adwords 中有效

如何在单个报告中组合计算最大值的两个查询

Adwords API 报告选项

到 Big Query Data Transfer Service 的 Adwords 报告的值与 Adwords Manager 不同

如何在组合框中返回未绑定列的值

组合查询