使用 Google Tag Manager 進行智能滾動跟踪
已發表: 2020-01-23如果您使用的是 Google 標籤管理器 (GTM),則可以使用GTM 內置的滾動深度觸發器通過幾個快速步驟完成滾動跟踪,這使得這成為一項非常簡單的任務。 在過去幾年中多次實施此功能後,我們發現開箱即用的 GTM 觸發器有一些局限性。 出於這個原因,我們將分享一些您在自定義滾動跟踪時可能會覺得有用的技巧。
我們的方法肯定會為您提供更準確的滾動跟踪數據,使您能夠將跳出率等指標轉化為更有意義的指標,並且您將能夠真正衡量內容的質量。
背後的想法
當您擁有內容豐富的網站時,我們的定制解決方案特別有趣。 標準 Scroll Depth Trigger 的一個問題是它不關心頁面是長還是短。 如果您的頁面非常短,則可能在加載頁面時滿足所有閾值,這會導致大量 gtm.scrollDepth 事件被推送到數據層,即使用戶從未滾動過也會觸發您的標籤. 根據您在 GTM 中的交互點擊設置,這可能會降低您的跳出率。
由於沒有人願意手動瀏覽他們的網站並過濾短頁面和長頁面(然後在發布新內容時處於待機狀態),因此有一個更簡單的解決方案:我們使用自定義 Javascript 變量來自動測量長度的頁面,決定它是否有資格進行滾動跟踪——換句話說,“足夠長”——然後才會激活頁面的滾動跟踪觸發器。
步驟 1:配置自定義滾動深度閾值變量和触發器
要僅在未自動收集閾值的頁面上觸發 Scroll Tracking Tag,我們需要為 Trigger 設置一個條件,使其僅在頁面長度足以對您的跟踪有意義的情況下觸發。
在您的 GTM 容器中創建一個自定義 Javascript 變量,它應該如下所示(歸功於Simo Ahava )。 編輯以下變量以符合您的要求:

- maximumRatio :這是一個介於 0 和 1 之間的值,反映了瀏覽器視口高度和頁面高度之間的比率。 值 0.25 意味著最多 25% 的頁面在瀏覽器視口中可見,其餘的只能通過進一步向下滾動。
- verticalScrollDepths :這些是您可以為頁面設置的各種閾值進行跟踪。
- fallbackDepths :我們建議將其保留為 '101',這會在超過最大比率時為變量提供回退/默認值。
現在,將此變量 {{Custom JS – Vertical Scroll Depths}} 添加到滾動觸發器中的“垂直滾動深度”百分比字段,並在所有頁面上為“窗口加載”啟用它。
第 2 步:設置非交互命中
此參數有不同的設置,這些設置會影響 Google Analytics(分析)註冊事件命中的方式:
- 設置為false :默認情況下,當用戶觸發頁面上的事件時,這意味著他們正在與頁面交互,因此不計為反彈。 對於滾動跟踪,您應該謹慎處理此設置,因為它會將您的跳出率設置為接近於零。
- 設置為true :如果您根本不希望滾動事件影響您的跳出率,那麼這是適合您的設置。 但是,它也阻止了對用戶行為的任何更深入的了解。
- 自定義設置:如果您有一個頁面較長的內容豐富的網站,您可能需要區分“快速滾動”和參與的用戶。 對於更現實的方法,我們推薦此解決方案:例如,滾動超過 75% 的用戶被認為是有意義的。 通常立即到達的滾動深度(如 25%)作為非交互式事件發送到 Google Analytics。 這將使您更接近反映用戶真實意圖的跳出率。 為此,您需要設置變量 {{Custom JS – Scroll is Non-Interactive}}。 此函數中的變量 {{Scroll Depth Threshold}} 是一個內置變量,您可以通過勾選其框來啟用和選擇。

第 3 步:將它們放在一起
最後一步是設置 Google Analytics 事件標籤,它將我們的滾動數據發送到 Google Analytics。 有關分步說明,請訪問我們之前詳細描述的博文。 對於此設置,重要的是您在正確的字段中添加變量 {{Scroll Depth Threshold}} 和 {{Custom JS – Scroll is Non-Interactive}}。 有關配置的詳細視圖,請參見下文:


配置好標籤後,將步驟 1 中的觸發器與滾動跟踪標籤連接起來,就可以進行測試了。
這是我們的測試結果
我們測試了不同的非交互命中設置(如步驟 2 中所述)以及它們如何影響跳出率。

如上圖所示,當非交互參數設置為false 時(2019 年 8 月至 9 月),我們的跳出率非常低。 此設置意味著每個觸發的滾動事件,包括快速和意外滾動,都被視為一種交互。 因此,谷歌分析將其解釋為交互用戶。 因此,即使用戶在沒有任何其他點擊的情況下直接反彈,他們也不會被視為反彈。 結果是跳出率非常低,約為 10%。 您可能知道這看起來有點“好得令人難以置信”。
在 10 月份,我們切換到相反的設置並將非交互參數設置為 true。 在這裡,無論用戶滾動多遠,觸發的滾動事件都不會被視為 Analytics 中的交互。 將參數設置為true基本上會禁用交互檢測。 這可以被認為是保存但不是完美的選擇。 結果是一個更高的,可能更現實的,大約 70% 的跳出率。 在這種情況下,我們只測量了實際點擊頁面內容或與頁面內容交互的用戶。 但是,我們認為這種方法對我們來說過於極端。 我們網站的內容不斷更新,尤其是我們的博客吸引了大量觀眾。 我們想衡量用戶實際滾動和閱讀內容豐富的部分的距離。
因此,在 11 月,我們切換到定制的解決方案,這是我們的首選設置。 我們只將超過特定閾值的用戶計為已交互。 那些僅向下滾動幾行或一段內容並在此之後立即離開的訪問者被視為反彈。 對我們而言,參與的用戶是滾動超過頁面深度 75% 的用戶。 您可以將 Scroll Depth % 設置為滿足您要求的任何值。
