首页 > 解决方案 > 如何在 cookie 同意的情况下配置 gatsby-plugin-google-analytics?

问题描述

我已经开发了一个网站,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,
  },
},

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

提前谢谢你。

标签: google-analyticsgatsby

解决方案


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

由您决定:

  1. 构建并显示带有选择退出的 cookie 通知
  2. 记住用户何时选择退出
  3. 通过ga()设置window['ga-disable-UA-XXXXX-Y'] = true

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

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

推荐阅读