首页 > 解决方案 > 自定义历史更改触发器以跳过 GTM 中同一页面上的 hashchanges

问题描述

我有一个带有 Barba.js 的网站,可以使用 pushState API 来加载页面。因此,为了在 GTM 中跟踪这些虚拟页面加载,我添加了一个历史更改触发器来触发分析页面查看事件。它工作得很好。但如果我有页面锚点,例如

<a href="#about">About</a>

这也会触发历史更改事件,并导致谷歌分析记录另一个我不想要的页面视图。

有没有办法使历史更改触发器仅在新页面上触发,例如如果/services更改为,并且在 URL更改/about为时不触发/about/about/#about

更新: 我现在使用“历史源”变量等于“pushState”条件来过滤历史更改事件,因为哈希更改事件在数据层变量的历史源中显示“popState”。我不是 100% 确信这是正确的,但它似乎正在工作。

标签: google-tag-managerpushstate

解决方案


推荐阅读