Google跟踪代码管理器和单页应用

时间:2015-10-23 09:48:11

标签: google-tag-manager

我正在尝试将Google跟踪代码管理器与我的Ember应用程序集成。我很难理解如何通知GTM页面已更改,并发送页面查看事件。

我在线阅读了很多内容,主要是为“虚拟页面”创建一个新变量,但显然这远非理想。

我希望能够使用dataLayer.push来通知实际更改的页面。有没有一个简单的方法我没有找到,或者在SPA上跟踪GTM是否真的很痛苦?

2 个答案:

答案 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类型,并根据下面的屏幕截图进行设置。

[Universal Analytics tag configuration[1]

对于触发器,设置先前定义的历史记录更改触发器,您已完成。每次在SPA中进行导航时,都会触发具有正确页面路径的页面查看事件。