流量渠道追踪全解析

Google Analytics Haran 5年前 (2019-07-02) 4541次浏览 0个评论

流量渠道标记(link tag)与追踪

怎么去跟踪流量,知道流量或访客、用户是从哪里来的?

流量渠道标记一般是使用UTM,UTM的全称是Urchin Tracking Module/Urchin Tracking Manager,Urchin是就是Google Analytics的前生了,有兴趣的可以看Google Analytics的发展历史

现在UTM成为行业术语了,如百度统计、神策、GrowiongIO、诸葛IO都支持或兼容UTM,可以说UTM就是流量跟踪、流量标记的代名词了。

什么是UTM呢?

UTM就是在着陆页的URL上面添加一些广告系列参数用于标记广告信息。通过向网址中添加广告系列参数,可以标识为你的网站带去流量的广告系列。用户点击引荐链接时,这些参数将会被发送至 Analytics(分析),你就可以在报告中了解各个广告系列的效果,这个参数就是UTM。

 

UTM的参数有些呢?

UTM一共有5个参数,3个必填参数、2个可选参数,详细的如下:

流量渠道追踪全解析

utm_source、utm_medium、utm_campaign是必填参数,utm_term和utm_content是可选参数。

utm_source:标记来源,如从哪个网站来的,比如从www.ichdata.com网站过去的流量可以标记为ichdata。

utm_medium:表示媒介类型,如通过什么方式来的,如social、email、diaplay等,需要注意!需要注意!!需要注意!!!重要的事情说三遍,utm_medium是有系统预设定的字段的,你不能随便用的,一定要用下表中的预设定字符:

流量渠道追踪全解析

如果是SEM付费的,可以是utm_medium=cpc或utm_medium=ppc或utm_medium=paidsearch。

Medium是大小写是敏感的,Email和email代表两个不同的渠道。

如果没有按照上表中与设定的字符,那么Google Analytics中渠道划分(就是Channel报告),该流量就不能准确划分到对应的渠道,会出现一个Others的渠道,如果你的报告中有出现Others的渠道,就表示Medium使用错误的。

其实Medium使用错误导致渠道划分不对其实是可以通过渠道设置去修改的,在数据视图设置下去修改Channel Settings。

utm_campaign:表示广告系列,就是广告活动的名字,比如我这个是夏季活动,可以这样utm_medium=summer-sale。如果这个没填,那么Google Analytics中的Campaign的报告为空。

utm_term:一般用于标记付费搜索关键字,如用UTM去跟踪百度SEM的关键字。

utm_content:用于标记不同的广告内容或创意,区分不同的类型广告的效果。

 

使用示例

如果URL上没有问号:

如着陆页是:https://www.ichdata.com/index.html

那么直接添加UTM参数:

https://www.ichdata.com/index.html?utm_source=google&utm_medium=cpc&utm_campaign=summer-sale

 

如果URL上有问号:

如着陆页是:https://www.ichdata.com/index.html?SSID=11

那么先添加#,再添加UTM参数:

https://www.ichdata.com/index.html?SSID=11#utm_source=google&utm_medium=cpc&utm_campaign=summer-sale

 

批量该如何使用?

对于少量的链接,有两种添加方式:

  • 一种是直接编辑添加
  • 一种是通过网址构建器去实现,网址:https://ga-dev-tools.appspot.com/account-explorer/

大量的话,可以通过Excel工具,可以关注本公众号然后发送”书”获取Excel工具,包含两个,一个是Excel批量工具,一个是中文转码的:

流量渠道追踪全解析

使用注意点

1、UTM的参数是大小写敏感的,大小写不同,划分是不同的。

2、添加UTM参数的时候,前面没有‘?’的时候需要先添加‘?’在添加UTM参数,如果前面已经有?出现了,那就用‘#’,然后再添加UTM参数,兼有?和#都是UTM的系统使用字符,因此不建议在UTM中标记渠道的时候使用这个两个字符,避免被截断。

