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

时间:2019-08-31 06:42:18

标签: google-analytics gatsby

我已经使用gatsby开发了一个网站,并且正在通过gatsby-plugin-google-analytics使用google Analytics插件,现在为了与用户友好,我想添加一个Cookie同意,用户将是两个选择接受还是拒绝Cookie的使用。如果用户拒绝,那么我想停止Google Analytics(分析)以跟踪用户活动。我仔细阅读了他们的文档,但找不到实现此目标的选项,有什么办法可以实现这一目标。

{
  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,
  },
},

对于运动,我的gatsby-config.js如下所示。如何做到这一点。

提前谢谢您。

2 个答案:

答案 0 :(得分:0)

该插件仅以兼容Gatsby的方式加载库和乐器页面跟踪调用。所有其他Google Analytics(分析)调用(包括disabling measurement for a user)的工作方式与正常情况相同。

由您决定:

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

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

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

答案 1 :(得分:0)

对于Gatsby网站,您可以在gatsby-config.jsgatsby-plugin-gdpr-cookies中结合使用react-cookie-consent来进行分析cookie管理,以显示cookie横幅。

# using npm
npm install --save gatsby-plugin-gdpr-cookies react-cookie-consent

# using yarn
yarn add gatsby-plugin-gdpr-cookies react-cookie-consent

您可以找到更详细的教程here