文档
开发指南数据分析

数据分析

🚀 Cheatsheet (快速执行)

目标: 5分钟内配置用户行为分析,知道用户在你网站上做了什么

最快上手方式:

# 1. 启用 Vercel Analytics (免费且零配置)
npm i @vercel/analytics
echo 'NEXT_PUBLIC_VERCEL_ANALYTICS=true' >> .env.local

# 2. 添加到应用中
# 代码会自动包含,重启即生效

# 3. 查看数据
# Vercel 控制台 > Analytics 面板

立即生效: 重启应用后,用户访问数据自动收集到 Vercel 控制台

❓ 为什么要做数据分析

对 MVP 的直接价值:

  • 了解用户: 哪些功能用户最常用?哪里用户流失最多?
  • 优化决策: 数据驱动改进,不凭感觉猜测
  • 转化分析: 从访问到注册到付费的完整漏斗
  • 技术监控: 页面加载速度、错误率等性能指标

真实场景举例: 你发现用户在注册页面停留很久但不提交,可能是表单太复杂,简化后注册率提升 30%。

🤔 为什么选择多提供商策略

我们的实战经验:

  • Vercel Analytics: 零配置,免费,性能数据准确
  • Google Analytics: 免费,功能全面,历史数据丰富
  • Plausible: 隐私友好,欧洲用户喜欢
  • Mixpanel: 事件追踪强大,适合产品分析

统一 API 的好处:

// 一套代码,多个提供商
trackEvent('user_signup', { plan: 'pro' })

// 自动发送到:Vercel + Google Analytics + Mixpanel

🧠 简要原理 & 最简案例

分析系统架构: 用户操作 → 事件追踪 → 数据收集 → 分析面板 → 业务决策

核心使用模式:

// 1. 页面访问自动追踪(无需代码)
// 用户访问 /pricing → 自动记录

// 2. 关键事件手动追踪
import { useAnalytics } from '@analytics'

function SignupButton() {
  const { trackEvent } = useAnalytics()
  
  return (
    <button onClick={() => {
      trackEvent('signup_clicked', { 
        source: 'pricing_page',
        plan: 'pro' 
      })
    }}>
      注册账号
    </button>
  )
}

🛠️ 实际操作步骤

1. 启用 Vercel Analytics (推荐首选,2分钟)

为什么选 Vercel Analytics:

  • 零配置,部署在 Vercel 自动启用
  • 专注核心指标:页面访问、用户流、性能
  • 隐私友好,符合 GDPR
# 安装依赖
bun add @vercel/analytics

# 启用环境变量
echo 'NEXT_PUBLIC_VERCEL_ANALYTICS=true' >> .env.local

查看数据位置: Vercel 控制台 > 项目 > Analytics

2. 配置 Google Analytics (3分钟)

适用场景: 需要详细的用户画像和历史对比数据

# 1. 获取 GA 追踪 ID
# 访问 https://analytics.google.com
# 创建属性 > 获取 GA4 追踪 ID

# 2. 配置环境变量
echo 'NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX' >> .env.local

# 3. 启用 GA 提供商
# src/modules/analytics/index.ts
export * from './provider/google'

3. 追踪关键业务事件 (5分钟)

重要事件清单:

// 用户行为事件
trackEvent('user_signup', { method: 'email' })
trackEvent('user_login', { method: 'google' })
trackEvent('plan_selected', { plan: 'pro', price: 29 })
trackEvent('payment_completed', { amount: 29, currency: 'USD' })

// 产品使用事件  
trackEvent('ai_chat_started', { model: 'gpt-4' })
trackEvent('document_created', { type: 'blog_post' })
trackEvent('feature_used', { feature: 'export_pdf' })

实际代码位置:

// app/(app)/auth/signup/page.tsx
const handleSignup = async () => {
  await signup(email, password)
  
  // 追踪注册成功
  trackEvent('user_signup', {
    method: 'email',
    source: router.query.utm_source || 'direct'
  })
}

💡 分析提供商选择指南

