Google Analytics Tracking Code(GATC) – 跨網域追蹤

!!!Google Analytics 更新!!!

說明:Google Analytics 的追蹤碼有更新為通用版,底下的跨網域追蹤適用「傳統版analytics (ga.js)」。 

通用版的設定跨網域追蹤,請參考 Google 說明中心文章,傳送門:追蹤多個網域

 

前一篇子網域追蹤,是在同個網域底下,針對不同子網域做追蹤碼的調整。這篇要來介紹另一種追蹤-[跨網域追蹤]。

甚麼是跨網域追蹤?

例如:我的網站是www.mysite.com,但購物車系統是在C網站上www.example.com。

依照Google Analytics的預設運作方式,Google Analytics會將不一樣的網址所獲的的造訪當作不重複且不相關的造訪(推薦連結除外)。我們總不會想要在報表中顯示的網站訪客資料跟我們的網站無關,是另一個無關網站的資料吧。

google analytics-gatc-跨網域追蹤
google analytics-gatc-跨網域追蹤

(圖片來源:Analytics說明中心)

所以,根據Google Analytics的預設運作方式,在Analytics(分析)報表裡,我只會看到我自己的網站訪客資料,而且當訪客到了我的網站,買了東西使用了購物車,再回到我的網站確認已購買清單,則Google Analytics會認為是有兩個造訪,但我們知道,事實上並不是這樣。

對於這樣的問題,我們可以透過跨網域追蹤的方式,讓Google Analytics把www.mysite.com和www.example.com這兩個網站的流量記錄在同一份報表裡。這樣,當訪客造訪我的網站使用購物車時,Google Analytics就不會把這訪客認為是兩個造訪,造訪會從訪客進入網站開始,購物完成,確認已購買清單,離開網站為止。

google analytics-gatc-跨網域追蹤
google analytics-gatc-跨網域追蹤

(圖片來源:Analytics說明中心)

看看如何設定

當設定跨網域追蹤後,我可以收集與兩個網站之間相關的所有資料。那要如何設定?

google analytics-gatc-跨網域追蹤
google analytics-gatc-跨網域追蹤
  1. 如果你有很多個[帳戶],請選擇你要做修改的[帳戶]。
  2. 選擇要修改GATC的[資源]
  3. 點選[追蹤資源]
  4. 啟用追蹤[多個頂層網域]
google analytics-gatc-跨網域追蹤
google analytics-gatc-跨網域追蹤

按下[多個頂層網域]時,上方的[子網域]也會一起被啟用。[追蹤子網域]的追蹤程式碼與[多個頂層網域]的追蹤程式碼有一行程式碼相同,所以會自動啟用追蹤子網域。在[追蹤子網域]中有說過,www也算是其中的一個子網域。

追蹤程式碼

把mysite.com和example.com的資料合併在mysite.com裡。

mysite.com的追蹤程式碼

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXXX-1’]);
_gaq.push([‘_setDomainName’, ‘mysite.com’]);
_gaq.push([‘_setAllowLinker’, true]);
_gaq.push([‘_trackPageview’]);

(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’;
ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ :
‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0];
s.parentNode.insertBefore(ga, s);
})();

</script>

example.com的追蹤程式碼

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-XXXXXXXX-1’]);
_gaq.push([‘_setDomainName’, ‘example.com’]);
_gaq.push([‘_setAllowLinker’, true]);
_gaq.push([‘_trackPageview’]);

(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’;
ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ :
‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0];
s.parentNode.insertBefore(ga, s);
})();

</script>

由於是同一組追蹤號碼 (UA-XXXXXXXX-1),所以來自不同網域的資料都會歸納在這個資源號碼之下。

設定交叉連結

如果流量是從mysite.com流到example.com,或者從example.com流回mysite.com,在連結設定上請設定交叉連結(_link() 方法)。

如果流量會從 mysite.com 連到 example.com,目前連結的格式為:

<a href="https://www.example.com/?login=parameters">View Cart</a>

請將它改為:

<a href="https://www.example.com/?login=parameters" onclick="_gaq.push(['_link',
'https://www.example.com/?login=parameters']); return false;">View Cart</a>

如果流量也可能會從 example.com 連到 mysite.com,目前連結的格式為:

<a href="https://www.mysite.com/">Continue Shopping</a>

請將它改為:

<a href="https://www.mysite.com/" onclick="_gaq.push(['_link',
'https://www.mysite.com/']); return false;">Continue Shopping</a>

(追蹤碼來源:追蹤多個網域)

報表呈現方式需要做調整

現在我同時追蹤兩個網域,當兩個網站上的目錄結構和網頁名稱很相似時,我可能會分辨不出每個網頁所屬的網域。如同[追蹤子網域]文中的介紹,報表中的資料只會顯示網頁的路徑和名稱,不會顯示網域名稱。不過沒關係,我們可以建立一個如下圖的[篩選器]來解決這項問題。

google analytics-gatc-跨網域追蹤
google analytics-gatc-跨網域追蹤

有關篩選器的使用方式可以參考[進階篩選器]。

 

注意

如果有設定關於要求url的設定,例如目標的[實際連結網址]設定,則目標的要求url部分都需要重新調整,否則,Google Analytics不會轉換這些數據。

另外,最好是使用另一個設定檔來做篩選,以免因設定篩選有誤,導致無資料的窘境。

 

 

以上是自訂篩選器的[GATC客製化 – 跨網域追蹤]介紹。如內文有誤,請多指教,如有問題,可以留言,會盡快回復。

You may also like

2 篇迴響

    1. hi, Yu

      這篇跨網域是適用於傳統版analytics (ga.js)沒錯,

      通用analytics (analytics.js)可以參考:https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain?hl=zh-TW

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *