NextJS 对 SSG/SSR 和 Google Analytics/cookie 的建议

时间:2021-02-01 13:37:25

标签: reactjs google-analytics next.js server-side-rendering static-site

我有一个 NextJS 站点,它是在构建 (SSG) 时静态生成的。

接下来我需要实现两件事

  1. 谷歌分析
  2. 符合 GDPR 的选择加入 cookie 选项

第一个很容易做到,但是我正在努力使这个 GDPR 合规。 问题是当我的站点静态生成时,我无法访问服务器端的 cookie。这意味着,在不知道用户是否同意服务器上的 cookie 的情况下,我无法提供(或不提供)分析脚本以及页面的其余部分。

可能的解决方案:

  1. 在客户端处理所有事情 - 征求同意,然后将 GA 标记动态添加到 <head>。但是我担心这会对分析产生负面影响,或者完全破坏它。有人知道吗?

  2. 将我的网站更改为服务器端呈现 (SSR)。如果可能的话,我很想避免这种情况。我对网站使用 SSG 的运行速度感到非常满意。它本质上只是一个基本的博客,所以为了分析而必须转换是一种耻辱。

  3. 还有其他想法吗?...

如果有人有这方面的经验,无论他们使用 Next 还是 Nuxt 等,都将不胜感激!

提前致谢

1 个答案:

答案 0 :(得分:1)

使用 Google Tag Manager 来管理一切,例如使用 CookieHub (How to set up Google Analytics through Google Tag Manager for Next-Js?) 之类的东西,您的 GA 集成和 cookie 集成

只有当用户指定他接受分析 cookie 时,GTM 才会允许您触发 GA 脚本。

无论哪种方式,您都可以使用 Vercel.com 内置分析,因为您的网站使用 Next.js,这是 Vercel 的框架。