3、为了标记准确,来源/媒介/广告系列是3个必不可少的参数

4、渠道分组是对medium是有预定义的,建议使用预定义的字段

5、UTM上有中文的话需要转码才可以使用,否则会乱码

6、UTM不能用于站内跟踪

小程序流量的标记与追踪

什么是小程序呢?

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。

相比H5和App,小程序门槛低、受众广、互动频繁和使用场景丰富,一时间吸引无数人入坑。

微信之父张小龙从2017年发布微信小程序功能上线到现在2020年,各类小程序层出不穷,如支付宝小程序、百度小程序、字节跳动小程序、QQ小程序……目前小程序有这么几个阵营:


流量渠道追踪全解析

各个平台都有各自的特点,适用不同的场景。

我们今天要讲的小程序是微信小程序,微信小程序是第一个吃螃蟹的人,最具代表性,后面厂家基本都是借鉴微信,某宝小程序代码文档里赫然出现微信小程序团队各位开发者的名字,以示对微信的致敬。

而微信小程序怎么跟踪取决于微信开放了什么。

微信小程序开放了什么?

渠道跟踪上,微信小程序推出了一个场景值的概念。

场景值(scene):场景值是微信官方用来描述用户进入小程序的路径,详细的场景值如下:

流量渠道追踪全解析

上图只是截选部分场景,截止到2020年8月份有70个场景,并且不断再增加,这些场景表示小程序打开的途径方式,已经分得非常细致 ,所有场景可以看:https://developers.weixin.qq.com/miniprogram/dev/reference/scene-list.html

上述场景可以分为四类:

流量渠道追踪全解析

根据张小龙在一些公开课的发言:扫码是小程序最主要的入口。

如何跟踪?

小程序在打开的时候可以通过 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中获取包括场景值在内的如下参数:

流量渠道追踪全解析

  • path:就是小程序的路径,地址,可以理解为Page Path
  • scene:场景值,这个是微信小程序返回给我们场景值,用上面提到的那三个函数就会自动获取,第三方检测工具可以通过这个场景值划分不同的途径
  • query:自定义查询参数,可以对场景做细化,如同样是扫码,可以通过自定义参数细分成不同位置的扫码。
  • shareTicket:用于跟踪转发分享,分享转发有两种实现类型,一种是通过shareTicket实现自动采集分享,一种是通过程序改写成query形式跟踪。
  • referrerInfo:部分场景值下还可以获取来源应用、公众号或小程序的appId,appId就在referrerInfo里面,通过appId就可以来自具体的哪个公众号或小程序。

渠道跟踪主要就是通过scene、query、shareTicket和referrerInfo识别,上述四种分类对应的跟踪方式是:

流量渠道追踪全解析

  • 扫码类一般会通过query细化来源,就是小程序码或二维码带参数,也可以在添加UTM参数,通过query去解析
  • 投放跳转的主要是通过sence,部分sence会带有referrerInfo,可以知道具体来源的appid
  • 分享转发有两种实现方式,一种是query,一种是shareTicket
  • 微信各入口就是微信上的一些入口,如微信搜索,直接通过sence就可以知道来源。

实际情况

    实际上现在很多的小程序监测工具是兼容UTM,方便用户使用,如下所示:

pages/index/index?TDChannelId=channelname

page/index/index?utm_source=miniapp_A

/pages/Fcomponent/Fcomponent/?unitid={{UNIT_ID}}&source=shantou_fe

可以看到不同监测工具使用的字段是不一样的,但原理是一致的,在path 的结尾可以增加参数来标明来源,类似UTM的,各家用的字段不一,有的用TDChannelId,有的用utm_source,有的用source,有的UTM的三个参数全用,具体使用设置方法参照各家为准,在 App.onLaunch App.onShow wx.getLaunchOptionsSync 会根据query 解析相关参数从而知道来源信息。

