如何在 cookie 同意的情况下配置 gatsby-plugin-google-analytics?

Mr.*_*mid 5 google-analytics gatsby

我已经开发了一个网站gatsby,我正在通过 使用谷歌分析插件gatsby-plugin-google-analytics,现在为了对用户友好,我想添加一个 cookie 同意,用户将有两个选项是接受还是拒绝 cookie 的使用。如果用户拒绝,那么我想停止谷歌分析来跟踪用户活动。我深入研究了他们的文档,但找不到实现这一目标的选项,有什么办法可以实现这一目标。

{
  resolve: `gatsby-plugin-google-analytics`,
  options: {
    trackingId: siteConfig.googleAnalyticsId,
    // Defines where to place the tracking script - `true` in the head and `false` in the body
    head: false,
  },
},
Run Code Online (Sandbox Code Playgroud)

对于运动,我gatsby-config.js看起来像这样。如何实现这一目标。

提前谢谢你。

cor*_*ard 1

该插件仅以 Gatsby 兼容的方式为您加载库和工具页面跟踪调用。所有其他 Google Analytics 调用(包括禁用用户测量)都与正常情况相同。

由您决定:

  1. 构建并显示带有选择退出的 cookie 通知
  2. 记住用户何时选择退出
  3. ga()通过设置在每个页面加载时(在进行任何调用之前)向用户传达此信息window['ga-disable-UA-XXXXX-Y'] = true

您应该能够在onClientEntry从导出的函数中执行此操作gatsby-browser.js。例如:

export const onClientEntry = () => {
  if (userHasOptedOutOfThirdPartyTracking()) {
    window[`ga-disable-${process.env.GATSBY_GOOGLE_ANALYTICS_ID`] = true
  }
}
Run Code Online (Sandbox Code Playgroud)