如何通过URL进行数据采集?谷歌UTM参数及阿里SPM介绍

 今天和大家聊聊URL中,关于数据采集的秘密。

好久没有和大家分享关于数据采集相关的内容了。

关于数据采集,之前分享过《埋点的事件模型入门》、《埋点文档如何撰写》、《AB测试的基础概念及应用》等。

今天继续聊聊和数据采集相关,但是和埋点有所不同的采集方式。

01—常见的URL参数

URL,大家应该都不陌生了。学名是统一资源定位符(Uniform Resource Locators),通俗点理解就是网址。

比如下面这个:

对,这是大家熟悉的URL。前面是域名,后面通过几级地址直达目标页面。

但是,细心的小伙伴,有没有发现,我们经常看到的URL是这个样子:

为啥这个URL这么长呢?

对,这就是今天的主题内容,URL中的参数。

咱们还是以上面的这个淘宝链接举例。链接中其实包括了这么几部分内容:

URL:即淘宝商品详情页的网址;


参数1:这是今天的重点,是数据追踪参数,用来标识采集信息;


参数2:这是标识itemcode的查询参数。

其中URL和参数2,是必不可少的,参数1是可以更改、甚至删除的。我们把参数1删除以后,当前页面是不会发生任何改变的。如下对比:

但是如果将参数2或者URL改变,当前页面肯定就不是当前页面了。

为啥呢?因为这个参数是业务参数,而参数1是用于做数据追踪、数据采集的。既然是用于数据采集,当然更改删除,不会影响页面的响应。当然了,会影响数据的采集,只不过我们用户层面感知不到了。

上面只是用淘宝为例,不同网站、不同公司的URL规范肯定是各不相同(甚至千差万别)。但是总体上,URL上的参数可以分为这么两类:追踪用的参数和业务查询参数。

而大公司的相对较规范,逻辑差不多。小公司就各显神通了。当然原理是一样的原理,只是别人难以理解奇奇怪怪的数据标注。

比如京东首页:

这里面的一堆参数和淘宝的明显不一样。

和当当的比,更不一样……关于参数的具体含义,我们本文后面会展开,以谷歌和阿里为例,看一些通用的规范。

02—URL参数的用处

上文我们提出了,URL中添加参数的一个作用,是为了做数据采集用的。那具体是为了采集啥数据,有啥作用呢?

(1)明确站外流量来源

我们从一个例子切入。

朋友们可以打开百度,随便输入一个关键词,比如【京东】。

发现了嘛,top3搜索结果都是京东的首页,且都是官方标识。点击后,也都是打开了京东首页。

但是,通过不同链接打开的首页,是否真的没有任何区别呢?答案是否定的。有区别,且区别很大。

第一个区别是,前两个链接都是广告,点击进入其实都是扣了广告主费用的;其中展现1是品牌专区广告,展现2是搜索广告。展现3是正常的搜索呈现。

第二个区别就是,咱们今天的主题:从不同链接点击的URL是不同的。

展现1的URL:

https://www.jd.com/?cu=true&utm_source=baidu-pinzhuan&utm_medium=cpc&utm_campaign=t_288551095_baidupinzhuan&utm_term=0f3d30c8dba7459bb52f2eb5eba8ac7d_0_3d2f2c6b233244f581d0cc09d744c993

展现2的URL:

https://www.jd.com/?cu=true&utm_source=baidu-search&utm_medium=cpc&utm_campaign=t_262767352_baidusearch&utm_term=211269852825_0_e528ef5f5d0d4ea38b5946f7c91f9836

展示3的URL:

https://www.jd.com/

是不是差别还挺大?

所以,三个链接都是跳到首页,怎么区分开哪些访问是通过品牌广告、哪些访问是通过免费的流量进入呢?是的,就是通过链接中的参数,进行区分。

大家可以详细看看展现1和2的参数,都有个utm_source=***,其中展现1(百度品牌专区广告)是utm_source=baidu-pinzhuan,展现2(百度搜索广告)是utm_source=baidu-search。通过拼音大约能猜到,这个就是区分具体来源的参数了。

所以,是不是可以大胆的猜测一下,其他的参数,也代表了类似的含义呢?对的。我们第三节详细展开utm参数的介绍。

(2)追踪站内位置来源

其实明白了站外的流量追踪,对于站内的部分,就很好理解了。

