写在前面,本文是根据触脉的公开课目录按照本人理解写的,如果有理解错误的,还请指出。undefined
1、理解Google Analytics的数据层级


undefined
        GA的数据层结构如图所示,User-Session-hits,最小的级别是hit,hits是促使系统将数据发送给 Analytics(分析)的一种互动。包含:
页面跟踪匹配
事件跟踪匹配
电子商务跟踪匹配
社交互动匹配
       每当用户的行为(例如,用户在网站上加载网页或在移动应用上加载屏幕)触发跟踪代码时,Analytics(分析)就会记录该活动。系统会将每次互动打包为一项匹配发送至 Google 的服务器。
       如何将hits和不同的用户匹配起来呢?

a、cookie和用户识别
            为让 Google Analytics(分析)能够确定两个不同匹配是否属于同一用户,必须将与特定用户关联的唯一标识和每个匹配一同发送。
            analytics.js 库通过客户 ID 字段来完成此任务,客户 ID 是随机生成的独一无二的字符串,是一串数字,生成后的 ID 存储在浏览器的 Cookie 中,这样即可在用户和其访问过的相同网站之间建立关联。
            默认情况下,analytics.js 使用一个名为 _ga 的第一方 Cookie 来存储该客户 ID,但该 Cookie 的名称、网域和有效期均可自定义。
           analytics.js 能够借助 Cookie 跨浏览器会话识别用户,但无法跨浏览器或跨设备识别不同浏览器或设备上的用户。如果您的网站拥有自己的身份验证系统,则除了客户 ID 之外您还可以使用用户 ID 功能,从而更准确地在用户用于访问您网站的所有设备上跨设备识别用户。
            每次当匹配发送至 Google Analytics(分析)时,Cookie 过期时间都会更新为当前时间加上 cookieExpires 字段的值。这意味着,如果您使用默认的 cookieExpires 时间(两年),而用户每个月都会访问您的网站,那么他们的 Cookie 永远都不会过期,也就是hit每次都会包含客户ID+时间,客户ID就是用于识别用户的了

           但是客户ID无法法跨浏览器或跨设备识别不同浏览器或设备上的用户,也就是同一个用户切换浏览器或设备的时候,Google analytics会重新生成一个客户ID,将其当成一个新用户,这个是我们不愿意看到的,如果要区分用户唯一标识,这时就要用到Userid,借助 User ID,可以使用一个代表用户的固定不变、独一无二的非个人身份 ID 字符串来跨设备分析会话组。
          客户ID(client ID)和Userid的差异如下:
undefined

b、流量来源和会话切分
       流量来源简单说GA的渠道流量识别具有一定的顺序和优先级,整体的顺序是:
1、ADwords/DoubleClick/广告参数
2、UTM参数
3、自然搜索
4、社交流量
5、推荐流量
6、直接流量
7、其他
     详细资料请参考:https://support.google.com/analytics/answer/6205762?hl=zh-Hans

      Session切分:会话是指在指定的时间段内在您的网站上发生的一系列互动,默认会话是30min,一个会话结束开始新的回话通常有三种情况:超过30min产生新会话;午夜过12点产生新会话;用户通过一个广告系列来到网站,随后离开,然后通过另一个广告系列返回网站,会产生新会话。
1、超过30min产生新会话
undefined
2、午夜过12点产生新会话
undefined
3、广告系列变更
undefined
      这种情况通常会改变用户的sources/medium等字段,也就是会产生一个用户对应多个source的情况

c、交互行为和匹配类型
       促使系统将数据发送给 Analytics(分析)的一种互动。常见的匹配类型包括页面跟踪匹配、事件跟踪匹配和电子商务匹配。每当用户的行为(例如,用户在网站上加载网页或在移动应用上加载屏幕)触发跟踪代码时,Analytics(分析)就会记录该活动。系统会将每次互动打包为一项匹配发送至 Google 的服务器。以下为匹配类型示例:
页面跟踪匹配
事件跟踪匹配
电子商务跟踪匹配
社交互动匹配

d、Google Analytics的限制和配额
          每个媒体资源(Property级别)每月 1000 万次匹配,hists在5000W~1亿的时候数据准确度还可以,再继续大的话建议做hits剥离

          Universal Analytics 每个用户每天 20 万次匹配,每个会话 500 次匹配,不包括电子商务(商品和交易匹配类型),超出上述任一限制,系统将不会处理相应会话/日期的超出部分匹配
            其余参考:https://developers.google.com/analytics/devguides/collection/analyticsjs/limits-quotas

2、Google Analytics的基础代码

a、将analytics.js添加到网站

       GA代码部署
       GTM部署

b、创建跟踪器
          跟踪器对象(也称为“跟踪器”)指的是可以收集和存储数据并将这些数据发送给 Google Analytics(分析)的对象(VIEW_ID)

create 方法:analytics.js 库提供了创建跟踪器的各种方式,最常见的方式是使用 create 命令,并将 tracking ID 和 cookie domain 字段作为第二个和第三个参数传递给该命令:
ga('create', 'UA-XXXXX-Y', 'auto');

ga('create', 'UA-XXXXX-Y', 'auto');

给跟踪器命名

ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');

在未设置 name 字段的情况下创建的跟踪器也称为“默认”跟踪器。默认跟踪器具有内部名称“t0”。

c、获取和创建跟踪器数据
https://developers.google.com/analytics/devguides/collection/analyticsjs/accessing-trackers?hl=zh-cn

