1

我花了很多时间来解决我的问题。我想使用 . 检查我自己的 cookie 的值gatsby-plugin-gdpr-cookies。我硬编码,该值gatsby-gdpr-google-analytics始终是真实的,以证明插件是否正常工作。问题是,我的网站仍然没有部分<script>中的谷歌分析<head>。任何想法如何解决这个问题?我试图在不同级别上移动插件gatsby-config.js,但没有任何效果。这是我的配置:

plugins: [
    {
      resolve: `gatsby-plugin-gdpr-cookies`,
      options: {
        googleAnalytics: {
          trackingId: 'MY_TRACKING_ID',
          cookieName: 'gatsby-gdpr-google-analytics',
          anonymize: true,
          allowAdFeatures: false
        }
      },
      environments: ['production', 'development']
    },
4

1 回答 1

0

谷歌最近在他们的分析 API 中应用了一些更改(迁移到v4),似乎一些插件还没有更新,所以它们不会工作。你会注意到,因为它trackingId改变了它的格式。

您可以在此GitHub 线程中跟踪堆栈跟踪(来自插件的所有者)。

此时,您可以进行一些试验:

  • 升级依赖项,记住它可能还不能工作:npm upgrade gatsby-plugin-gdpr-cookies或者yarn upgrade gatsby-plugin-gdpr-cookies

  • 切换到旧的分析跟踪:在您的分析仪表板中设置它,获取新的跟踪标识符并将其用于:

    trackingId: 'OLD_TRACKING_ID',
    
  • v4使用其他一些支持跟踪的依赖项切换到另一种基于 React 的方法,例如ga-4-react. 您需要<head>使用组件自定义标签<Helmet>以添加跟踪标识符。为了避免同一模块的多个实例,您可能需要使用一些gatsby-browsers.jsAPI,onClientEntry或者onInitialClientRender应该适合您的用例:

    exports.onClientEntry = () => {
       yourAnalyticsFunction()
    }
    
于 2021-02-02T17:05:07.177 回答