2016-10-10 36 views
0

我們正在使用analytics.js來跟蹤頁面點擊和交易。目前,我們的跟蹤代碼如下所示:我們可以發送電子商務交易的自定義維度(用戶範圍)嗎?

ga('create', 'UA-XXX-X', 'auto', {'allowLinker': true}); 
//add content grouping here if required 
ga('send', 'pageview'); 

if(receiptPage){ 
    //we call server here ONLY on the receipt page. 
    //the results are loaded into the addTransaction and addItem 

    ga('require', 'ecommerce', 'ecommerce.js'); 
    ga('ecommerce:addTransaction', { 
    //we set the following fields here: 
    //id, affiliation, revenue, shipping, tax, currency 
    }); 

    //for each item in the order we run: 
    ga('ecommerce:addItem', { 
    //we set the following fields here: 
    //id, name, sku, category, price, quantity, currency 
    }); 

    ga('ecommerce:send'); 
} 

我們想增加2個自定義維度域到用戶範圍 - 用戶ID和國家。我們可以訪問服務器上的這兩個參數,並且可以很容易地將它們包含在if(receiptPage)聲明中。我們想要知道在哪裏添加我們的自定義維度參數以及如何觸發其集合。

根據google

不同於其他類型的數據,自定義維度和度量被髮送到 分析作爲連接到其他匹配的參數,如網頁瀏覽, 事件或電子商務交易。

但是,它們僅顯示發送瀏覽量和事件的示例。我們無法找到任何顯示通過事務處理命令收集自定義維度參數的示例。

現在的問題是: Can ga('ecommerce:send');收集自定義尺寸? 在這種情況下,我們可以這樣做:

ga('create', 'UA-XXX-X', 'auto', {'allowLinker': true}); 
ga('send', 'pageview'); 
if(receiptPage){ 
    ga('require', 'ecommerce', 'ecommerce.js'); 
    ga('ecommerce:addTransaction', {/*somecode*/}); 
    ga('ecommerce:addItem', {/*somecode*/}); 

    ga('set', 'dimension1', 'user555'); 
    ga('set', 'dimension2', 'Germany'); 

    ga('ecommerce:send'); 
} 

或者,如果電子商務不能收集自定義維度數據,我們將必須移動網頁瀏覽的發送if語句下。如果我們在電子商務集合之後調用它,會不會導致問題? :

ga('create', 'UA-XXX-X', 'auto', {'allowLinker': true}); 
if(receiptPage){ 
    ga('require', 'ecommerce', 'ecommerce.js'); 
    ga('ecommerce:addTransaction', {/*somecode*/}); 
    ga('ecommerce:addItem', {/*somecode*/}); 

    ga('set', 'dimension1', 'user555'); 
    ga('set', 'dimension2', 'Germany'); 

    ga('ecommerce:send'); 
} 
ga('send', 'pageview'); 

我們應該選擇哪種解決方案?爲什麼?這是一個敏感的實驗場所,所以我們寧願確定而不是通過反覆試驗來解決。

+2

re:實驗,沒有什麼能阻止你創建一個額外的屬性,並在那裏發送一些虛擬呼叫而不影響你的真實賬戶。需要幾個小時才能顯示數據,但這通常是判斷某些代碼是否適用於您的用例的最可靠方法。 –

+1

加入@ EikePierstorff的評論,你甚至可以創建一個有問題代碼的虛擬html頁面,並檢查GA,而不會影響你的活網站。有一個分期網站是Web開發的必要條件。 – nyuen

回答

1

您可以使用這兩種解決方案。他們會觸發對Google Analytics服務器的兩項請求,並傳輸您在代碼中定義的所有數據。

第一個解決方案: 第二個請求具有定義的「事務」類型,並將包含在「ga('ecommerce:send');」之前的行中定義的所有值。

第二種解決方案: pageview請求可能足以發送所有數據,你根本不需要ga('ecommerce:send'),但我不是100%確定的。

相關問題