介绍

UTM (Urchin tracking module) 的作用是帮助我们收集访客的来源渠道.

比如说, 用户是从 Google 广告来的, Youtube, 还是 Facebook 等等.

它的工作原理很简单, 就是在 URL 加上各种 query params 来表达来源.

比如: domain.com?utm_source=google&utm_medium=cpc

当用户来到网站以后, 网站就可以读取 query params 得知用户是从 google 的付费广告来的.

注: 这个方式并不能 100% 精准 tracking 哦, 比如用户把这个 URL share 给其它人, 那么这些人也会被当作是 google 付费广告来源.

gclid, gbraid, wbraid, fbclid

如果只使用 Google 全家桶 (Ads, Analytics), 那么我们是不需要去搞什么 UTM 的.

因为 Google 会在访客的 URL 加上 gclid (Google Click ID), gbraid (Google App Measurement ID), wbraid (Google Web Measurement ID)

这些 ID 里头就包含了所有访客来源的信息了. 但要注意哦, 这个 ID 只是给 Google 自己用的而已, ID 是无法逆向解析成数据的, 也没有开发接口让外人获取.

fbclid 则是 Facebook + Pixel 全家桶的. 原理和 Google ID 一样.

但无论如何, 大部分情况我们还是需要 UTM 的, 比如我们同时在 Google 和 Facebook 做广告, 或者用到了第三方 tracking (e.g. inspectlet)

Standard UTM

参考: What Are UTM Codes? Here's How to Use Them (w/ Examples)

UTM 包含许多属性, 有一些是针对特定平台才有的, 比如 Google Ads 会提供 device 这个属性. 但其它平台不一定就有.

比较 standard 的 属性如下:

utm_id = campaign id (是 id 而不是 campaign name 哦)

utm_source = 平台来源 e.g. google, facebook, youtube

utm_medium = 算是 source 的再细分, e.g. cpc/ppc, organic (Google source 在区分出付费和自然搜索)

utm_campaign = campaign name (注: 它没有 group/set 只有 campaign, 但我通常会把 group/set 加进去, 类似 campaign name > group name)

utm_content = ads name/id. 当做多个广告进行 A/B Test 的时候, 就需要声明是哪一个广告了.

utm_term = keywords 这个是针对 google search 的.

Setup UTM in Google Ads

参考: YouTube – UTM Tracking in Google Ads (Templates + Custom Parameters)

Setup Campaign URL Options

Setup Tracking Template and Custom Parameters

tracking template 长这样

