未捕获的引用错误:ga未定义,与ga('require','ec')相关。

13

我的网站使用Google Tag Manager跟踪页面浏览量,并在某些页面上使用ga('require', 'ec')加载增强型电子商务插件,但出现了错误:

未捕获的引用错误:ga未定义

代码片段:

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                                              
    });

出了什么问题?


你是否在高级设置中意外更改了全局函数名称(也许你想更改跟踪器名称,这是必要的才能使其工作,并误触了错误的设置)? - Eike Pierstorff
@EikePierstorff 我没有改变全局函数名称,但我的网站是https的,https会影响gtm的加载吗? - Lina Zhai
不,https不会影响GTM。可能是因为您的代码在分析标签加载之前运行。我认为最好通过GTM创建您的电子商务跟踪(即将值推送到数据层,然后通过GTM分析标签发送信息)。 - Eike Pierstorff
@EikePierstorff gtm代码片段在<head>中,而我的代码在<body>中,我不明白为什么我的代码会在Analytics标签加载之前运行。 - Lina Zhai
1个回答

34

此脚本运行后,GA正在加载。

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

您可以将此脚本作为HTML标签添加到GTM中,并将通用分析标签设置为其要求,或者在页面头部添加更多脚本

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

(来源)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接