google-analytics - 如何在 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
看起来像这样。如何实现这一目标。
提前谢谢你。
解决方案
该插件仅以与 Gatsby 兼容的方式为您加载库和仪器页面跟踪调用。所有其他 Google Analytics 调用,包括为用户禁用测量功能都与正常情况相同。
由您决定:
- 构建并显示带有选择退出的 cookie 通知
- 记住用户何时选择退出
- 通过
ga()
设置window['ga-disable-UA-XXXXX-Y'] = true
您应该能够在导出为onClientEntry
from的函数中执行此操作gatsby-browser.js
。例如:
export const onClientEntry = () => {
if (userHasOptedOutOfThirdPartyTracking()) {
window[`ga-disable-${process.env.GATSBY_GOOGLE_ANALYTICS_ID`] = true
}
}
推荐阅读
- forms - 跟踪表单转换确认页面 URL 与表单相同
- python - 为什么我的 sqlalchemy “where”查询不解析日期?
- ios - SKTextureAtlas - 传递到地图集的路径,而不是寻找特定的地图集
- python-3.x - bind() 方法位置参数错误问题
- codeigniter - 在 MYSQL 中使用 id 生成准入号。我想要来自 CodeIgniter 的代码
- azure-devops - Kentico Multisite Azure Application Gateway App Service MVC 配置问题 - 502 错误
- ios - 如何使用“图表”创建空标签?
- reactjs - 反应原生的奇怪功能?
- angular - 如何防止用户在输入文本框中输入超过指定数量的角度输入字符?
- spring-boot - 错误:不可解析的父 POM:无法传输工件 org.springframework.boot:spring-boot-starter-parent:pom