d、向Google Analytics发送数据
https://developers.google.com/analytics/devguides/collection/analyticsjs/sending-hits?hl=zh-cn

       根据个人经验而言,通过GA创建跟踪器是一种低效的,通过GTM配置更为简洁,详细原理看前面,这里只介绍如何通过GTM设置多个跟踪器并想GA发送数据
undefined
undefined
       直接在高级配置-跟踪器设置跟踪器名字,结尾必须以Tracker,这样就实现了向不同的GA发送数据

3、基础代码扩展

a、增强链接归因
        增强的链接归因功能会自动使用 link 元素 ID 区别单个页面上指向相同网址的多个链接,从而提高网页内分析报告的准确性。简单说就是A页面上有多个位置可以到达B页面,做个区分而已,实际上用处不大
https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-link-attribution?hl=zh-cn

直接说GTM使用
undefined
   要设置的字段中选择linkid,设置为true即可

b、展示广告功能
          Analytics(分析)广告功能集合了利用 Google 广告 Cookie 的多种功能,借助这些功能可以:
根据具体行为、受众特征和兴趣数据创建再营销受众群体列表,并将这些列表共享到 AdWords
在 Analytics(分析)报告中使用受众特征和兴趣数据
根据受众特征和兴趣数据创建细分
undefined
         这个功能基本被弱化的,基本不用

c、重命名ga对象
直接GTM调整,不重复

d、部署多个跟踪器
参考2.d

e、启用UserID功能
       User ID可让您将多个设备和不同会话中的互动数据与唯一ID相关联。
           Analytics(分析)会将每个唯一的User ID视作一个唯一身份用户,这样您可以在报告中获取更准确的用户数。如果向Analytics(分析)发送一个ID以及该ID在多个会话中的相关数据,您还可以将各项用户操作置于相应的环境中,并开始分析与用户的持续关系。
undefined
      一直on下去就启用了,会有一个新的view,我一般命名为User View,原始视图命名为Main View

可以将自己的身份验证系统生成的唯一ID作为User ID的值发送到Analytics(分析)。在分配唯一ID时发生的任何互动(例如链接点击、网页或屏幕导航)都可以通过User ID发送并关联到Analytics(分析)。详情请看:Google Tag Manager实战指南:如何将GA的userid与自己的CRM或后台数据打通

f、提高数据准确性
1、用测量协议的邮件跟踪的数据传递到独立的view,避免new user数量虚高
2、自定义报告如果抽样,可以将事件区间缩短为天,可以用google sheet


4、Google Analytics代码部署进阶

a、虚拟页面
         主要会是单页应用中使用,需要端主动push event,当应用动态加载内容,并更新地址栏中的网址时,存储在您的跟踪器上的数据也应更新。要更新跟踪器,请使用 set 命令,并提供新的 page 值:

ga('set', 'page', '/new-page.html');

在设置了新的 page 值后,所发送的所有后续匹配将使用新值。要记录网页浏览,请在更新跟踪器后立即发送网页浏览匹配。

ga('set', 'page', '/new-page.html');
ga('send', 'pageview');

b、event事件
直接举个实际案例,注册表单优化:Google Tag Manager实战指南:注册表单优化

c、社交互动
就是页面动发送事件的过程,下命令向 Google Analytics(分析)发送一个社交互动匹配,表明用户针对网站 http://ichdata.com 点击了 Facebook “赞”按钮。

ga('send', 'social', 'Facebook', 'like', 'http://ichdata.com');

注意,在使用所有 send 命令时,通过便捷参数传递的字段也可以通过 fieldsObject 指定。上述命令可改写为:

ga('send', {
hitType: 'social',
socialNetwork: 'Facebook',
socialAction: 'like',
socialTarget: 'http://ichdata.com'
});

d、用户计时
没实际用过

e、跨网域跟踪
Google Tag Manager实战指南:用GTM做跨站跟踪
Google Tag Manager实战指南:多站显示跨域域名

f、自定义维度或指标
直接举个实际案例,将全局变量转成GA的维度:GTM中将全局变量转成GA的维度

5、电子商务追踪(没实际用过)

a、电子商务与增强型电子商务
b、站内广告展示与点击
c、站内列表展示与点击
d、产品详情浏览
e、产品加入/移除购物车
f、产品结账流程
g、交易及退款

6、测量协议

a、测量协议的使用场景
       测量协议主要是用在页面没有ga代码的情况下,可以用于邮件跟踪,电商平台页面跟踪

b、发送必须值
     在页面中添加如下代码:

<img src=”http://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXX-YY&cid=*|UNIQID|*&t=event&ec=email&ea=open&el=*|UNIQID|*&cs=newsletter&cm=email&cn=062413&cm1=1″ />


通过这段代码你就可以把相应的数据发送给GA

其中有四个是必须参数

v=1 // Version.
&tid=UA-XXXXX-Y // Tracking ID / Property ID.
&cid=555 // Anonymous Client ID.
&t= // Hit Type.

c、发送常见匹配类型
         常见匹配类型就是hits type的类型,也就是&t= ,可以是pageview,event,社交和电子商务

d、批量发送单个请求中多次匹配
         就是想多个view发送匹配,往后面加多一套参数

实际案例:用Measurement Protocol协议监测邮件打开率

 

版权声明:除非注明,本博客均为GA小站的原创文章,转载或引用请以超链接形式标明本文地址,请尊重版权,谢谢合作!(作者QQ:823138318)