Angular 和 Google 标签管理器 (GTM) gtm.click
Angular and Google tag manager (GTM) gtm.click
我 运行 遇到了问题,我似乎找不到解决方法。情况如下,市场部要整合GTM。这很好,因为他们希望完全控制他们希望集成的不同第三方提供商。但要实现这一点,他们希望能够跟踪页面上的所有点击。
然后他们回复我说目前没有使用 GTM 中的当前配置跟踪点击事件。起初的想法是事件没有向上传播(冒泡)。但是,通过将事件侦听器绑定到文档(单击)(见下文)所有 div、带有 ng-click 指令的按钮等,我自己对此进行了测试,确实可以毫无问题地到达此处理程序。
document.addEventListener("click", function(event){
console.dir(event.target);
});
所以我的假设是配置有问题,但在查看配置(我自己创建的配置如下)之后:
我仍然无法让它工作。已经使用 angulartics - https://luisfarzati.github.io/angulartics/ 将事件发送到 GTM 容器的按钮按预期工作:
<a href="file.pdf" analytics-on="click" analytics-event="Download">Download</a>
只有捕获所有点击事件(或任何过滤器,如纯粹查看按钮点击)不会。现在,在进一步查看之后,GTM 似乎预计 gtm.click
_event
会发生。但我无法弄清楚(通过 gtm.js 文件注视)它们如何绑定到文档中的所有点击事件(初始化后文档上有一个点击绑定,但我不确定这是 GTM 还是来自angular)。即便如此,我还是在这个文件中放置了很多断点,这些断点似乎与它相关,但是 none 其中的断点是在单击某些内容时触发的。
所以我的问题是,有没有人有将 angularjs 与 angulartics 和 GTM 结合使用的经验,同时让它捕获所有 click/touch/mousedown 等事件并将这些事件发送到 GTM?
确保您在进行一些更改后发布了 GTM 容器。使用 GTM 界面内的 "Publish Now" 或 "Preview and Debug" 按钮(top-right 角)。
因为根据您的代码配置,每次用户在网站上单击某些内容时都会触发此代码。
关于 "gtm.click" - 这个 GTM-event 每次都会在用户点击网站上的内容时触发。
在屏幕截图上,您可能会看到,当用户在 web-page 处点击某些东西时,在 GTM 调试模式 ("Preview and Debug") 中,当 GTM 点击侦听器打开时(就像在您的标签中)。
我网站上有关在 GTM 上跟踪 buttons/links 的一些相关文章可能也会对您有所帮助:
我的问题原来是给我 html GTM 标签(noscript / script)的人(营销人员)没有正确复制它(或者在 JIRA 中粘贴时出现问题).在我直接复制它之后(已经获得了 GTM 管理面板的访问权限)它像我期望的那样工作。
看到我通过尝试只有一个 index.html 来调试它,其中只有一个按钮。即使在那个时候,跟踪器也没有工作,我开始怀疑为什么会发生这种情况,因为不再有 angular 代码可能会导致问题。
吸取教训,下次需要时自己复制代码,确保它不会在途中被破坏:/
我 运行 遇到了问题,我似乎找不到解决方法。情况如下,市场部要整合GTM。这很好,因为他们希望完全控制他们希望集成的不同第三方提供商。但要实现这一点,他们希望能够跟踪页面上的所有点击。
然后他们回复我说目前没有使用 GTM 中的当前配置跟踪点击事件。起初的想法是事件没有向上传播(冒泡)。但是,通过将事件侦听器绑定到文档(单击)(见下文)所有 div、带有 ng-click 指令的按钮等,我自己对此进行了测试,确实可以毫无问题地到达此处理程序。
document.addEventListener("click", function(event){
console.dir(event.target);
});
所以我的假设是配置有问题,但在查看配置(我自己创建的配置如下)之后:
我仍然无法让它工作。已经使用 angulartics - https://luisfarzati.github.io/angulartics/ 将事件发送到 GTM 容器的按钮按预期工作:
<a href="file.pdf" analytics-on="click" analytics-event="Download">Download</a>
只有捕获所有点击事件(或任何过滤器,如纯粹查看按钮点击)不会。现在,在进一步查看之后,GTM 似乎预计 gtm.click
_event
会发生。但我无法弄清楚(通过 gtm.js 文件注视)它们如何绑定到文档中的所有点击事件(初始化后文档上有一个点击绑定,但我不确定这是 GTM 还是来自angular)。即便如此,我还是在这个文件中放置了很多断点,这些断点似乎与它相关,但是 none 其中的断点是在单击某些内容时触发的。
所以我的问题是,有没有人有将 angularjs 与 angulartics 和 GTM 结合使用的经验,同时让它捕获所有 click/touch/mousedown 等事件并将这些事件发送到 GTM?
确保您在进行一些更改后发布了 GTM 容器。使用 GTM 界面内的 "Publish Now" 或 "Preview and Debug" 按钮(top-right 角)。 因为根据您的代码配置,每次用户在网站上单击某些内容时都会触发此代码。
关于 "gtm.click" - 这个 GTM-event 每次都会在用户点击网站上的内容时触发。 在屏幕截图上,您可能会看到,当用户在 web-page 处点击某些东西时,在 GTM 调试模式 ("Preview and Debug") 中,当 GTM 点击侦听器打开时(就像在您的标签中)。
我网站上有关在 GTM 上跟踪 buttons/links 的一些相关文章可能也会对您有所帮助:
我的问题原来是给我 html GTM 标签(noscript / script)的人(营销人员)没有正确复制它(或者在 JIRA 中粘贴时出现问题).在我直接复制它之后(已经获得了 GTM 管理面板的访问权限)它像我期望的那样工作。
看到我通过尝试只有一个 index.html 来调试它,其中只有一个按钮。即使在那个时候,跟踪器也没有工作,我开始怀疑为什么会发生这种情况,因为不再有 angular 代码可能会导致问题。
吸取教训,下次需要时自己复制代码,确保它不会在途中被破坏:/