首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWQL:在PRODUCT_PARTITION_REPORT中包括设备类型会减少零印象数据?

AWQL:在PRODUCT_PARTITION_REPORT中包括设备类型会减少零印象数据?
EN

Stack Overflow用户
提问于 2015-12-08 12:34:34
回答 1查看 319关注 0票数 1

我在PRODUCT_PARTITION_REPORT中发现了一些不一致的地方。

因此,在我发布测试脚本并给出一些解释之前,我想问一下我的问题:

  • 为什么AdWords表现得像那样?
  • 这种行为是正常的还是错误的?

下面是我用Python编写的用于通过AWQL查询AdWords购物数据(产品组)并将结果存储为CSV的小测试脚本:

代码语言:javascript
复制
from googleads import AdWordsClient

startdate = '20150801'
enddate = '20151130'
ADWORDS_API_VERSION = 'v201509'

client = AdWordsClient.LoadFromStorage('adwords.yaml')
client.client_customer_id = 'XXX-XXX-XXXX'
report_downloader = client.GetReportDownloader(version=ADWORDS_API_VERSION)

queries = {
    # (1) 
    'product_groups_without_device_split': (
        "SELECT CampaignName, CampaignId, AdGroupName, AdGroupId, "
        "ProductGroup, Impressions, Clicks, Conversions "
        "FROM PRODUCT_PARTITION_REPORT "
        "WHERE CampaignStatus IN ['ENABLED', 'PAUSED'] "
        "AND AdGroupStatus IN ['ENABLED', 'PAUSED'] "
        "AND PartitionType = UNIT AND Impressions > 0 "
        "DURING %s,%s"
    ),
    # (2) 
    'product_groups_without_device_split_zero_impressions': (
        "SELECT CampaignName, CampaignId, AdGroupName, AdGroupId, "
        "ProductGroup "
        "FROM PRODUCT_PARTITION_REPORT "
        "WHERE CampaignStatus IN ['ENABLED', 'PAUSED'] "
        "AND AdGroupStatus IN ['ENABLED', 'PAUSED'] "
        "AND PartitionType = UNIT AND Impressions = 0 "
        "DURING %s,%s"
    ),
    # (3)
    'product_groups': (
        "SELECT CampaignName, CampaignId, AdGroupName, AdGroupId, "
        "ProductGroup, Device, Impressions, Clicks, Conversions "
        "FROM PRODUCT_PARTITION_REPORT "
        "WHERE CampaignStatus IN ['ENABLED', 'PAUSED'] "
        "AND AdGroupStatus IN ['ENABLED', 'PAUSED'] "
        "AND PartitionType = UNIT AND Impressions > 0 "
        "DURING %s,%s"
    ),
    # (4)
    'product_groups_zero_impressions': (
        "SELECT CampaignName, CampaignId, AdGroupName, AdGroupId, "
        "ProductGroup, Device "
        "FROM PRODUCT_PARTITION_REPORT "
        "WHERE CampaignStatus IN ['ENABLED', 'PAUSED'] "
        "AND AdGroupStatus IN ['ENABLED', 'PAUSED'] "
        "AND PartitionType = UNIT AND Impressions = 0 "
        "DURING %s,%s"
    )
}

for name, awqlQueryTpl in queries.iteritems():
    awqlQuery = awqlQueryTpl % (startdate, enddate)
    with open(name+'.csv', 'w') as file_:
        report_downloader.DownloadReportWithAwql(awqlQuery, 'CSV', file_,
            skip_report_header=True, skip_column_header=False,
            skip_report_summary=True)

(合理的数据被删除.)

对这些查询的一些解释:

  1. 第一个查询包含统计数据,但没有设备拆分。当统计属性(如印象、点击等)时,无法返回零印象。都被选中了!
  2. 这个查询不包括统计数据,所以我可以以零印象得到丢失的数据。这里没有设备裂开。
  3. 该查询包含统计数据,数据被设备类型分割。零印象在这里是不能归还的。
  4. 此查询没有统计数据,但设备类型拆分。这里只返回零印象数据。

我组合了查询1+2 (=Case A)和查询3+4 (=Case B)的结果。对于案例B,我合并了按设备类型拆分的数据。因此,作为比较,这个结果和(A)的结果应该是相同的,但事实并非如此!虽然这两种情况下的统计数据是一致的,但差异可以在零印象数据中找到--在(A)中,有900多个条目比B多。

当我查询没有设备,但包含零印象(4),我也得到了运动,具有零印象,并暂停(这是我想要的)。但当我询问设备(3)时,我一点也不明白.

我已经对所有这些进行了两次验证:在合并和比较数据时没有出错。我对来自KEYWORD_PERFORMANCE_REPORT的数据做了同样的测试,绝对没有问题!

我希望这是足够的信息在这里得到帮助..。

见上面我的问题。

EN

回答 1

Stack Overflow用户

发布于 2015-12-08 15:16:05

好的,解决方案是将include_zero_impressions=True添加到DownloadReportWithAwql()函数中,并从查询中删除impressions=0

代码语言:javascript
复制
for name, awqlQueryTpl in queries.iteritems():
    awqlQuery = awqlQueryTpl % (startdate, enddate)
    with open(name+'.csv', 'w') as file_:
        report_downloader.DownloadReportWithAwql(awqlQuery, 'CSV', file_,
            skip_report_header=True, skip_column_header=False,
            skip_report_summary=True, include_zero_impressions=True)

我认为在查询中使用impressions=0和impressions>0具有相同的效果,但我的预期似乎是错误的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34156056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档