如果頁面有id=”ga”,用gtag埋google analytics會收不到流量

如果頁面有id="ga",用gtag埋google analytics會收不到流量

English version: If the page has id=”ga”, google analytics with gtag will not receive sessions.

首先,我不想下個「做了這件事以後,ga就收不到流量,知道原因後朋友們都跪了」之類的標題殺人法,所以先在標題跟第一段先說結論:
如果頁面的html,有出現id="ga",而埋ga code的方式又是gtag的話,那GA就會收不到這頁的瀏覽量。

以下是從發現問題到找到問題,最後解決問題的過程。

因為目前還沒在網路上找到因為頁面有id="ga"就收不到流量的文章,所以寫了這篇,希望大大們可以避免,或是也發生一樣問題的頁面可以解決這問題。


發現問題

收不到流量這是前幾天慘痛的經驗。在寫完以下兩篇後:

原本是要比較一下中文、英文流量有沒有差異的,可是一天過去了,兩天過去了,這兩篇在google analytics的流量一直是0。

奇怪的是,在看hotjar時,有看到有人進到中文那篇在觀看。fb的分享也有朋友點讚,怎麼樣都會有人進來晃晃吧?但GA確實一直沒收到數據。

而且點進其他篇,其他篇一樣可以收到流量,就這兩篇不行。

然後就打開 GA Debugger,開始一系列的找bug過程。


找到問題

一開始是懷疑因為裝了禁止ga追蹤的擴充功能「Google Analytics (分析) 不透露資訊外掛程式」所以沒收到流量,移掉後,即時報表還是沒看到瀏覽量進來。

接著想到,發文前一天,想來試一下AB/ test,埋GA tracking code時,有加了google optimize的config,就去optimize結束A/B test,但一樣,GA page view一樣沒送出。

然後又想,難道是我自訂維度的code寫錯了?那我自訂維度的使用那篇不就要重寫?好險,即便我刪掉自訂維度的事件,一樣是沒收到流量。

接著我又試著刪掉GA事件追蹤、service-worker.js、Mixpanel,都沒解決GA收不到瀏覽量的問題。

最後,只好採取土法煉鋼的方式,把頁面下載成靜態的html檔,一行一行刪,看刪到哪一行可以讓GA正常運作。


一般找前端的bug,第一個先找的是javascript,因為js最可能把ajax擋下。

先把頁面上引用的js、直接寫的<script>都刪掉,如果發現流量進來了後,再來找是哪個檔案造成的。

結果:刪完後還是收不到流量。

css會影響嗎?疑惑之下還是刪了,引用的跟頁面上的<style>都刪。

結果:一樣沒收到流量。

好吧,只好看其他html的部分,先刪head裡的,沒作用。

再刪掉整個body,嗯?ga收到流量了!

那可以肯定的是,是前端頁面的問題,而不是GA設定或是server的問題。

html一行一行刪下去,在刪掉這一行:

<h3>
  <span class="ez-toc-section" id="ga" tabindex="-1">ga</span>
</h3>

GA就能收到流量,終於找到問題了,這一行問題會跟GA有關的就是id="ga"

不過我也疑惑,為什麼我會寫出id="ga"這行?感覺這個id就會是google analytics的保留字。

看了頁面才發現,為了讓頁面增加內部連結,也為了讓大家閱讀方便,我有裝「Easy Table of Contents」這個外掛,id是由這個外掛自動生成的,他會去判斷標題裡的英文,自動把英文變成這個標題的id,結果我那兩篇都有個標題就叫「ga」。


解決問題

一開始是先俢改標題的文字,原本標題是「ga」,就改成「ga code」,讓外掛生成的id變成ga-code。

這在英文那篇沒問題,但在中文那邊有個問題,就是Easy Table of Contents只會抓標題裡的英文當id,而我中文那篇有一個標題是「會埋GA事件的好處」,外掛就只抓了ga出來,不得已下只好把標題改成「會埋GA Event的好處」。


再說一次GA流量是0的原因

這很重要,這是真人真事非改編悲劇換來的經驗,所以最後再說明一次:

如果頁面的html,有出現id="ga",而埋Google Analytics的方式又是gtag的話,那GA就會收不到這頁的瀏覽量。


Summary
如果頁面有id="ga",用gtag埋google analytics會收不到流量
Article Name
如果頁面有id="ga",用gtag埋google analytics會收不到流量
Description
首先,我不想下個「做了這件事以後,ga就收不到流量,知道原因後朋友們都跪了」之類的標題殺人法,所以先在標題跟第一段先說結論:如果頁面的html,有出現id="ga",而埋ga code的方式又是gtag的話,那GA就會收不到這頁的瀏覽量。以下是從發現問題到找到問題,最後解決問題的過程。
Augustus
Let's Write
Let's Write
Publisher Logo
訂閱
通知
guest
0 Comments
Inline Feedbacks
看所有留言