2013-04-27 276 views
4

我試圖從Google舊分析遷移到Universal Analytics。我有下面的代碼,從universal - developers guide我找不到解決方案。Google Universal Analytics自定義維度和trackpageview

在我的分析代碼中,我有這些行。第1部分:

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-123456-1']); 

    _gaq.push(['_trackPageview','/tools/one'); 
    _gaq.push(['_setCustomVar', 1, 'name', 'michael', 1]); 

(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); 
    })(); 

也在我的一些其他腳本我有這段代碼片段。第2部分:

if (typeof _gaq !== "undefined" && _gaq !== null) { 
    _gaq.push(['_trackPageview', '/dosomework']); 
} 

如何將「gaq.push」內部的兩部分轉換並添加到我的通用分析代碼中?

回答

25

不幸的是,遷移到analytics.js並不像改變代碼語法那麼簡單。

首先,您應該知道Universal Analytics目前處於公測階段。目前,谷歌不提供「升級」或「轉換」現有網絡媒體資源以利用通用分析(analytics.js)跟蹤的方式。您需要設置新的網絡媒體資源(或新帳戶),然後選中「通用分析」單選按鈕。

Google目前建議您設置analytics.js代碼以及您當前的ga.js代碼。一旦你對基礎數據在兩者之間排隊感到高興,你可以在你的頁面上保留兩個版本,或者決定刪除舊的ga.js代碼。舊配置文件中的歷史數據仍然存在,但不會綁定到新的網絡媒體資源。我不知道Google是否最終會爲現有基於ga.js的網絡媒體資源提供「升級」或「轉換」功能;到目前爲止,我還沒有看到他們是否會提供這方面的消息。

移動到通用Analytics(分析)(analytics.js)的代碼...

通用Analytics(分析)不使用.push語法。相反,它有一個函數ga(),它需要將參數傳遞給它。第一個參數是「command」參數,其他參數用於根據命令傳遞其他設置,值等。

  • 設置GA帳戶現在與「創建」命令
  • 跟蹤頁面視圖做的是現在完成了與「發送」命令
  • 設置自定義變量*現在做的任何一'send'命令中的參數(僅在'send'命令中彈出它)或'set'命令(用於設置它在頁面上執行的所有'send'命令時彈出)..但關於這個...

自定義變量不再存在

他們這樣做,但他們如何實施是不同的。 Universal Analytics提供自定義維度和指標。自定義變量大多數是現在的自定義維度。主要區別在於,設置變量的名稱和範圍等內容現在在GA界面中完成,而不是作爲函數的參數。此外,你現在有5個以上的工作。要使用此功能,請點擊您所創建的網絡媒體資源,你應該看到標籤

Profiles Tracking ..Custom Definitions

單擊Custom Definitions選項卡設置自定義維度和指標那裏。

現在到頁面代碼

這是您發佈會是什麼樣子的代碼什麼的 「等價物」:

第一個片段:

<!-- Google Analytics --> 
<script> 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

ga('create', 'UA-123456-1'); 
ga('send', 'pageview', '/tools/one'); 
ga('set', 'dimension1', 'michael'); 

</script> 
<!-- End Google Analytics --> 

記:如上所述,您可以在界面中設置維度的名稱和範圍。 'dimension1'應該更改爲您創建的任何維度。

二片段:

if (typeof ga == 'function') { 
    ga('send', 'pageview', '/dosomework'); 
} 

旁註:不是真的與你的問題,但在你的代碼中首先發送一個頁面視圖,然後設置自定義變量。如果您不知道,如果您在頁面視圖(_trackPageview)之後設置自定義變量(_setCustomVar),那麼您的自定義變量將不會隨該頁面視圖一起發送('/ tools/one'命中)。它會(假設你的第二個片段稍後彈出)與第二頁面視圖一起發送('/ dosomework'之一)。不知道爲什麼你會有兩個單獨的綜合瀏覽量,或者如果你知道這個操作順序的事情,但如果你對目前在報告中看到的東西感到滿意,那麼analytics.js版本的行爲將是相同的。

+1

您可能想要在發送發送之前設置自定義維度 – vly 2013-04-28 09:56:28

+2

如果您已閱讀我的最後一面注意事項,您會看到它是故意以這種方式完成的。 OP做到了這一點,所以我就像他那樣做了,並指出了它 – 2013-04-28 15:00:39

相關問題