首页 文章

迁移到Google跟踪代码管理器打破了我们的虚拟网页浏

提问于
浏览
1

我最近将公司的网站转换为Google跟踪代码管理器 . 由于我们的联系表单没有包含唯一网址的唯一确认页,因此我们使用虚拟综合浏览量来跟踪转化情况 . 表单已提交,页面会重新加载新内容和转化跟踪代码 .

自迁移到GTM以来,我们所有的虚拟网页浏览都停止了工作 . 现在,当我在我们的网站上提交表单时,我在控制台日志中得到了这个:

ReferenceError: ga is not defined
  ga('send', 'pageview', '/funnel_G1/premium1.html');

之前,我们直接在页面上加载了Universal Analytics . 现在我们通过GTM加载Universal Analytics . 这就是所有改变了,我无法弄清楚为什么我们的虚拟网页浏览脚本不再有效 .

这是在表单完成时触发的脚本:

<script type="text/javascript">
$(document).ready(function () {
  ga('send', 'pageview', '/funnel_G1/premium1.html');
});
</script>

2 回答

  • 1

    问题是,GTM异步加载 ga() 函数 . 如果在加载之前调用 ga() ,则会遇到此错误 .

    解决方法是以某种方式等待定义 ga() ,或者使用 dataLayer.push()


    编辑

    我们最终使用的解决方案 - 我们在GA中没有包含Google Analytics,但在源代码中单独包含它们 . GTM将处理除GA之外的其他脚本icnludes . 这个解决方案至少没有打破我们项目的整个过程 .

  • 2

    当您转移到GTM时,您可能还正确删除了所有页面上的GA代码,其中包括标准GA代码段以及

    ga('create', 'UA-.....');
    ga('send','pageview');
    

    码 . 删除GA代码段也会删除“ga”对象的创建,这就是您收到错误的原因 . 使用GTM,您现在需要使用标签发送您的活动和综合浏览量 . 因此,您可以尝试将事件推送到dataLayer,以帮助触发激活虚拟网页浏览的标记 . 在您的特定情况下,您可以在提交表单时执行以下操作:

    dataLayer.push({
       'event': 'form complete',
       'vpv': '/funnel_G1/premium1.html'
    })
    

    然后在GTM中,您需要创建由事件'form complete'触发的pageview标记,并且还将页面值更改为'vpv'dataLayer键的值(即./funnel_G1/premium1.html) .

相关问题