使用 GA4 和 NextJS 获取冗余综合浏览事件

Luk*_*ann 3 google-analytics single-page-application next.js google-analytics-4

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

\n

初始页面加载按预期发送事件,但后续页面(通过单击 Next\xe2\x80\x99s 链接组件生成的链接访问)将记录综合浏览事件两次。其他事件按预期触发一次。

\n

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

\n

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

\n

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

\n

通过在公共组件中包含以下内容,将 GA4 标记加载到每个页面上:

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

Jul*_*era 6

我花了半天时间(page_view与 Gatsby 和 获得双重事件),我很确定您的问题的解决方案与/sf/answers/4642282851/gatsby-plugin-google-gtag相同

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

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

禁用增强测量的屏幕截图

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

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