当我在 React<a />
或<Link />
元素上的 GTM 中添加触发器时,它会在单击时导致整个页面重新加载,而不是仅重新渲染应用程序的一部分。
当我删除谷歌跟踪时,一切正常。有没有办法,如何配置 GTM 不影响应用程序的行为?
当我在 React<a />
或<Link />
元素上的 GTM 中添加触发器时,它会在单击时导致整个页面重新加载,而不是仅重新渲染应用程序的一部分。
当我删除谷歌跟踪时,一切正常。有没有办法,如何配置 GTM 不影响应用程序的行为?
如果 Google Tag Manager 链接点击跟踪发生奇怪的事情,您应该做的第一件事就是转到点击触发器设置,看看是否启用了“等待标签”和“检查验证”复选框(默认情况下)和取消选中它们。
它们在 SPA 中不是必需的,并且(有证据表明)可能有害;“等待标签”添加一个延迟,以便其他标签有时间在链接引导用户离开页面之前触发(这在任何情况下都不会发生在 SPA 中),“检查验证”测试链接目标是否为有效的 URI(在 SPA 中它可能不是 GTM 标准——例如以哈希开头的链接无效等)。
您可以创建单独的功能并使用上下文路由器来更改路由:
myFunction(url) {
this.context.router.push({
pathname: url
});
}
<Link onClick={this.myFunction.bind(this,url)} ></Link>
将此功能附加到 Link 标签的 onClick。