介绍

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. 【漏洞分析】DoughFina 攻击事件分析:不做任何参数检查的去杠杆合约

    背景介绍 2024 年 7 月 12 日,DoughFina 协议遭受了黑客攻击,造成本次攻击的主要原因是 ConnectorDeleverageParaswap 合约没有对输入参数进行检查,且该合约 ...

  2. 可视化—gojs 超多超实用经验分享(三)

    目录 32.go.Palette 一排放两个 33.go.Palette 基本用法 34.创建自己指向自己的连线 35.设置不同的 groupTemplate 和 linkTemplate 36.监听 ...

  3. webpack4.15.1 学习笔记(七) — 懒加载(Lazy Loading)

    懒加载或者按需加载,是一种很好的优化网页或应用的方式.实际上是先把代码在一些逻辑断点处分离开,然后在一些代码块中完成某些操作后,立即引用或引用另外一些新的代码块.这样加快了应用的初始加载速度,减轻了它 ...

  4. [oeasy]python0026_刷新时间_延迟时间_time_sleep_死循环_while_True

    ​ 刷新时间 回忆上次内容 time 是一个 ​​module​ import 他可以做和时间相关的事情 time.time() 得到当前时间戳 time.localtime() 得到本地时间元组 l ...

  5. LeetCode513. 找树左下角的值

    题目链接:https://leetcode.cn/problems/find-bottom-left-tree-value/description/ 题目叙述: 给定一个二叉树的 根节点 root,请 ...

  6. 为什么我@Value中明明显示了值,他却是null

    今天尝试把一些重要东西写入application.yml里,结果在使用的时候发现value取不出来值原因有2个: 1.没有写@compent,没有把这个类交给spring管理 2.在service层n ...

  7. 【MongoDB】Re03 索引

    MongoDB的索引种类 单属性索引 MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,称为单字段索引(Single Field Index). 对于单个字段索引和排序操作,索引键的排 ...

  8. 【MySQL】替换件需求

    先上个表结构吧: CREATE TABLE `tm_part_replace` ( `ITEM_ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', ...

  9. 【Docker】11 私有仓库

    Docker的私有仓库也是一个镜像形式: docker pull registry 运行容器: run -d --name my-docker-repo -p 5000:5000 registry 访 ...

  10. 为什么我要弃用华为的软件产品——mindspore从入门到放弃之感想

    从本博主前段时间的博文就可以看到博主写了好多关于华为软件mindspore的入门资料和编译方法以及一些bug的修复,但是无奈之下发现这些简单而且显而易见的bug不仅长期存在与软件中而且在提交PR后而一 ...