小程序是基于场景值和自定义查询参数跟踪,所有第三方工具里的报告通常有两个报告,一个是基于场景值报告,一个是基于自定义查询参数query报告,UTRL上面加参数,用类似UTM的方法跟踪。

流量渠道追踪全解析

工具

跟踪的原理就是上面这些,但大部分人都只直接选一个工具直接用就行,目前这块主要有两类玩家提供小程序的监测工具:

  • 类型一:专门做小程序跟踪,如阿拉丁
  • 类型二:本来做网站分析工具或增长工具,也涵盖小程序这一块,如神策、GrowingIO、诸葛IO、国双、易观、及策、友盟、Talkingdata等

这些都可以实现小程序的渠道和行为跟踪,主要玩家还是本身是做监测的厂家,顺带也做小程序这一块,在分析逻辑或模块上比较有经验。

Google Analytics也是可以实现小程序跟踪的,原理是要用MP协议,可以参考这个:https://github.com/rchunping/wxapp-google-analytics

如何选工具

  • 要能够自定义生成小程序码/二维码去标记细分场景(因为扫码只最主要的入口,如果只有一个基于场景值的合并数据而不能细分扫码来源的数据,作用是很有限)
  • 要提供至少两个报告:场景报告和细分报告(如扫码),能够自定义

小程序前两年是火,但现在明显有些降温,局限于特定场景使用的,可以作为辅助使用,注定它是撼动不了原生APP的。

 

APP流量来源的追踪方式

(1)国内跟踪的现状

由于Google Play不能在大陆使用,说造成了现在国内安卓应用市场百花齐放,这给跟踪增加了不少难度;在正式进入正题之前,我们先来了解一下广告主和APP下载跟踪的整个流程,看这个流程主哪些参与者能够获取数据,看下图:

流量渠道追踪全解析

首先,是广告主,广告主通过广告平台去投放广告,吸引用户点击去应用市场下载APP,然后激活使用,在这个过程中,广告平台可以知道广告的展示和点击,应用市场可以知道下载,最终的激活这个数据就需要做跟踪才有的,激活的数据可以传递会前面不同的几个参与者,如应用市场,这个通常是操作系统本身才有的,如苹果的IOS和Google的google play,另一个是广告平台的,广告平台有些是目标优化或使用look alike这个功能,需要应用回传一些数据,最后一个就是广告主的,非常关心整个流程的转化,投入产出,ROI等,一般会使用第三方工具做监控,也就是我们这一节要讲到的。

流量渠道追踪全解析

目前操作系统主要是Android和IOS,虽然仍有部分使用微软的wp或其他的linux类的操作系统,但主流是安卓和苹果,可以说,手机系统,不是安卓就是苹果了.

安卓的话,谷歌官方有个应用市场Google play,一般内置在系统里面,国外用户下载APP都是通过google play下载,APP的跟踪继续沿用web的逻辑,Google play能够传递传递referral参数,能够跟Google Analytics无缝对接。
但是在国内,由于一些政策因素,谷歌的这部分服务不能在大陆使用,国内的用户连不上google play,这个机遇催生了很多的应用市场,这跟跟踪带来的一定的难度,目前采用主要形式是渠道包,也就是每个渠道带一个包,内嵌一个id,通过id去识别;另一种方法是模糊匹配了,这个是比较少用的。

IOS的话,绝大部分的用户下载APP都是通过APP Store,只有部分越狱用户通过第三方市场去下载,现在越狱的已经很少了,所以这里主要讲解APP Store的跟踪方式,IOS是个比较封闭的系统,所以你能跟踪什么,能跟踪多少,取决于苹果开放了多少,目前苹果主要有3中跟踪方式

1、IDFA IDFA就是广告标示符,广告平台回传给第三方工具IDFA,用户下载后激活APP是也会回传IDFA,两者进行匹配。

2、cookie 用户点击推广链接的时候,链接上有广告参数,app在后台打开safari,然后将链接上的广告参数写入到cookie,然后跳转到app store下载,用户打开APP的时候,会沿用之前的cookie,实现广告参数的传递与回传。