Vercel Analytics - 基础必备

 优势:零配置、性能监控、免费
 适合:所有项目的基础分析
 限制:事件追踪功能有限

Google Analytics 4 - 全面分析

 优势:功能全面、历史对比、免费
 适合:需要详细用户画像分析
 限制:配置复杂、隐私争议

Plausible - 隐私友好

 优势:隐私友好、界面简洁、欧盟合规
 适合:B2B dashboard、欧洲用户
 限制:功能相对简单、需付费

Mixpanel - 产品分析

 优势:事件追踪强大、漏斗分析、用户画像
 适合:产品驱动增长、深度分析
 限制:学习成本高、价格较贵

📊 关键指标监控

必须关注的核心指标

// 流量指标
- 独立访客数 (UV)
- 页面浏览量 (PV)  
- 平均会话时长
- 跳出率

// 转化指标
- 注册转化率 = 注册数 / 访客数
- 付费转化率 = 付费数 / 注册数
- 用户留存率 = 7天后仍活跃 / 新注册

// 产品指标
- 功能使用率 = 使用某功能用户 / 总用户
- 用户生命周期价值 (LTV)
- 客户获取成本 (CAC)

分析面板设置

// 创建自定义仪表板
const dashboardMetrics = {
  daily: ['visitors', 'signups', 'revenue'],
  weekly: ['retention_rate', 'feature_adoption'],  
  monthly: ['ltv', 'cac', 'growth_rate']
}

🎯 实用分析场景

场景1: 优化注册流程

// 追踪注册漏斗
trackEvent('signup_page_viewed')
trackEvent('signup_form_started') 
trackEvent('signup_form_submitted')
trackEvent('signup_completed')

// 分析结果:50% 用户看到表单但不填写
// 解决方案:简化表单,只要邮箱+密码

场景2: 功能使用分析

// 追踪功能使用
trackEvent('feature_clicked', { feature: 'ai_chat' })
trackEvent('feature_used', { feature: 'ai_chat', duration: 120 })

// 分析结果:AI 聊天功能使用率只有 15%
// 解决方案:增加引导教程,改进入口位置

场景3: 付费转化优化

// 追踪付费流程
trackEvent('pricing_page_viewed')
trackEvent('plan_selected', { plan: 'pro' })
trackEvent('checkout_started')
trackEvent('payment_completed')

// 分析结果:90% 选择 Pro 但只有 60% 完成支付
// 解决方案:优化支付页面,增加信任元素

🔧 高级配置

用户身份关联

// 登录后关联用户身份
const { trackEvent, identify } = useAnalytics()

useEffect(() => {
  if (user) {
    identify(user.id, {
      email: user.email,
      plan: user.subscription?.plan,
      signupDate: user.createdAt
    })
  }
}, [user])

A/B 测试支持

// 基于分析数据进行 A/B 测试
const variant = user.id % 2 === 0 ? 'A' : 'B'

trackEvent('ab_test_viewed', { 
  test: 'signup_button_color',
  variant 
})

自定义事件属性

// 丰富的事件上下文
trackEvent('blog_post_read', {
  postId: 'how-to-mvp',
  category: 'tutorial', 
  readTime: 180,
  scrollDepth: 0.8,
  source: 'google',
  device: 'mobile'
})

🆘 常见问题解决

问题1: 数据不准确

# 检查追踪代码是否正确加载
# 浏览器开发者工具 > Network > 搜索 analytics

# 确认环境变量配置
echo $NEXT_PUBLIC_GA_ID

# 测试追踪事件
trackEvent('test_event', { timestamp: Date.now() })

问题2: 隐私合规

// 添加 Cookie 同意横幅
const [cookieConsent, setCookieConsent] = useState(false)

// 只有用户同意后才启用追踪
{cookieConsent && <AnalyticsScript />}

问题3: 性能影响

# 使用异步加载
# 分析脚本默认不阻塞页面渲染

# 监控 Core Web Vitals
# Vercel Analytics 自动监控性能指标

📎 延伸阅读

工具文档:

学习资源:

最佳实践:


下一步: 设置好分析后,查看 监控指南 了解应用性能和错误监控。