Google Ads – UTM
介绍
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的更多相关文章
- Google Ads Encryption Key
aes | floyd's Google Ads Encryption Key
- Google Ads原理
Google AdSense广告会根据访问者的地理IP,显示不同的广告,因为adwords里面有相应的设置,有些广告商只想把广告显示给某一地理区域的客户.另一方面就是同一个网站,你在日本和美国会看到日 ...
- 用Google Analytics UTM标注社会化媒体分享流量来源
随着社会化媒体营销概念近两年的日益盛行,敢于吃螃蟹的营销工作者们展开了一些尝试,发现对社会化营销效果进行综合评估是一大难点,价值难以衡量.主要原因在于它的营销效果中混杂了直接的目标转化.品牌宣传.品牌 ...
- 实体关系图应用——google ads
实体关系 本页展示了 AdWords 实体的关系图,其中的可点击图片可帮助您找到最合适的文档. 表示法图例 实体:链接到相关性最高的指南. 基数:允许的实例数量.例如,1..\* 表示允许一个或多个. ...
- Google Interview University - 坚持完成这套学习手册,你就可以去 Google 面试了
作者:Glowin链接:https://zhuanlan.zhihu.com/p/22881223来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 原文地址:Google ...
- 5分钟解决google play上架App设置隐私政策声明问题
本文同步自javaexception 问题: 在我们的app上架到google play后,为了赚点小钱,就集成google ads,然而这会引发一个新的问题,那就是设置隐私政策声明的问题,通常我们会 ...
- Flutter 1.0 正式版: Google 的便携 UI 工具包
Flutter 1.0 正式版: Google 的便携 UI 工具包 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理 Flutter 是 Google ...
- [Android]彻底去除Google AdMob广告
应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...
- Flutter 1.0 正式版: Google 的跨平台 UI 工具包
今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...
- 彻底去除Google AdMob广告
应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...
随机推荐
- 持久化技术Mybatis知识精讲【形成知识体系篇】
环境要求 JDK1.8及以上版本 MySQL数据库 Apache Maven 3.6.1构建工具 IDEA/VSCode/Eclipse开发工具任选其一 思维导图:Xmind ZEN 技术要求 熟悉J ...
- 如何去除字符串中的 "\n" ?80% 的同学错了!
大家好,我是鱼皮,今天分享一个小知识. 我最近负责的工作是设计一个 SQL 解析引擎.简单来说,就是将一个 SQL 表达式字符串,解析为一颗对象树,从而执行查询等一系列操作. 在最开始,我就遇到了一个 ...
- [oeasy]python0095_乔布斯求职_雅达利_atari_breakout_打砖块_布什内尔_游戏机_Jobs
编码进化 回忆上次内容 上次 我们回顾了 电子游戏的历史 从 电子游戏鼻祖 双人网球 到 视频游戏 PingPong 再到 街机游戏 Pong 雅达利 公司 来了 嬉皮士 捣乱? 布什内尔 会如何 应 ...
- Android SDK Build-tools的版本已经高于Android SDK Platform-tools版本 的解决办法
解决Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!最近渐渐迁移到Android ...
- 深入探讨Spring Boot中的参数传递
深入探讨Spring Boot中的参数传递 在Spring Boot开发中,参数传递是一个非常常见且重要的操作.无论是处理HTTP请求,还是在方法之间传递数据,理解和掌握参数传递的各种方式都能让我们的 ...
- 微服务集成springsecurity实现认证
module:auth 1.添加依赖:spring-cloud-starter-security与spring-cloud-starter-oauth2 2.配置WebSecurityConfig:注 ...
- Bond4配置
Bongding聚合链路工作模式 > bond聚合链路模式共7种:0-6Mode > bond 0 负载均衡 轮询方式往每条链路发送报文,增加带宽和容错能力.容易出现数据包无序到达的问题, ...
- 【Java】【常用类】String
String表示字符串,Java所有的字符串字面值都是String类的实例实现 String是一个final修饰的类,代表不可变的字符序列 字符串是常量,用双引号表示,值在创建之后不能更改 Strin ...
- (续)signal-slot:python版本的多进程通信的信号与槽机制(编程模式)的库(library) —— 强化学习ppo算法库sample-factory的多进程包装器,实现类似Qt的多进程编程模式(信号与槽机制) —— python3.12版本下成功通过测试
前文: signal-slot:python版本的多进程通信的信号与槽机制(编程模式)的库(library) -- 强化学习ppo算法库sample-factory的多进程包装器,实现类似Qt的多进程 ...
- CPU利用率为多少时可以兼顾计算效率和时间效率?—— 75% —— 科学计算时如何正确的使用超线程CPU——使用超线程CPU进行计算密集型任务时的注意事项
2023年12月28日 更新 现在这个AI火热的时代科学计算任务占比越来越大,但是平时使用时也有一些不为人注意的地方需要知道,本文就讨论一下使用超线程CPU时的注意事项. 超线程CPU就是现在的多线 ...