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

Photo of author
Written By CMO

跳出率的科學分析
跳出率的科學分析

跳出率,英文叫做“Bounce Rate”,是網站分析中最基本且相對有效的指標。所謂跳出率顧名思義就是跳出的比率。怎樣定義一個跳出呢?

用戶來到你的網站,什麼都沒做就離開了。什麼都沒做的意義在於沒進行閱讀,沒進行影片播放,沒點擊下一頁,沒進行任何交互活動。

從概念上來說這是完美無瑕的,也就是說“用戶對你的內容、產品、服務不感興趣”。要么你真的展現了你糟糕的一面,要么他們要找的不是你所提供的內容、產品、服務。對於這個非黑即白的指標,在其背後實質上水很深,值得單獨開貼來講。本週,HubSpot One就和你一同探討一下跳出率,以及計算跳出率更好的方法。

科學分析跳出率的理念

首先我們解釋下跳出率和離開率(Exit Rate)的區別,跳出率是針對一個網站或者一個著陸頁而言的,所謂“見光死”。而離開率是針對每一個網頁上的訪客不再進行訪問離開這個網站的比率。這個網頁可能是“感謝頁面”,用戶完成了一次交易自然關了這個頁面離開這個網站。一次跳出是不可能存在兩個頁面訪問的。

在“見光死”這個問題上對數字行銷而言可以反映很多問題,可能是下面一條或多條:

  • 網站廣告投放對像不符合你的用戶特徵。
  • 網站打開太慢,訪客直接關了。
  • 廣告發布商用彈窗、機器人、誘騙點擊等不正常手段給你推送流量。
  • 網頁上沒什麼好互動的,極端情況下連一個鏈接都沒有。

在主流的網站分析工具中,通常我們是以統計PageView為主的,如果一次訪問只有一次PageView那麼這次訪問就是一次跳出。 PageView的統計在載入頁面時進行。因此除了上述原因之外還有一些技術原因,訪客其實並沒有“見光死”,但是被計算成了彈出:

  • 用戶觀賞影片
  • 用戶通過Ajax技術與你網站進行互動
  • 用戶閱讀了你的文章內容

上面枚舉的是一些不存在第二個訪問頁面時的跳出。如果我們不好好研究處理這些問題,我們非常容易對網站的運營情況形成誤判。

  • 訪客可能看完了整個影片而且非常享受
  • 訪客點了個贊,但並沒有離開這個頁面
  • 訪客可能閱讀完了文章的內容並決定非常有用

在這些情況下,我們就應該對網站分析工具的使用進行優化。HubSpot One曾經專門發布過如何通過事件跟踪影片的播放的教程。你也可以對按鈕添加事件來避免跳出。傳統的添加事件的方法在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)。你也可以用差值更精確地計算用戶滾動次數。希望這篇文章能為你拓寬思路,更好地理解跳出率這個概念。