我们拿当当为例。当当网商详页有下面的三个推荐模块:

三个模块各打开一个商详页:

推荐模块1(浏览此商品同时浏览):

http://product.dangdang.com/25308985.html#ddclick_reco_reco_alsoview

推荐模块2(经常一起购买的商品):

http://product.dangdang.com/29292067.html#ddclick_reco_reco_buytogether

推荐模块3(购买此商品还购买过):

http://product.dangdang.com/29288042.html#ddclick_reco_product_alsobuy

我们看到,当当网对于新开的商详页,也做了参数标识。标识的内容,是具体模块,用以统计站内流量的来源情况等。

但这里只是精准到了模块,没有精准到该模块的第几个位置,这是不够精细的。

(3)其他数据追踪

除了以上两类常见的追踪类别,有的公司还会把其他一些内容也加入到URL追踪参数中,比如搜索推荐算法的版本等等。这里就不展开了。

03—谷歌UTM与阿里SPM

上文我们提到了京东的站外追踪以及当当网的站内位置体系。这里分别以谷歌和阿里为例,详细介绍一下两个公司在站外和站内的追踪实践。

(1)谷歌UTM参数

UTM,全文Urchin Tracking Manager,是用于区分站外流量来源的参数标记方法。主要有五个参数:utm_source、utm_medium、utm_campaign、utm_term、utm_content

其实上面介绍京东的时候,有看到utm相关的一些参数,其实应该是对标了谷歌来设置的。下面,我们看一下谷歌的UTM标记规则。

大家可以对应上文中京东的链接看一下:

https://www.jd.com/?cu=true&utm_source=baidu-search&utm_medium=cpc&utm_campaign=t_262767352_baidusearch&utm_term=211269852825_0_e528ef5f5d0d4ea38b5946f7c91f9836

通过这样的一些列标记,就很清楚的可以知道某一次用户访问是来源于那个流量、哪次广告投放、哪个关键词等信息。便于投放效果优化及相关的分析。

感兴趣的朋友,可以试试在搜狗搜索里搜索【京东】,看一下URL的标记参数。

(2)阿里SPM体系

另外,再看看站内追踪的例子。我们了解一下淘宝的spm体系。

其实和UTM很类似,阿里的spm主要是用于追踪具体的站内位置,总共分了四级,有点类似省市区县这样的层层深入的方式,可以标记到具体的展位。

04—URL链接生成及应用过程

最后我们分享一下从URL参数添加到最终数据统计的简要产品过程吧。

(1)参数生成及添加

首先第一步,是含追踪参数的URL的创建。

最原始的方式,就是通过手动(或者Excel拼接)添加追踪代码,但这种手动的方式很容易出问题。一方面,做广告投放的投手们很多对技术不太懂,不理解追踪参数的意思,经常填错;另一方面,由于是URL,对于参数、符号、文本都有一定的格式要求,如果不按照规范来,也是很容易出问题的。

一旦追踪码写错了,那投出去的广告,就很难追踪相关的效果了。

因此,在手动的基础上,很多平台、公司会自动生成追踪链接,用户在产品化的界面中填写内容,系统自动生成符合规范的批量的URL,用户只需要将URL复制粘贴就行,极大提升了正确率。

另外,补充一下。为了数据安全以及简化参数,很多信息往往会以代码代替原文。比如关键词,在自己系统中维护一个关键词list对应的id,在参数中只写id。这样别人就不知道我投了啥关键词了。

而对于站内的位置标识而言,会通过系统化的方式调服务或者前端拼接参数生成点击链接。

(2)URL投放

对于站外投放而言,有了带追踪参数的URL,接下来就是投放了。把URL填充在相关的广告投放平台,即可。

这样,用户通过站外广告带来的点击,将都会在URL上有所标识。

(3)浏览日志记录

用户发生点击以后,打开了投放落地页,那么可以通过自己的日志采集收集每次浏览日志。

每条浏览记录都是按照追踪方案进行了标识。

(4)数据统计

最后基于日志进行数据清洗、结构化处理,提取相关信息,落成结构化表格,便于后续的分析。关于具体的数据处理过程,后续有机会继续分享。

对了,最后一个问题,为啥要通过URL追踪数据而不是埋点呢?大家可以思考一下,哈哈。

关于通过URL进行数据采集及追踪,就先分享这些。感谢关注!

-END-

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注