我正在尝试将Google跟踪代码管理器与我的Ember应用程序集成。我很难理解如何通知GTM页面已更改,并发送页面查看事件。
我在线阅读了很多内容,主要是为“虚拟页面”创建一个新变量,但显然这远非理想。
我希望能够使用dataLayer.push
来通知实际更改的页面。有没有一个简单的方法我没有找到,或者在SPA上跟踪GTM是否真的很痛苦?
答案 0 :(得分:12)
您肯定需要将事件推送到dataLayer,然后您可以在GTM中触发GA页面视图标记。所以将事件推入DL:
dataLayer.push({'event':'virtualPageView'});
然后设置一个名为'vpv'的触发器,该触发器触发一个名为'virtualPageView'的自定义事件。将该触发器添加到GA标记。</ p>
最好的办法是在发送活动时通过虚拟页面的详细信息发送。这样,您可以设置将这些dataLayer属性值拉入页面视图调用的变量。所以你可以这样做:
dataLayer.push({
'event':'virtualPageView',
'page':{
'title':'contact us',
'url':'/contact'
}
});
所以你设置了一个名为'DL-page title'的变量(例如),它是一个dataLayer值'page.title'和另一个名为'DL-page url'的变量,它是一个dataLayer值'page .URL”。
然后,您设置了一个新的Universal Analytics标记,该标记包含所有常用的综合浏览量设置,但有2个“要设置的字段”(在“更多设置”下)。将“{title”设置为{{DL-page title}},将“page”设置为{{DL-page url}}
最后将触发器设置为'vpv',每次将事件+数据推送到数据层时,您都会发现使用虚拟页面的标题和虚拟URL触发了pageView。
答案 1 :(得分:8)
这是很久以前的问题。使用GTM的当前功能集,您可以轻松设置SPA页面跟踪,而不会有太多麻烦。
首先,转到Triggers
并创建一个新触发器。选择History Change
作为触发类型。这将创建一个触发器,每次位置历史记录更改时都会触发该触发器。
然后创建一个新的Tag
Universal Analytics
类型,并根据下面的屏幕截图进行设置。
[
对于触发器,设置先前定义的历史记录更改触发器,您已完成。每次在SPA中进行导航时,都会触发具有正确页面路径的页面查看事件。