3、模糊匹配,下载激活前后获取用户设备的指纹,如ip user agent idfa等,然后使用算法进行匹配。

(2)Android端

Android—Google Play

流量渠道追踪全解析

google Play的广告参数有一个完善的机制,这个机制也可以被第三方工具使用个,我在有些网站有看到第三方工具对这个原理做了测试,下面以google analytics讲解Google play如何实现广告参数传递的。

首先是用网址构建器对APP的下载链接添加广告参数,需要注意app的网址构建器跟web是不同的,用户在从google play 下载APP的时候,BroadcastReceiver会发送一条带有Referral的广播给APP,用户打开APP的时候,前面的广播就会发给GA,GA的接收器就接收到这个referral,这个用户就带上了对应的渠道标签了。

google Analytics 和Google Play都是谷歌的产品,所以整个过程可以无缝链接的。

Android—国内应用市场

流量渠道追踪全解析

众所周知 Google Play 无法在中国使用,所以国内 Android 市场被数十家应用商店( 豌豆荚、百度助手、酷市场、360手机助手等等 )占领,应用市场可以分成两个阵营,一类是大型互联网公司,如腾讯的应用宝,百度的手机助手,360的360应用市场,另一个阵营是手机厂商的,如华为,金立,vivo,Android 渠道追踪主要围绕上述渠道展开。

具体来说就是开发者为每一个渠道生成一个渠道安装包,不同渠道包用不同的 Channel ID (渠道标识)来标识,这个id一直跟app绑定;当用户下载了 App 之后,ID会岁相关的数据发送回来,从而实现渠道的识别。
这种方式完全是为了适应我们大陆的情形的,如果要上传的应用市场多的,意味着需要打很多的包。

这种方法有个天然的缺点,就是只能定位到应用市场,不能做更细的广告系列划分。

安卓平台的模糊匹配跟ios的模糊匹配的原理只一致的,这部分放到ios里面讲,基本上模糊匹配不怎么会用在安卓上的。因为可行性很低。

(3)IOS端

iOS的发行渠道则与安卓有很大的不同,除了少数越狱的机器之外,大部分用户的App都是从 App Store下载的。iOS的“渠道”其实通常是指那些在其它App或者网页内部,提供到AppStore的链接的页面。因此,在iOS中追踪发行渠道,主要是追踪进入App Store相关页面的渠道信息。

但iOS的渠道追踪面临着一道无法逾越的鸿沟。正因为iOS的渠道分发都有跳转到App Store这一步,而Apple本身是不会提供太多信息给开发者,所以,对于整个流程的三个步骤:在某个渠道点击下载链接并跳转到App Store —> App Store内下载App —>用户激活App,这整个过程能获取到的信息的多少。取决于苹果开放了多少。

现在市场上大概有以下三种方式:

IOS— IDFA

流量渠道追踪全解析

通过IDFA进行追踪:IDFA 的全称是 Identifier for Advertisers ,即广告标识符的含义,这是苹果专门给各广告提供商用来追踪用户而设的标识。这个方案一般用在App里面打开下载链接这种推广方式。Gooogle Analytics是通过IDFA去跟踪的,通过非APP投放广告也是可以跟踪到的。

基本的方案是,媒体的App(例如微信,这里就是媒体1,2,3),会详细记录哪个IDFA点击了待推广App(例如)的链接(或是在微信中嵌入SDK去记录),而聚美本身,也会记录具体的哪个IDFA激活了聚美App,两者都将记录下来的IDFA上传至指定的服务器,进行对比,即可确定下载来源。在用户不重置系统,不还原广告的情况下,这种方式精准度比较高。网页不支持这种形式。

IOS— Cookie

 流量渠道追踪全解析

基于Cookie的方式,iOS 9中新增的SFSafariViewController,这个类的API允许在app内打开一个safari浏览器,而不是一个app内部的webview。这个app内的safari和外面系统的safari是同一个,共享同一个沙盒,可以操作同一个Cookie,也就是说它可以跨App与Safari实现共享Cookie。

