访问次数是网站分析中一个非常重要同时也是非常基础的指标,不同的网站分析工具对于访问次数的定义和计算可能差别很大。GA(Google Analytics)是目前世界上使用最广泛的网站分析工具,那么我们一起来看下GA 是怎么计算访问次数的吧。

一、会话(访问)的定义

The period of time a user is active on your site or app. By default, if a user is inactive for 30 minutes or more, any future activity is attributed to a new session. Users that leave your site and return within 30 minutes are counted as part of the original session

以上是GA 帮助文档中对于Session 的定义,在GA中,Sessions(英文版)对应简体中文版就是会话次数这一指标。

由上述定义可以看到,在GA 中,一次会话被认为是一个用户在网站或者app 上活跃的那段时间。默认情况下,如果一个用户在30min或者更长的时间内都是不活跃的,那么在30min之后这一次会话将结束。如果用户在30min内重新回来,那么还会被认为是原来这次会话。

另外,GA 中支持对session时长的自定义,最短可设置为1分钟,最长可设置为4小时。因为GA是支持网站分析和app分析的,所以这里的定义有app这个概念。

网站分析中的会话和访问次数其实是同一个概念,实际用哪个描述更为合适的时候就用哪个。需要注意的是,如果一次会话开始后,用户与网站(或者app)有了互动,那么就从这个点开始,继续往后推移30min作为session结束期限。

最后这里,用户在30min内重新回来也同样需要注意,因为这里指的回来并不是用户从某个新的渠道再次来到这个站点,而是用户从原来的渠道回到这个站点。下面讲session 计算的时候你就会发现这个差别。

二、访问次数(会话数)的计算

一个用户来到网站,那么一次新的访问产生了,访问次数自然加1. 但是这次访问什么时候结束呢?在GA 中,访问结束包括两种方法:

  • 基于时间的到期;
  • 基于Compaign (traffic source)的改变;

依然引用下GA 帮助文档中的说法:

There are two methods by which a session ends:

  • Time-based expiry (including end of day):
    • After 30 minutes of inactivity
    • At midnight
  • Campaign change:
    • If a user arrives via one campaign, leaves, and then comes back via a different campaign.

以上的意思就是说,(以下引用该文档中文简体版)

访问结束的方式分为两种:

  • 在时间上到期(包括一天结束):
    • 访问者连续 30 分钟没有进行任何操作
    • 午夜
  • 广告系列变更
    如果您通过一个广告系列访问某个网站,接着离开,然后通过另一个广告系列回到此网站

需要说明的是,连续30分钟没有进行任何操作,实质上指的是连续30min的inactive,即持续30min 用户与网站无interaction。GA 中,用户与网站interaction的方式有很多,不仅仅是pageview和event,还包括transaction、item等类型的hit被发送到GA的收数服务器。

而GA 帮助文档说广告系列的变更会导致前一个session的结束进而开启一个新的session,实际上也是不准确的,更准确的说法应该是traffic source的变更。因为根据帮助文档下面的详细说法,如果当前session还未过期,用户通过search engine或者referral website再次来到网站上时,前一次session将结束,并将开启一次新的session。当然,如果用户是通过一个新的compaign再次来到网站,那么也会开启一次新的session。而如果用户第二次的source为direct时,当前的session将不会结束。

为什么GA 要对上述过程设置如此复杂的规则?为什么设定的规则是这样的而非其他?

之所以要设定好这些规则是为了归因分析,而目前GA 设定的这些规则相对来说是十分科学合理的。

试想,一个用户如果通过搜索引擎(付费或者非付费的方式)来到该站点,存为书签离开了网站。在30min内,再次通过书签访问了这个网站,接着产生了转化行为。显然,用户这次的转化应该归功于session 刚开始的那个来源,即来自搜索引擎。

同样的,如果一个用户通过A 广告来到网站,30min内又通过B广告来到了网站,然后产生了转化行为。因为GA 中归因采用的是last click模型,如果用户通过B广告来到网站时,当前归属于A广告的session不结束,那么这次转化行为将归属于A广告,从用户实际是通过B广告到来后才产生转化的角度来看,将这次转化归因于A广告显然是不合理的。

类似这样的场景,可以大胆设想下,看跟GA 实际访问次数的计算规则是否相符,同时也能更加深刻地理解GA 访问次数的计算设置如此规则的原因。

Universal Analytics 和Google Analytics 在对待referral website不一样

值得一提的是,以上规则仅适用于升级后的Google Analytics(即Universal Analytics),之前的Google Analytics对于当前session未结束时有来自referral website的访问,并不会导致当前session的结束并开启新的session。这主要是基于两个考量:

  • 其一是不少网站使用了第三方支付,用户在支付过程中必将跳转到一个第三方网站(referral website),支付完成后再回到原来网站。如此过程显然不能使当前session结束并开启新的session。
  • 其二是网站可能存在某些页面未添加GA 代码的情况,如果用户访问过程中经过这样的页面,并再次进入加了GA 代码的页面,如果结束当前session开启一次新的session,必将导致自我引荐覆盖原来session的来源。

三、扩展阅读

要读懂GA 中的各个报表,清楚访问次数的定义和计算方法是十分必要的。之后我还将介绍更多有关GA 的内容,现在推荐下GA 帮助文档和开发者文档部分一些有关访问次数的资源吧(打开页面后右下角可切换到简体中文):

1. GA中session的定义,见Glossary - Session

2. GA 中计算访问次数的方法,见How a session is defined in Analytics

3. GA 中的Request Type,见How GIF Requests Are Classified

6 Thoughts on “你真的清楚GA计算访问次数的方法?

  1. 单页应用,点击广告(广告有待标识的),这样就生成一个会话。我这边需要到别的第三网站登录,使用window.location=xxxurl,登录成功后重定向回到自己的网站,这样就有了两个会话了,目标或者转化率就归到第二个来源了。这个问题这么解决呢,谢谢

  2. 我想问下,为什么GA后台的数据和yahoo后台的点击数不同,GA为多出几十个数,GA是以点击进去页面的次数来计算点击数的还是以IP地址来计算的,谢谢

  3. 假设,30分钟内,都是direct的方式,我进入一个网站,关闭页面,然后再打开,session会增加吗

  4. Pingback: Jeff Show - 数据科学笔记 | All About Data Science

发表回复

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

Post Navigation