{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={_campaignname}+%3E+{_groupname}&utm_id={campaignid}&utm_term={keyword}&utm_content={_adsname}

{} 花括弧表示 dynamic value

lpurl = landing page url 也就是最终网站的地址

campaignid, keyword 是 Google Ads 自带的 parameters, 完整的 list 这里: Available ValueTrack parameters

_campaignname, _groupname, _adsname 任何 starts with underscore 都是 custom parameters

如下设置

在 campagin level set _campaignname

在 group level set _groupname

在 ad set _adsname

最终 Google Ads 会 combine 所有 level.

注意:

key (e.g. _campaignname ) 不可以用 underscore 做分割哦, _campaign_name <-- 错误的

value (e.g. Aug+2022) 必须 URL encode 哦. Aug 2022 <-- 错误的 (用 + 或 %20 都可以)

批量管理

custom parameters 不太好管理, 有时候可能会忘记放, 或者改名字忘记同步.

我以前写过一个 script 来管理. 但没有做记入. 而现在代码也不知道在哪里了.

但我有个印象就是它有一些缺失, 并没有办法做到全自动. 算了呗. 以后有机会在来玩.

Google Ads – UTM的更多相关文章

  1. Google Ads Encryption Key

    aes | floyd's Google Ads Encryption Key

  2. Google Ads原理

    Google AdSense广告会根据访问者的地理IP,显示不同的广告,因为adwords里面有相应的设置,有些广告商只想把广告显示给某一地理区域的客户.另一方面就是同一个网站,你在日本和美国会看到日 ...

  3. 用Google Analytics UTM标注社会化媒体分享流量来源

    随着社会化媒体营销概念近两年的日益盛行,敢于吃螃蟹的营销工作者们展开了一些尝试,发现对社会化营销效果进行综合评估是一大难点,价值难以衡量.主要原因在于它的营销效果中混杂了直接的目标转化.品牌宣传.品牌 ...

  4. 实体关系图应用——google ads

    实体关系 本页展示了 AdWords 实体的关系图,其中的可点击图片可帮助您找到最合适的文档. 表示法图例 实体:链接到相关性最高的指南. 基数:允许的实例数量.例如,1..\* 表示允许一个或多个. ...

  5. Google Interview University - 坚持完成这套学习手册,你就可以去 Google 面试了

    作者:Glowin链接:https://zhuanlan.zhihu.com/p/22881223来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 原文地址:Google ...

  6. 5分钟解决google play上架App设置隐私政策声明问题

    本文同步自javaexception 问题: 在我们的app上架到google play后,为了赚点小钱,就集成google ads,然而这会引发一个新的问题,那就是设置隐私政策声明的问题,通常我们会 ...

  7. Flutter 1.0 正式版: Google 的便携 UI 工具包

    Flutter 1.0 正式版: Google 的便携 UI 工具包 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理 Flutter 是 Google ...

  8. [Android]彻底去除Google AdMob广告

    应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...

  9. Flutter 1.0 正式版: Google 的跨平台 UI 工具包

    今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...

  10. 彻底去除Google AdMob广告

    应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...

随机推荐

  1. mybatis源码配置文件解析之五:解析mappers标签(解析class属性)

    在上篇文章中分析了mybatis解析mapper标签中的resource.url属性的过程,<mybatis源码配置文件解析之五:解析mappers标签(解析XML映射文件)>.通过分析可 ...

  2. JAVA课后谈1

    1.课程中动手动脑的问题 在本次课堂实验中,我暴露出了很多问题,尤其是逻辑思维方面,不能很好的处理数理运算问题.在实际生活中客户的要求千变万化,而我们作为一个合格的程序设计者应该顺应其要求,尽可能的去 ...

  3. ORA-01658创建表或索引报错分析

    一.报错信息 某项目最近在 SQL Loader 导数据时偶尔会报错,类似如下: SQL loader ORA-01658 unable to creale INITIAL extent for se ...

  4. app专项测试:app弱网测试

    app专项测试:app弱网测试 弱网测试背景 用户体验 APP使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易伤害用户体验 非正常情况下,Bug出现几率会增加 在解决日常支持需求中,经 ...

  5. 【H5】08 图片

    摘自: https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Multimedia_and_embedding 在这份教程中,到目前为止我们已经看到了 ...

  6. 【Tutorial C】08 函数 Function

    函数的定义 C源程序是由函数组成的. 最简单的程序有一个主函数 main(),但实用程序往往由多个函数组成, 由主函数调用其他函数,其他函数也可以互相调用. 函数是C源程序的基本模块,程序的许多功能是 ...

  7. 使用GPU计算时,单精度float32类型和半精度float16类型运算效率的区别

    最近在看资料时发现写着使用float16 半精度类型的数据计算速度要比float32的单精度类型数据计算要快,因为以前没有考虑过数据类型对计算速度的影响,只知道这个会影响最终的计算结果精度.于是,好奇 ...

  8. 如何为anaconda配置动态链接库——ERROR: compiler_compat/ld: cannot find

    现在为python编译lib库的环境主要是使用anaconda,而之前往往都是使用自编译python环境,然后使用Linux的系统lib环境,但是现在由于都是使用anaconda环境来编译python ...

  9. multi-GPU环境下的batch normalization需要特殊实现吗?

    3年前曾经写过关于分布式环境下batch normalization是否需要特殊实现的讨论:batch normalization的multi-GPU版本该怎么实现? [Tensorflow 分布式P ...

  10. 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(4) —— state-of-the-art

    <2048>游戏在线试玩地址: https://play2048.co/ 该游戏的解法比较不错的资料为外网的一个讨论帖子: What is the optimal algorithm fo ...