0

我已将 Google Ads 数据传输流从 Google Ads 配置到我的 GoogleBigQuery 项目。它运行,数据流动,一切都很好。但是,当我决定构建一个查询以返回在 utm_marks(来源、媒介、活动)的不同组合的上下文中花费的金额时,我遇到了“重复”数据的问题。

因此,查询首先转到 Adstat 表,并获取每个广告活动 ID 中每个 creativeId(我想 creativeId 表示广告)的统计信息。然后,它从每个广告系列的每个 creativeId 的 AdTrackingUrlTemplate 中获取每个 utm_marks。最后,它将两个表合并为一个,在输出中我有关于每个 utm_mark 统计信息的完整信息。

查询如下所示:

 with 
 Adstat as (
            select * 
            from `myproject.GoogleAds.AdStats_7394379271`
        ),

 Ad as (
        select 
            CampaignId, 
            CreativeId, 
            REGEXP_EXTRACT(CreativeTrackingUrlTemplate, r"[?&]utm_source=([^&]+)") as source,
            REGEXP_EXTRACT(CreativeTrackingUrlTemplate, r"[?&]utm_medium=([^&]+)") as medium,
            REGEXP_EXTRACT(CreativeTrackingUrlTemplate, r"[?&]utm_campaign=([^&]+)") as campaign
        from 
            `myproject.GoogleAds.p_Ad_7394379271`
        where 
            CreativeTrackingUrlTemplate is not null 
        and 
            CreativeTrackingUrlTemplate!="{lpurl}"
        group by 
            CampaignId, CreativeId, source, medium, campaign
       )

select
    date, CampaignId, CreativeId, impressions, 
    Clicks, Cost, Cost * 1.2/1000000 as adCost, source, medium, campaign
from 
    Adstat 
left join  
    Ad using (CampaignId, CreativeId)
where 
    date = '2021-11-26'
and 
    CampaignId = 1688777252
and 
    CreativeId = 328994634699

输出:

日期 活动 ID 创意 ID 印象 点击次数 广告费用 资源 中等的 活动
2021-11-26 1688777252 328994634699 1 1 10 谷歌 每次点击费用 _cntr_sale_15
2021-11-26 1688777252 328994634699 1 1 10 谷歌 每次点击费用 cntr_sale_16
2021-11-26 1688777252 328994634699 1 1 10 谷歌 每次点击费用 cntr_sale_17

而且有一个麻烦。如果一个 creativeId 在其生命周期中在 AdTrakingTemplate 中有几个 utm_marks,所有这些都将进入结果,并且所有这些都会从 AdStats 表中收到一个统计信息(您可以在输出中看到:相同的日期,相同的 CreativeAd,相同的统计信息,但不同乌兹别克斯坦)。因此,我们有双倍(三倍、四倍)的展示次数、点击次数、花费金额等。这是一个很常见的情况,因为经理更改跟踪模板比在 Google Ads 中创建新的广告或广告系列更容易。

而且,不幸的是,我不知道如何解决这个问题,因为在执行某些统计操作(展示次数、点击等)时,无法确定 createiveIdTrakingTemplate 中究竟是哪些 utm_marks。

有谁知道,如何处理?感谢帮助!

4

1 回答 1

0

您假设 CreativeId 是唯一的。事实并非如此。CreativeId 仅在广告组中是唯一的 - 换句话说,一个活动可以有多个广告组,并且这些组可以有一个具有相同 CreativeId 的广告。

为了解决这个问题,请确保您在结果中提及广告组,这应该有助于您理解结果。

有关 Google Ads 中对象唯一性的信息: https ://developers.google.com/adwords/api/docs/guides/objects-methods#object_id_uniqueness

于 2022-02-02T08:34:09.197 回答