基于SFSafariViewController控件,当用户在App中通过它打开渠道页面时,我们可以将渠道信息写入Cookie中,并设置生效时间。当用户安装并激活 App后,再次使用SFSafariViewController上报激活信息,同时将Cookie中的渠道信息上传,通过匹配,便可确定下载来源。由于渠道信息保存在设备本地,因此匹配是100%准确的。

但是基于SFSafariViewController这种方式也有一定的弊端:首先,这个方案只能支持iOS9及以上版本的设备,但覆盖了绝大部分用户,此外,对于目前业界主流的一些推广渠道,如微信、朋友圈,它们尚未在App中使用SFSafariViewController控件访问网页,因此这部分渠道也无法使用精准匹配的方案。

IOS— 模糊匹配

流量渠道追踪全解析

模糊匹配,点击下载链接,会跳转到appstore页面,这个过程会触发一个服务端的请求,服务器来记录这次点击的设备信息,包括ip地址、机型等。同时,被推广App这边,也可以记录用户激活App时机器的一些基本信息,并上传至服务器。结合下载和激活的时间差,再结合设备的IP地址和机型等信息,大概可以模糊地识别出同一个用户先点击了下载链接,再激活了App,从而确定下载渠道。这种方式的精确度取决于前后两次数据收集的完成程度和算法。

市面上的做法有的是上述三种方式单一出现,有的是两两组合,总之不管是通过哪种方式,这都是我们想象出来的间接的方式,只能说是尽量的去接近准确,但不能做到100%准确。
越狱的。参考Android的内嵌ID/渠道打包

 

(4)各自优缺点和方案选型

下面来看看各种跟踪方式的优缺点:

流量渠道追踪全解析

Google Play的UTM跟踪方式是非常精准的,缺点是做国内市场的应用不适用。

国内应用市场一般是采用渠道包的形式,缺点是只能跟踪到应用市场级别的数据,不能继续细分

对于IOS而言。

IDFA的准确度是非常高的,但是用户可能会关闭IDFA权限,重置系统、还原广告,数据会丢失

cookie的准确度也是很高的,但是IOS9以上适用,微信公众号广告、朋友圈广告仍然无法实现追踪

模糊匹配,这的很多厂商都在使用的一种方式,都强调倒高识别率,但是这个严重更依赖于两次收集的数据与算法,

一般来说数据会是idfa,ip user agent等信息,基本上,按优先级来说,第一个信息就能够匹配掉很高的比例了,收集多一个字段的信息,能够匹配更多,如idfa已经能够匹配八成的用户了,如果你用算法,可能是9成,也可能是6成,这个看你算法选型和调参的能力的,对于大部分人来说,这个是黑匣子的,即使第三方工具只是做了一个简单的优先级去匹配,然后对完宣称通过大数据,人工智能的方式去匹配,你也不知道的

下面看看几个工具的采用的跟踪方式,下面的数据主要是通过官方网站去找的,可能存在部分工具已经对跟踪方式左右优化调整的了,只是作为参考。

google analytics 采用referral和渠道包的方式,两种方式都有,所以国内也是可以用的,IOS的话是采用IDFA的方式

Adobe Analytics的 安卓端的没找到,苹果端口采用模糊匹配的形式

Umeng的,安卓采用渠道包,ios采用模糊匹配

growingIO 安卓是采用imei,苹果的话是优先采用IDFA,如果这个为空就采用模糊匹配.

诸葛io 安卓采用的是渠道包,苹果的话有限采用idfa,其次是IDFv,IDFV是提供给APP开发者的唯一标示。

神策的话,安卓采用渠道包方式,苹果的话是采用Cookie和模糊匹配的形

可以看到后面的三家,在ios的跟踪上都是采用两种方式的节奏,尽可能的去匹配准确,具体效果怎么样,只有它们知道了。

