【问题标题】:Google Analytics 4 does not work with Nextjs Script tagGoogle Analytics 4 不适用于 Nextjs 脚本标签
【发布时间】:2022-10-18 22:51:11
【问题描述】:

我用 Nextjs 建立了一个网站。我尝试将 GA 集成到该站点。我尝试使用 next/script 标记来实现,但 GA 没有在仪表板上显示报告、用户、综合浏览量等。但是如果我使用普通的script 标签,那么它就可以工作。

为什么 Google Analytics 不能使用 next/script 标记。

next/script 的 GA 代码片段 [不工作]

<Script
  src={`https://www.googletagmanager.com/gtag/js?id=${process.env.GA_MEASUREMENT_ID}`}
  strategy="afterInteractive"
  />
  
<Script id="google-analytics-script" strategy="afterInteractive">
        {`
              window.dataLayer = window.dataLayer || [];
              function gtag(){dataLayer.push(arguments);}
              gtag('js', new Date());
              gtag('config', '${process.env.GA_MEASUREMENT_ID}');
        `}
 </Script> 

笔记: 我也尝试在dangerouslySetInnerHTMLnext/script 中设置ga 代码,但它仍然不起作用。

带有常规 script 标签的 GA 代码 sn-p [工作]

<script
  async
  src={`https://www.googletagmanager.com/gtag/js?id=${process.env.GA_MEASUREMENT_ID}`}
 />

 <script
   dangerouslySetInnerHTML={{
   __html: `
   window.dataLayer = window.dataLayer || [];
   function gtag(){dataLayer.push(arguments);}
   gtag('js', new Date());
   gtag('config', '${process.env.GA_MEASUREMENT_ID}', { 'send_page_view': true });
            `,
   }}
 />

现在我的简单问题是为什么谷歌分析不能与下一个/脚本一起使用?

【问题讨论】:

  • 尝试将策略更改为lazyOnload。另外,您将gtag放在哪个文件中?
  • 我还尝试将策略更改为lazyOnload。但它甚至没有工作。首先,我将 gtag 放入 _document.js,然后放入 _app.js。
  • 我遇到了同样的问题

标签: javascript reactjs google-analytics next.js


【解决方案1】:

Next.js Script 标签不能在头部,它需要在头部之外。看到这个答案:https://stackoverflow.com/a/68059559/2031033

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。升级到下一个 12.2.0 解决了它。

    我也发现了这个问题,但是即使将脚本移出 Head 组件,它也不起作用。 Next 11 and adding Script tags not working. No scripts are rendered

    【讨论】:

    猜你喜欢
    • 2022-09-27
    • 2021-12-21
    • 2022-08-14
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多