2013-10-10 63 views
0

gaq_push沒有定義:谷歌分析錯誤gaq_push沒有定義:谷歌分析錯誤

我已經實施新的「異步」谷歌分析片段。下面是摘錄:

<script type="text/javascript"> 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-16558786-1']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 
</script> 

在我的訂單頁面上,我要跟蹤交易,像這樣:

<!-- google receipt begin --> 
    <script language="JavaScript" type="text/javascript"> 
    // total transaction 
    gaq_push._addTrans(  
    "[[DMI:Expression value='((Order)Container.DataItem).OrderNumber']][[/DMI:Expression]]", // order ID - required  
    "A.M. Leonard", // affiliation or store name  
    "[[DMI:Expression value='((Order)Container.DataItem).ItemTotal.ToString("0.00")']][[/DMI:Expression]]", // total - required  
    "[[DMI:Expression value='((Order)Container.DataItem).Tax.ToString("0.00")' ]][[/DMI:Expression]]", // tax  
    "[[DMI:Expression value='((Order)Container.DataItem).ShippingCost.ToString("0.00")' ]][[/DMI:Expression]]", // shipping  
    "[[DMI:Expression value='((Order)Container.DataItem).ShippingInfos[0].Address.City' ]][[/DMI:Expression]]", // city  
    "[[DMI:Expression value='((Order)Container.DataItem).ShippingInfos[0].Address.State' ]][[/DMI:Expression]]", // state or province  
    "[[DMI:Expression value='((Order)Container.DataItem).ShippingInfos[0].Address.Country' ]][[/DMI:Expression]]" // country  
    );   
    // all items 
    [[DMI:Use dmisource='((Order)Container.DataItem).Items']] 
    gaq_push._addItem(  
    "[[DMI:Expression value='((OrderItem)Container.DataItem).OrderNumber' ]][[/DMI:Expression]]", // order ID - necessary to associate item with transaction  
    "[[DMI:Expression value='((OrderItem)Container.DataItem).Sku' ]][[/DMI:Expression]]", // SKU/code - required  
    "[[DMI:Expression value='Core.URLEncode(((OrderItem)Container.DataItem).ProductName)' ]][[/DMI:Expression]]", // product name  
    "", // category or variation  
    "[[DMI:Expression value='((OrderItem)Container.DataItem).UnitPrice.ToString("0.00")' ]][[/DMI:Expression]]", // unit price - required  
    "[[DMI:Expression value='((OrderItem)Container.DataItem).QtyOrdered' ]][[/DMI:Expression]]" // quantity - required 
    ); 
    [[/DMI:Use]]   
    gaq_push._trackTrans(); //submits transaction to the analytics servers  
    </script> 
    <!-- google receipt end --> 

不過,我收到一個錯誤,指出:未捕獲的ReferenceError:gaq_push沒有定義

DMI:表達式代碼是用於傳遞變量的內部API代碼。正如你所看到的,我傳遞的東西像ItemTotal,稅等等。

但是,我相信錯誤是在事務跟蹤區域。有任何想法嗎?

+0

你把你的腳本以正確的順序和正確的頁面? –

+0

GA代碼片段位於事務跟蹤代碼片段之前。雖然GA代碼段是異步的。 –

+1

我不明白 - 爲什麼Google Analytics會定義gaq_push(gaq下劃線推送)? gaq是一個對象,push是一個用點符號(_gaq.push)調用的對象的方法。 gaq_push只是一些任意的變量名稱,它不是由GA定義的,在你的網站上顯然沒有其他地方。 –

回答

0

您正在收到該錯誤,因爲GAQ未在您的GA電子商務腳本中定義。

根據(Google Analytics異步電子商務跟蹤)[https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingEcommerce]頁面,您應該聲明gaq,設置帳戶併發送曲目頁面預覽。