异步谷歌电子商务分析代码无法正常工作

时间:2011-05-29 21:44:28

标签: javascript google-analytics e-commerce

我在最后结帐页面上跟踪代码以跟踪电子商务交易。但是,在进行多次交易后,我在分析帐户中看不到任何交易。 我在分析帐户中启用了电子商务选项。有人可以指出是否有 是以下代码中的任何问题或建议用于调试此工具的工具。

这是体内标签

<body>
   ...
   ...
   <script type="text/javascript"> 
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'xxx']);
   _gaq.push(["_setDomainName", ".abc.com"]);
   _gaq.push(["_setAllowLinker", true]);
   _gaq.push(['_trackPageview']);

   _gaq.push(['_addTrans',
            '456',            // order ID - required
            'EcoStrip',  // affiliation or store name
            '34.95',           // total - required
            '0.0',           // shipping
            'Santa Clara',        // city
            'California',
            'USA'
          ]);

          _gaq.push(['_addItem',
            '456',  // order ID - necessary to associate item with transaction
            '67333',           // SKU/code - required
            'USB EcoStrip 2.0 Energy Saving Power Strip',        // product name
            'Office',   // category or variation
            '34.95',          // unit price - required
        '1'
          ]);
    //Now submit the transaction
    _gaq.push(['_trackTrans']); //submits transaction to the Analytics server

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

  </body> 

2 个答案:

答案 0 :(得分:0)

一个可能的原因:您的addTrans来电缺少总参数和运费参数之间的参数:税收参数。如果您不收税,您只需将此值硬编码为“0”即可。

   _gaq.push(['_addTrans',
            '456',            // order ID - required
            'EcoStrip',  // affiliation or store name
            '34.95',           // total - required
            '0', // tax
            '0.0',           // shipping
            'Santa Clara',        // city
            'California',
            'USA'
          ]);

如果没有税收参数,则总计之后的所有参数都会减1。因此,税收设置为0,shippping设置为“Santa Clara”,城市设置为“California”,“州/地区设置为USA”,国家/地区设置为“undefined”。

有关详细信息,请参阅Google Analytics Help Center article

现在,即使您解决了这个问题,也不能保证您的问题根源。但这是一个开始。

到目前为止,谷歌分析发布了一个非常有用的Chrome扩展程序,用于调试Google Analytics,称为Google Analytics Tracking Code Debugger

答案 1 :(得分:0)

我已经构建了一个定制的多域电子商务平台(正在制作2年),后端全部采用T-SQL / MSSQL 2008,前端运行在PHP 5.3 Apache上,最近已从C#移植到IIS7。自从迁移到PHP后,跟踪只能运行一些时间。

与PHP相比,IIS提供页面的方式必须有所不同,这导致跟踪无法正常工作。或者谷歌不希望它每次都能运行,以节省服务器命中率。

我已经使用了GA调试工具,按照Google的说明进行了操作,但仍然只有首次点击发送到网站,或者我点击了Chrome页面刷新按钮。

有人有过类似的问题吗?代码是100%正确我甚至尝试从页面中删除所有其他JavaScript,我总是在测试时清除浏览器缓存。

如果有人能告诉我为什么这种情况发生得很好,但与此同时我还有一个其他人可能觉得有用的工作。它会强制每次跟踪跟踪。

简而言之,修复是让浏览器每次完全解析页面中的所有javascript(如果这是正确的术语)。有很多方法可以做到这一点,我的方法是创建一个不可缓存的PHP文件,文件大小变化很小。也许这有点矫枉过正 - 我不知道,但它确实有效。 php文件应该被称为anything.php并且只包含以下代码。

(function GA_FIX(){
  var gafix = '<?php echo md5(rand(1,20));?>';
})

您可能希望添加php标头以将mime类型设置为text / javascript,并根据您的Apache配置缓存过期标头。 E.G如果您为.js文件启用了缓存。

现在,您可以在GA跟踪代码之前立即从您的网站链接到该文件。跟踪代码应该在结束标记之前。

 <script type="text/javascript" src="/path_to_php_file.php"></script>
    <!-- google tracking code here-->

您的GA跟踪现在可以100%正常运行。在我等待正式回答告诉我(以及其他人)如何使其正常工作时,这是经过试验和测试并在生产中。

相关问题