你要问哪种哪种比较准确,我也不知道,我只能说,目前各个第三方工具爆出来的数据,很多是公关数据,就高不就低的

 

特殊类型流量(动态流量)来源的追踪

动态流量主要是在投放程序化广告、Ad-Network、AFF的时候,不能提前预知流量来源于哪个域名,如投放程序化广告的时候,根本就不知道下一次广告来自于哪个域名,如可能来源于A.com、B.com、C.com……所以不可能提前就设置好UTM参数去跟踪,因为UTM中Source是要填来源于哪个域名,不懂UTM怎么用的可以看:渠道流量标记(UTM)

如我的着陆页是:https://www.ichdata.com

做程序化广告可以添加medium和Campaign:https://www.ichdata.com?utm_medium=cpc&utm_campaign=summer-sale

但是不知道来源于哪个网站的,所以Source为空

其实还是可以实现动态参数的跟踪,拿到该域名,这里讲的是通过Google Analytics来跟踪,有两种方式来实现:

  • 方式一:通过Referral获取来源于哪个域名,用标准UTM格式重写网页地址
  • 方式二:通过Referral获取来源于哪个域名,通过网址获取其他广告参数,覆盖Source、Medium和Campaign字段

方式一

原理:通过Referral获取来源于哪个域名,用标准UTM格式重写网页地址,实际上Google Analytics接收到的页面地址就是重写后的了,是标准UTM格式,从而实现跟踪动态流量。

这种方法是不规则站内搜索跟踪的变形,有兴趣可以看看不规则站内搜索跟踪的实现方法:https://www.ichdata.com/use-google-tag-manager-for-site-search-tracking.html

实现过程

下面来看看具体的实现过程:

假设我现在投放的着陆页的URL是这样的:

https://www.ichdata.com?utm_medium=cpc&utm_campaign=summer-sale&tt=change

现在我需要获取来源于哪个网站,获取来源网站的域名,并添加到utm_source上面去。

在Google Tag Manager中创建一个变量,命名为Source作如下设置:

流量渠道追踪全解析

这个就是获取流量来源的域名了。

然后再获取其他的UTM参数,这里需要获取Medium和Campaign。

创建第二个变量,命名为Medium,做如下设置:

流量渠道追踪全解析

创建第三个变量,命名为Campaign,做如下设置:

流量渠道追踪全解析

创建一个触发器,命名为Change Page URL,然后做如下设置:

流量渠道追踪全解析

tt=change是动态流量的标识,着陆页上带有这个的就是动态流量,需要改写URL的。

最后来配置Tag的了,创建一个Tag命名为标准UTM重写URL,然后做如下设置:

流量渠道追踪全解析

主要就是在Field Name中设置Page,Value就是标准化UTM参数,去覆盖Page这个字段,在Google Analytics中看到的就是标准化的UTM页面了。

还需要注意触发器是Change Page URL,只有带有tt=change动态流量的标识才会改写URL。

做到这里,还需要设置一步,就动态流量的页面排除出Google Analytics的基础跟踪,将触发器Change Page URL排除掉,不然会发送两次的:

流量渠道追踪全解析

方式二

原理:通过Referral获取来源于哪个域名,通过网址获取其他广告参数,覆盖Source、Medium和Campaign字段,这里的做法是直接覆盖UTM的每个字段。

实现过程

下面来看看具体的实现过程

大部分的设置是跟方式一是一样的,只不过在创建Tag后的设置不一样,我们这里直接将创建Tag的设置。

创建一个Tag命名为重写URL,作如下配置:

流量渠道追踪全解析

在Field Name中直接设置Source、Medium和Campaign。如果是动态流量,就自动获取值覆盖过去。

在Google Analytics的基础跟踪将触发器Change Page URL排除掉,不然会发送两次的:

流量渠道追踪全解析

这样就实现了动态流量的跟踪,做程序化广告的时候就可以知道流量来源于哪个域名,可以从域名角度分析动态流量的质量情况。

 


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址