!!!Google Analytics 更新!!!
說明:Google Analytics 的追蹤碼有更新為通用版,底下的跨網域追蹤適用「傳統版analytics (ga.js)」。
通用版的設定跨網域追蹤,請參考 Google 說明中心文章,傳送門:追蹤多個網域
前一篇子網域追蹤,是在同個網域底下,針對不同子網域做追蹤碼的調整。這篇要來介紹另一種追蹤-[跨網域追蹤]。
甚麼是跨網域追蹤?
例如:我的網站是www.mysite.com,但購物車系統是在C網站上www.example.com。
依照Google Analytics的預設運作方式,Google Analytics會將不一樣的網址所獲的的造訪當作不重複且不相關的造訪(推薦連結除外)。我們總不會想要在報表中顯示的網站訪客資料跟我們的網站無關,是另一個無關網站的資料吧。

(圖片來源:Analytics說明中心)
所以,根據Google Analytics的預設運作方式,在Analytics(分析)報表裡,我只會看到我自己的網站訪客資料,而且當訪客到了我的網站,買了東西使用了購物車,再回到我的網站確認已購買清單,則Google Analytics會認為是有兩個造訪,但我們知道,事實上並不是這樣。
對於這樣的問題,我們可以透過跨網域追蹤的方式,讓Google Analytics把www.mysite.com和www.example.com這兩個網站的流量記錄在同一份報表裡。這樣,當訪客造訪我的網站使用購物車時,Google Analytics就不會把這訪客認為是兩個造訪,造訪會從訪客進入網站開始,購物完成,確認已購買清單,離開網站為止。

(圖片來源: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>
(追蹤碼來源:追蹤多個網域)
報表呈現方式需要做調整
現在我同時追蹤兩個網域,當兩個網站上的目錄結構和網頁名稱很相似時,我可能會分辨不出每個網頁所屬的網域。如同[追蹤子網域]文中的介紹,報表中的資料只會顯示網頁的路徑和名稱,不會顯示網域名稱。不過沒關係,我們可以建立一個如下圖的[篩選器]來解決這項問題。
有關篩選器的使用方式可以參考[進階篩選器]。
注意
如果有設定關於要求url的設定,例如目標的[實際連結網址]設定,則目標的要求url部分都需要重新調整,否則,Google Analytics不會轉換這些數據。
另外,最好是使用另一個設定檔來做篩選,以免因設定篩選有誤,導致無資料的窘境。
以上是自訂篩選器的[GATC客製化 – 跨網域追蹤]介紹。如內文有誤,請多指教,如有問題,可以留言,會盡快回復。
2 篇迴響
請問這是否為傳統的 Analytics?
通用 Analytics (分析版)無法選擇啟用追蹤[多個頂層網域],可直接跳過埋碼嗎?
謝謝
hi, Yu
這篇跨網域是適用於傳統版analytics (ga.js)沒錯,
通用analytics (analytics.js)可以參考:https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain?hl=zh-TW