rp_bouncerate_tiaochulv-510x228.jpg

Posted by & filed under 外贸, 站长心得.

科学分析跳出率的理念和方法

跳出率的科学分析

跳出率的科学分析

跳出率,英文叫做“Bounce Rate”,是网站分析中最基本且相对有效的指标。所谓跳出率顾名思义就是跳出的比率。怎样定义一个跳出呢?

用户来到你的网站,什么都没做就离开了。什么都没做的意义在于没进行阅读,没进行视频播放,没点击下一页,没进行任何交互活动。

从概念上来说这是完美无瑕的,也就是说“用户对你的内容、产品、服务不感兴趣”。要么你真的展现了你糟糕的一面,要么他们要找的不是你所提供的内容、产品、服务。对于这个非黑即白的指标,在其背后实质上水很深,值得单独开贴来讲。本周,极诣就和你一同探讨一下跳出率,以及计算跳出率更好的方法。

科学分析跳出率的理念

首先我们解释下跳出率和离开率(Exit Rate)的区别,跳出率是针对一个网站或者一个着陆页而言的,所谓“见光死”。而离开率是针对每一个网页上的访客不再进行访问离开这个网站的比率。这个网页可能是“感谢页面”,用户完成了一次交易自然关了这个页面离开这个网站。一次跳出是不可能存在两个页面访问的。

在“见光死”这个问题上对数字营销而言可以反映很多问题,可能是下面一条或多条:

  • 网站广告投放对象不符合你的用户特征。
  • 网站打开太慢,访客直接关了。
  • 广告发布商用弹窗、机器人、诱骗点击等不正常手段给你推送流量。
  • 网页上没什么好互动的,极端情况下连一个链接都没有。

在主流的网站分析工具中,通常我们是以统计PageView为主的,如果一次访问只有一次PageView那么这次访问就是一次跳出。PageView的统计在载入页面时进行。因此除了上述原因之外还有一些技术原因,访客其实并没有“见光死”,但是被计算成了弹出:

  • 用户观赏视频
  • 用户通过Ajax技术与你网站进行互动
  • 用户阅读了你的文章内容

上面枚举的是一些不存在第二个访问页面时的跳出。如果我们不好好研究处理这些问题,我们非常容易对网站的运营情况形成误判。

  • 访客可能看完了整个视频而且非常享受
  • 访客点了个赞,但并没有离开这个页面
  • 访客可能阅读完了文章的内容并决定非常有用

在这些情况下,我们就应该对网站分析工具的使用进行优化。极诣曾经专门发布过如何通过事件跟踪视频的播放的教程。你也可以对按钮添加事件来避免跳出。传统的添加事件的方法在Google Analytics中是:

_trackEvent(category, action, opt_label, opt_value, opt_noninteraction)

其中最后一个参数opt_noninteraction是问你是不是“别把这个事件当做一个互动”,这个参数默认是false,也就是说只要触发过一个事件,就不算跳出了。Universal Analytics里也差不多:

ga(‘send’, ‘event’, ‘category’, ‘action’, {‘nonInteraction’: 0});

我们只要附在onClick消息后就可以避免跳出。

那么第三种情况呢?用访客既没有点击,又没有和跳出访客有显著区别。实际上,还是有的。他们一通常会往下滚动阅读或者在触摸屏上往下拖。对于这部分用户如果我们处理得不好,那么我们的跳出率会受影响,平均浏览时间会受影响,页面停留时间也会受影响(因为后两者也是通过多个页面载入时间间隔来计算的。)

科学分析跳出率的方法

对于媒体网站的跳出率,我们计算的时候要以用户实际在页面停留的时间和互动为核心思想。具体有两方面表现:

  1. 访客在页面停留时间
  2. 访客是否有往下滚动页面的行为

在第一点,我们可以定义访客在页面停留30秒为一个界限。第二点我们可以定义访客在页面向下滚动两次为一个界限。具体的时间和滚动次数会根据你的页面内容、排版或其他因素自主确定。当满足页面停留时间大于30秒并且访客滚动超过两次时,我们把这次单页面访问记作非跳出访问

实际操作时,你可以用js来判断并推送事件给GA。我们本次介绍的是通过Google Tag Manager来实现。为了讲述方便我们用新版本的GTM。但是新版本的GTM仅支持英语和法语,也请读者包涵。

首先我们记录一下用户滚动的次数,为此我们新建一个变量NumOfScroll,这个变量会在数据层同步一个叫nos的数据层变量:

用于记录鼠标滚动次数的变量,触摸屏拖拽一样效果

用于记录鼠标滚动次数的变量,触摸屏拖拽一样效果

接下来我们需要写一段js脚本为此变量赋值。我们将脚本放在一个自定义的HTML标签中,然后在特定页面触发这个标签。这里我们要新建一个触发器(trigger)叫Articles,也就是说仅在文章页面上才这么做。详细做法如下:

仅在文章页面触发标签

仅在文章页面触发标签

由于GTM本身并不自带滚动监听器,我们需要自建一个。新建的HTML标签如下:

把滚动次数实时推送给数据层变量nos

把滚动次数实时推送给数据层变量nos

到此我们已经做了一半了,接下去需要一个计时器来计算页面停留时间。这里我们使用的是一个心跳(heartbeating)的概念,也就是每隔30秒我们会去查看一下页面是否滚动了。计时器的做法是新建一个触发器:

每30000毫秒推送一个gtm.timer30事件

每30000毫秒推送一个gtm.timer30事件

上面我们设置了最多跳10次,即300秒。那是我们认为大多数文章在300秒之内可以阅读完。至此我们已经完成两个条件,接下来就是判定和推送Google Analytics事件了。我们先来建立一个叫做Reading的触发器:

滚动次数大于等于2,每30秒触发一次Reading事件

滚动次数大于等于2,每30秒触发一次Reading事件

最后的收尾工作是建立一个叫做NoBounceReader的Universal Analytics标签,非常简单。触发条件只有一个,就是Reading:

此处要记得Non-Interaction Hit一定要选择false

此处要记得Non-Interaction Hit一定要选择false

剩下的就是将这个容器做成一个版本进行Debug测试了。

总结

本周我们重新定义了跳出率,用更加科学的方法来测算了访客跳出已经在页面上停留的时间。我们用了一个实例来实现这个效果,事实上这个例子还有许多可以改进的地方。如果你不需要非常精确的用户在页面上停留的时间,你也可以取消心跳(把limit设为1)。你也可以用差值更精确地计算用户滚动次数。希望这篇文章能为你拓宽思路,更好地理解跳出率这个概念。