2

我正在尝试将 NextJS 应用程序转换为 GA4。

初始页面加载按预期发送事件,但后续页面(通过单击由 Next 的 Link 组件生成的链接访问)将记录浏览量事件两次。正如预期的那样,其他事件会触发一次。

换句话说,如果我转到页面 A,然后单击页面 B 的链接,页面 A 的实时事件将显示对页面 A 的一次访问,但对页面 B 的两次访问。

无法判断这是 GA4 错误、NextJS 错误还是我的实现有问题。

在我们传统的 GA 设置中没有观察到这种行为,即使在剥离所有现有的 GA 分析(通过React-GA使用)时也可以观察到这种行为,并且在开发模式内外都可以观察到。

GA4 标签通过在一个通用组件中包含以下内容加载到每个页面上:

<script async src="https://www.googletagmanager.com/gtag/js?id=G-xxxxxxxx" />
<script
  type="text/javascript"
  dangerouslySetInnerHTML={{
  __html: `window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-xxxxxxxx');`,
  }}
/>
4

1 回答 1

4

我花了半天时间(page_view与 Gatsby 和 获得双重事件gatsby-plugin-google-gtag),我很确定您的问题的解决方案与https://stackoverflow.com/a/66318326/365238相同

基本上 GA4 引入了一种叫做“增强测量”的东西,它比 GA 过去跟踪的东西更多。默认情况下,此设置处于启用状态,并且令人讨厌地覆盖gtag('config', { send_page_view: false }). 我不确定这是否应该作为错误提交给 Google,或者我们应该停止尝试手动处理历史更改并让 GA 发挥它的魔力。

可以通过转到 GA 中的管理员,然后转到您的属性,选择数据流,然后选择您的应用正在使用的流并完全禁用“增强测量”来禁用此行为:

禁用增强测量的屏幕截图

或者通过特别禁用跟踪浏览器历史记录(单击“增强测量”打开时显示的齿轮图标以查看此内容):

禁用浏览器历史事件的屏幕截图

于 2021-05-12T20:05:14.327 回答