試圖讓GA建立與我們的電子商務商店運行到哪裏實際產品的項目沒有在所有GA發佈的問題。總價工作正常,但沒有任何項目數據通過。谷歌分析代碼換行符[「_ addTrans」
在Chrome中使用Google Analytics(分析)調試器,看起來好像發生了這種情況,因爲變量返回的值位於單獨的行上。谷歌認爲它沒有任何價值,至少看起來像什麼似的。
我附加了一個調試器窗口的屏幕來顯示換行符
之前,你看看代碼,請注意,爲了得到價值和產品的定價,我必須遍歷對電子商務的表感謝頁面,因爲電子商務系統,我們使用沒有按」噸有任何API的...
下面是與在測試順序導出的表的代碼。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
var purchaseTotal;
var orderID = "[[S120:cart:orderId]]";
var productQty = new Array(); //quantity of product
var productName = new Array(); //name of product
var productValue = new Array(); //price of product
var productRows;
var a = 0; //used to assign array values
var _gaq = _gaq || []; //start _gaq to use globaly
$(function(){
function getQuerystring(key, default_){
if (default_==null) default_="";
key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
var qs = regex.exec(window.location.href);
if(qs == null)
return default_;
else
return qs[1];
}
var isThankyou = getQuerystring('CONFIRMATION');
if(getQuerystring('CONFIRMATION') == 'true'){
purchaseTotal = $("table.ShoppingCart tr:last-child").children("td:last-child").text();
purchaseTotal = purchaseTotal.replace('$',''); //removes dollar sign from text for GA use
purchaseTotal = purchaseTotal.replace(/\s+/g,""); //removes all extra spaces
console.log("Total: "+ purchaseTotal);
var rows = $("table.ShoppingCart tr").length;
console.log("Rows: " + rows);
//start going through the rows
for(var i = 0; i <= rows; i++){
var cells = $("table.ShoppingCart tr").eq(i).children("td").length;
var cell = $("table.ShoppingCart tr").eq(i).children("td");
//if there 3 cells we're in business, it's a product
if(cells == 3){
//for every row, go through the cells if the length of cells in that row are 3
for(var k = 0; k < cells; k++){
if(k == 0){
//this is the quantity column, let's see how much was ordered
productQty[a] = $(cell).eq(k).text();
productQty[a] = productQty[a].replace(/\s+/g," ");
console.log("QTY: "+ productQty[a]);
}
if(k == 1){
//this is the product name column, what's the name?
productName[a] = $(cell).eq(k).text();
productName[a] = productName[a].replace(/\s+/g," ");
console.log("Name: "+ productName[a]);
}
if(k == 2){
//this is the price
productValue[a] = $(cell).eq(k).text();
productValue[a] = productValue[a].replace("$","");
productValue[a] = productValue[a].replace(/\s+/g," ");
console.log("Value: "+ productValue[a]);
a++;
}
}
}
//console.log("END i loop: "+ i);
}
productRows = productQty.length;
ecommerceGACode(); // launch eccomerce GA code
}//endif
else{
noEcommerceGA();
}//end else
});
function ecommerceGACode(){
//Google Analytics Code
console.log("ThankYouPage GA launched");
_gaq.push(['_setAccount', 'UA-2167264-1']);
_gaq.push(['_setDomainName', '.convio.net']);
_gaq.push(['_setSiteSpeedSampleRate', 5]);
if (CONVIO.referrer.length != 0) {
_gaq.push(['_setReferrerOverride',CONVIO.referrer]);
}
_gaq.push(['_trackPageview']);
_gaq.push(['_addTrans',
orderID, // order ID - required
'ECommerce Store', // affiliation or store name
purchaseTotal, // total - required
'', // tax
'', // shipping
'', // city
'', // state or province
'' // country
]);
//loop through our array's and insert the values!
for(var i = 0; i < productRows; i++){
console.log("QTY: "+ productQty[i]);
console.log("Name: "+ productName[i]);
console.log("Value: "+ productValue[i]);
var name = productName[i];
var qty = productQty[i];
var price = productValue[i];
_gaq.push(['_addItem',
orderID, // order ID - required
'Ecommerce', // SKU/code - required
''+name+'', // product name
'', // category or variation
''+price+'', // unit price - required
''+qty+'' // quantity - required
]);
}
_gaq.push(['_trackTrans']); //submits transaction to the Analytics servers
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);
} // Ecommerce GA Code
function noEcommerceGA(){
console.log("Normal GA Launched");
_gaq.push(['_setAccount', 'UA-2167264-1']);
_gaq.push(['_setDomainName', '.convio.net']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setSiteSpeedSampleRate', 5]);
if (CONVIO.referrer.length != 0) {
_gaq.push(['_setReferrerOverride',CONVIO.referrer]);
}
_gaq.push(['_trackPageview']);
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);
} // no Ecommerce Code
</script>
<table class="ShoppingCart" cellpadding="5" border="1" style="border-collapse: collapse;" width="100%">
<tbody>
<tr class="ShoppingCartHeadings">
<th width="10%"> <p>Quantity</p>
</th>
<th width="70%"> <p>Item Name</p>
</th>
<th width="20%"> <p>Total Price</p>
</th>
</tr>
<tr valign="top" class="ShoppingCartRow0">
<td><p>1</p></td>
<td><p> <span class="CartItemName">Interview with a Terrorist</span> ($5.00 each) </p></td>
<td align="right"><p>$5.00</p></td>
</tr>
<tr>
<td colspan="2" align="right"><p><strong>Total Price of Items:</strong></p></td>
<td align="right"><p><strong>$5.00</strong></p></td>
</tr>
<tr>
<td colspan="2" align="right"><p> <strong>Shipping Charges: </strong> </p></td>
<td align="right"><p><strong>$5.00</strong></p></td>
</tr>
<tr>
<td colspan="2" align="right"><p><strong>Total: </strong></p></td>
<td align="right"><p><strong>$10.00</strong></p></td>
</tr>
</tbody>
</table>
正如你可能也看到,我甚至試圖從變量值中刪除多餘的空格。
在我的控制檯測試,一切都是單行線,沒有換行符,所以我不知道究竟發生了什麼事。
任何幫助,將不勝感激。謝謝!
?CONFIRMATION =真激活電子商務GA代碼。必須這樣做,因爲沒有API可以告訴用戶何時登陸內置的感謝頁面。 – Ian