Skip to content

Cloudflare Web Tag Management 安装 Microsoft Clarity (2026年最新指南)

本教程将指导你如何在 Cloudflare Web Tag Management (原 Zaraz) 中安装 Microsoft Clarity,并配置合规的 Consent (用户同意) 管理。

为什么选择 Cloudflare Web Tag Management (而非直接安装代码)?

相比直接将 <script> 代码粘贴到网站 HTML 中,使用 Cloudflare Web Tag Management 有以下核心优势:

  1. 极速性能 (Off-loading)

    • 传统方式:每个第三方脚本(Clarity, GA 等)都会在用户浏览器中下载并执行,拖慢页面加载速度,阻塞主线程。
    • Cloudflare 方式:脚本在 Cloudflare 的边缘服务器上运行。浏览器只需要与 Cloudflare 通信,极大地减少了用户端的 JavaScript 执行量,显著提升 Core Web Vitals 分数。
  2. 无需重新部署

    • 一旦配置好,后续添加 Google Analytics、Pixel 或其他工具,只需在 Cloudflare 后台操作,无需修改网站代码或重新发布版本。
  3. 内置隐私合规 (GDPR/CCPA)

    • 它提供了一套完整的 Consent Management Platform (CMP)。你可以轻松控制“只有用户同意后,才加载 Clarity”,而无需编写复杂的 JavaScript 拦截逻辑。
  4. 单一数据源

    • 所有工具共用同一个触发器和数据层,数据更准确,管理更统一。

第一步:准备工作

  1. 注册/登录 Microsoft Clarity
  2. 创建项目,获取 Project ID (在 Settings -> Overview 中)。
  3. 确保你的域名已托管在 Cloudflare。

为了符合 GDPR/CCPA,我们需要先设置 Consent Purpose。

  1. 登录 Cloudflare Dashboard,进入你的域名。
  2. 左侧菜单选择 Web Tag Management (原 Zaraz) -> Consent
  3. 点击 Add Purpose
    • Name: Analytics & Improvements (或自定义名称)
    • Description: Help us improve the website by allowing Microsoft Clarity to analyze usage patterns.
    • 点击 Save

(可选) 自定义弹窗样式: 在 Consent 页面下方找到 Custom CSS,粘贴以下代码以美化弹窗:

css
.cf_modal {
    border-radius: 12px !important;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1) !important;
    font-family: system-ui, sans-serif !important;
}
.cf_modal .button_container button.accept_all {
    background-color: #0052D4 !important; /* 替换为你品牌的主色 */
    color: white !important;
    border-radius: 9999px !important;
}

第三步:添加 Microsoft Clarity 工具

由于目前官方库中 Clarity 模板可能不可用或过时,推荐使用 Custom HTML 方式,最灵活且稳定。

  1. 进入 Web Tag Management -> Tools -> Add new tool
  2. 选择 Custom HTML,点击 Continue
  3. 命名为 Microsoft Clarity,点击 Save
  4. 点击刚创建的工具进入配置页面:
    • Settings -> Add Field (如果需要,否则直接在代码框操作)。
    • 点击 Edit Code (或类似的代码输入区域),粘贴以下脚本:
html
<script type="text/javascript">
    (function(c,l,a,r,i,t,y){
        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "YOUR_PROJECT_ID_HERE");
</script>

⚠️ 注意:请将 YOUR_PROJECT_ID_HERE 替换为第一步获取的 Project ID。

  1. 配置触发器 (Triggers)

    • 确保 Firing Triggers 包含 Pageview (默认通常已有,如果没有则添加一个规则为 Page URL matches regex .* 的触发器)。
  2. 关联 Consent (关键步骤)

    • 在工具设置页面找到 Consent 部分。
    • 在下拉菜单中选择第二步创建的 Analytics & Improvements
    • 保存设置

效果:只有当用户在弹窗中同意了 "Analytics & Improvements",Clarity 脚本才会加载。

(注意:Cloudflare Web Tag Management 的拦截是在边缘侧进行的,浏览器甚至不会收到加载 Clarity 的请求,这是最彻底的隐私保护方式。)


GDPR 要求用户必须能随时撤回同意。你需要在网站底部添加一个链接来重新唤起弹窗。

1. 创建客户端组件 (Next.js 示例)

如果你使用的是 Next.js (App Router),需要创建一个 Client Component 来处理点击事件。

src/components/CookieSettingsLink.tsx:

typescript
'use client';

import React from 'react';

interface Props {
  className?: string;
  text?: string;
}

export function CookieSettingsLink({ className, text = "Cookie Settings" }: Props) {
  return (
    <a 
      href="#" 
      onClick={(e) => { 
        e.preventDefault(); 
        // 调用 Cloudflare Web Tag Management API 显示弹窗
        if ((window as any).zaraz) {
            (window as any).zaraz.showConsentModal();
        }
      }} 
      className={className}
    >
      {text}
    </a>
  );
}

src/components/layout/Footer.tsx:

typescript
import { CookieSettingsLink } from '../CookieSettingsLink';

// ...
<footer className="site-footer">
    <!-- 其他链接 -->
    <CookieSettingsLink className="legal-link" />
</footer>

第五步:验证安装

  1. 打开你的网站(建议使用无痕模式)。
  2. 你应该能看到 Cloudflare 的 Consent 弹窗。
  3. 测试拒绝:点击 "Reject All" 或不勾选 Analytics。打开控制台 (F12) -> Network,搜索 clarity,应该没有相关请求。
  4. 测试同意:点击 "Cookie Settings" 重新打开弹窗,勾选 Analytics 并保存。Network 中应该出现 clarity.ms 的请求。
  5. 等待 1-2 小时,进入 Microsoft Clarity 后台查看数据。

常见问题

Q: 为什么不用 Clarity 的 "Cookies: No" 模式? A: 虽然 Clarity 支持无 Cookie 模式,但为了最严格的合规性,建议将整个脚本加载都置于用户同意之后。Cloudflare Web Tag Management 的原生拦截是目前最安全、性能最好的做法。

Q: Google Analytics 怎么处理? A: 同样的方法。添加 Google Analytics 工具,并将其关联到同一个 (Analytics) Purpose。这样用户一次点击就能同时授权或拒绝所有分析工具。