返回博客

为 Next.js 应用添加隐私优先分析

一步步指导你将 Monoid 集成到 Next.js 中,无需 cookie、同意横幅或合规烦恼。

Next.js 应用有几种常见的分析方法,大多数都涉及 cookie 横幅或拖慢你 Core Web Vitals 的重量级第三方脚本。这里讲述如何添加实时、隐私优先的分析,而避免这两种问题。

你会得到什么

  • 在每次路由变化(包括客户端导航)时进行 pageview 追踪
  • 访客计数、推荐来源、国家、浏览器系列和设备类型
  • 无 cookie、无指纹,无需 GDPR 同意
  • 单个 async script 标签——无需维护 npm 包

步骤 1:创建 Monoid 账户

在 monoid.website 注册并创建新站点。你将收到一个 site_id——你站点的简短字母数字标识符。

步骤 2:将追踪器添加到布局

在使用 App Router 的 Next.js 13+ 中,将追踪器脚本添加到根 layout.tsx

import Script from 'next/script'

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script
          src="https://api.monoid.website/tracker.min.js"
          data-site-id="YOUR_SITE_ID"
          strategy="afterInteractive"
        />
      </body>
    </html>
  )
}

使用 strategy="afterInteractive" 会在页面变得可交互后加载脚本,确保你的 Largest Contentful Paint 分数不受影响。

步骤 3:处理客户端导航

追踪器内置的 history.pushState 钩子会在 Pages Router 和 App Router 的每次导航事件上自动触发。你无需添加任何额外内容。

如果你想发送自定义事件——例如,当用户完成结账或点击特定按钮时——直接调用全局辅助函数:

window.monoid('event', 'checkout_complete')

步骤 4:在仪表板中验证

打开你的 Monoid 仪表板并导航到站点上的某个页面。你应该会在几秒内看到一个实时访客出现在实时信息流中。如果你设置了暂存环境,请确保它使用单独的 site_id,以避免开发流量污染你的生产指标。

不需要的东西

你不需要安装 cookie 同意管理器。你不需要更新隐私政策以提及分析 cookie(因为根本没有)。你也不需要 npm 包——追踪器是从全球边缘网络提供的单个原生 JavaScript 文件。

浏览器系列和设备类型在服务器端从普通请求 User-Agent 推导得出,用于聚合报告。完整的 User-Agent 字符串、浏览器版本、cookie、持久标识符和设备指纹从不存储。

对于大多数 Next.js 项目,从注册到实时数据,整个过程不到两分钟。