转到谷歌标签管理器破坏了我们的虚拟页面浏览量
Moving to Google Tag Manager broke our virtual pageviews
我最近将公司的网站转换为谷歌标签管理器。由于我们的联系表格没有带有唯一URL的唯一确认页面,我们使用虚拟页面视图来跟踪转换。表单已提交,页面将重新加载新内容和我们的转换跟踪代码。
自从迁移到GTM后,我们所有的虚拟页面视图都停止了工作。现在,当我在我们的网站上提交表格时,我会在控制台日志中得到这个:
ReferenceError: ga is not defined
ga('send', 'pageview', '/funnel_G1/premium1.html');
之前,我们让Universal Analytics直接加载到页面上。现在我们正在通过GTM加载通用分析。这就是所有的变化,我不明白为什么我们的虚拟页面视图脚本不再工作。
这是在表单完成时触发的脚本:
<script type="text/javascript">
$(document).ready(function () {
ga('send', 'pageview', '/funnel_G1/premium1.html');
});
</script>
当您转到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键的值(即/con漏斗_G1/premium1.html)。
问题是,GTM异步加载ga()
函数。如果在加载ga()
之前调用它,则会遇到此错误。
解决方案是以某种方式等待定义ga()
,或使用dataLayer.push()
编辑
我们最终使用的解决方案-我们只是没有在GA中包括Analytics,而是在源代码中单独包括它们。GTM将处理除GA之外的其他脚本icnludes。这个解决方案至少没有破坏ga()
在整个项目中的使用。
- 显示浏览量最高的三篇文章
- 将javascript与PHP混合?(跟踪Google Analytics虚拟页面浏览量)
- iFrame 是否计算页面浏览量
- 为什么我的页面浏览量取决于谷歌分析与广告词;不合适
- 如何在不知道域名的情况下跟踪网站的网页浏览量
- 为什么谷歌分析没有跟踪我的单个页面的浏览量
- 如何仅计算当天的页面浏览量
- 谷歌分析,这个页面花了很长时间来发送页面浏览量
- 为什么谷歌分析不会跟踪我的站外订单中的页面浏览量
- 如何禁用谷歌分析网页浏览量跟踪,但保留事件跟踪
- Google Analytics、GoSquared和我自己的统计数据之间存在巨大的页面浏览量差异
- 按钮点击量算作页面浏览量
- 转到谷歌标签管理器破坏了我们的虚拟页面浏览量
- 页面浏览量作为事件谷歌分析
- 谷歌分析AJAX页面浏览量和自定义变量
- myfonts如何跟踪网页浏览量为他们的网页字体
- 连接路径名与虚拟URL跟踪网页浏览量
- 跟踪广告印象(浏览量)并防止欺诈
- 记录用户操作和页面浏览量的最有效方法是什么?
- 如何在模态窗口上编写一个谷歌分析虚拟页面浏览量