我有一个Next.js项目,当我点击(触发)到我的GA4标签的一些链接时,我需要当前的页面路径。问题是Page Path变量的值不正确,因为在没有完全重新加载应用程序和快速更改路由的情况下,返回的Page Path是链接的目标页面,而不是当前页面。这实际上是由于延迟而发生的,如果我在加载时间较长的较慢环境(例如localhost)中进行测试,则返回的值是正确的,即更改路由之前的Page Path。
我已经尝试过在代码中创建一个带有页面路径的数据层变量,但还是发生了同样的事情。
useEffect(() => {
//Update GTM data layer pagePath variable
pushEvent({
pagePath: asPath
})
}, [pathname])
有人知道如何以通用的方式获得这个值吗?我有几个标签,我们并不总是有一个开发人员可以做这件事,所以这必须由GTM或在代码中明确的方式解决。
1条答案
按热度按时间f4t66c6m1#
您可以侦听
routeChangeStart
事件,该事件在更改路由之前触发。示例实现: