2017-03-10 119 views
3

我的网站使用Google跟踪代码管理器跟踪浏览量,并使用ga('require', 'ec')在某些页面加载增强型电子商务插件,但出现错误:Uncaught ReferenceError:ga未使用ga定义('require','ec')

Uncaught ReferenceError: ga is not defined

代码段:

ga('require', 'ec'); 
function onProductClick(product, url, key) { 
    ga('ec:addProduct', { 
     'id': "'" + product.product_id + "'",       
     'name': product.model_name,         
     'category': product.series_name + '/' + product.dealer_name, 
     'brand': product.brand_name,         
     'variant': product.model_name,        
     'position': key            
    }); 

这有什么错呢?

+0

你有没有偶然在高级设置(也许你的意思改变跟踪器名称,​​这将是必要的这项工作,并击中了错误的设置)改变全局函数的名字吗? –

+0

@EikePierstorff我没有更改全局函数名称,但我的网站是https,可以https影响gtm的负载? –

+0

不,https不会影响GTM。可能是您的代码在加载Analytics标记之前运行。我认为如果您通过GTM创建电子商务跟踪(例如,将值推送到数据层,然后通过GTM分析标签发送信息),那将会更好。 –

回答

10

GA在此脚本运行后加载。

GTM是异步的,因此包含在其中的标记不能保证在内联脚本运行之前运行。

你可以添加这个脚本在GTM的HTML标签,并设置Universal Analytics代码为它的要求,或add some more script到页面的头部。

<script> 
    window['GoogleAnalyticsObject'] = 'ga'; 
    window['ga'] = window['ga'] || function() { 
    (window['ga'].q = window['ga'].q || []).push(arguments) 
    }; 
</script> 

(Source)

相关问题