2014-03-28 42 views
0

更新:我现在有一个交易与13一量!即同样的transactionId但很多交易。我测试了我的transactionId发生器,它似乎好了,我真的不知道发生了什么电子商务交易往往有不正确的数量

问:

尝试使用谷歌代码管理做一些ecommmerce跟踪

我想我所有设置都正确,但我的交易数量值为0,其中一部分为1(这是正确的),有些甚至为13

它的静态值为1,这里是我的dataLayer代码:

<script> 
dataLayer = [{ 
'transactionId': '504210532.1395946032.72', // <? echo $id.".".time().".".rand(1,100); ?> 
'transactionTotal': 1.00, 
'transactionProducts': [{ 
'sku': 'prod1', 
'name': 'Product', 
'price': 1.00, 
'quantity': 1 
}], 

**OTHER DATALAYER PROPERTIES** 

}]; 
</script> 

唯一动态的事情是transactionId,剩下的仅仅是某个网页上的所有静态

标签火灾;射击似乎并不成为问题,它只是不总是让在那里正确的数量为一些未知的原因

+0

只是一个快速的最初的问题:你有没有包含在GTM-段之前上述数据层? 我不能真正看到任何其他代码错误,你说它很好,所以我认为别的东西一定是错的。您在注意交易数据之前等了多久?有时候我在夜间计算中看到它自己正确。 – MrSponge

+0

嗨,是的dataLayer是GTM片段之上;这几天后还没有纠正 – Drewdavid

回答

0

我不能评论(还),但你有办法防止电子商务的重复发射代码片段?每次加载收据页面时,Google跟踪代码管理器的电子商务代码段都会触发。我的猜测是这就是为什么你看到一些奇怪的数字 - 因为如果有人刷新,点击后退按钮等,它会导致重复的火灾。我看到奇怪的事情发生没有这个,所以我总是确保我已经实施。

记不清了,我发现这个解决方案最初,所以我很抱歉,我不能举我的源(如果我发现它会更新)。 但是,这里有一个解决方案,可以防止电子商务代码段在Google跟踪代码管理器中两次触发。

添加为CustomHTML片断的结算完成页上的火灾。

<script> 
// CustomHTML only trigger on /checkout/sale-complete.html and gtm.dom ready 
function createCookie(name,value,days) { 
if (days) { // If not provided, it will be a session cookie. 
var date = new Date(); 
date.setTime(date.getTime()+(days*24*60*60*1000)); 
var expires = "; expires="+date.toGMTString(); 
} 
else var expires = ""; 
document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
var nameEQ = name + "="; 
var ca = document.cookie.split(';'); 
for(var i=0;i < ca.length;i++) { 
var c = ca[i]; 
while (c.charAt(0)==' ') c = c.substring(1,c.length); 
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
} 
return null; 
} 

if (!readCookie('cookie_hasPurchaseRecordedAlready')) { 
createCookie('cookie_hasPurchaseRecordedAlready', 'true', 1); 
} 
</script> 

脚本创建一个新的cookie。

下使一个新的第一方Cookie宏,命名为购买饼干,并给它的“cookie_hasPurchaseRecordedAlready”

值在您的电子商务UA代码,添加阻止规则 - {{购买曲奇]等于true。