用户没点同意就加载第三方脚本,这样合规吗?

Mc.柯依 阅读 4

我最近在做 GDPR 合规改造,发现我们网站一进来就自动加载了 Google Analytics 和 Facebook Pixel。产品经理说要等用户点了“接受 Cookie”之后才能加载这些脚本,但我现在是直接在 useEffect 里初始化的,根本没判断同意状态。

我试过加个 isConsentGranted 状态控制,但不确定是不是真的能阻止脚本执行。下面是我现在的写法,这样改够不够?会不会有隐私风险?

useEffect(() => {
  if (!isConsentGranted) return;

  // 加载 GA
  gtag('config', 'GA_MEASUREMENT_ID');
  
  // 加载 FB Pixel
  fbq('init', 'PIXEL_ID');
  fbq('track', 'PageView');
}, [isConsentGranted]);
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
闲人俊杰
你的改法基本正确,但要确保脚本本身不会在页面加载时自动执行。检查一下这些第三方脚本的引入方式,最好改成动态加载。像这样:

if (isConsentGranted) {
let gaScript = document.createElement('script');
gaScript.src = 'https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID';
document.head.appendChild(gaScript);

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
}


这样能更彻底地控制脚本加载时机。
点赞
2026-03-30 13:21