user-deep-dive

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
Deep dive on a PostHog user by email address. Analyse what they do, where they spend time, and what products they use.
Input: $ARGUMENTS (email address, e.g.
artis.conka@enlabs.com
)
通过电子邮件地址深入分析PostHog用户。分析他们的行为、时间分布以及使用的产品。
输入:$ARGUMENTS(电子邮件地址,例如
artis.conka@enlabs.com

Process

流程

Step 0: Ask for time window

步骤0:询问时间范围

Before running any queries, ask the user:
"What time window would you like to analyse? (default: last 14 days)"
If they don't respond or say "default", use 14 days. Use their answer to set
{days}
in all queries below.

在运行任何查询之前,询问用户:
"你希望分析哪个时间范围?(默认:过去14天)"
如果用户未回复或回答“默认”,则使用14天。根据用户的回答设置以下所有查询中的
{days}
参数。

Step 1: Run queries in parallel

步骤1:并行运行查询

Run all of the following queries simultaneously via the
query-run
MCP tool.
1. Activity overview — event breakdown (excluding PostHog internals):
sql
SELECT event, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND timestamp >= now() - interval {days} day
  AND event NOT IN (
    '$feature_flag_called',
    '$ai_span',
    '$ai_trace',
    '$autocapture',
    '$web_vitals',
    'react_framerate',
    'spinner_unloaded',
    'replay_parse_timing',
    '$dead_click'
  )
GROUP BY event
ORDER BY cnt DESC
LIMIT 30
2. Page views — where they spend their time:
sql
SELECT properties.$current_url as url, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event = '$pageview'
  AND timestamp >= now() - interval {days} day
GROUP BY url
ORDER BY cnt DESC
LIMIT 25
3. Insight details — which insights/dashboards they view:
sql
SELECT properties.insight as insight_type, properties.insight_name as name, count() as views
FROM events
WHERE person.properties.email = '{email}'
  AND event = 'insight viewed'
  AND timestamp >= now() - interval {days} day
GROUP BY insight_type, name
ORDER BY views DESC
LIMIT 20
4. Session replay views — replays they've watched:
sql
SELECT
  properties.session_id as session_id,
  properties.$current_url as url,
  timestamp
FROM events
WHERE person.properties.email = '{email}'
  AND event = '$recording_viewed'
  AND timestamp >= now() - interval {days} day
ORDER BY timestamp DESC
LIMIT 20
5. Error tracking usage — how they interact with error tracking in PostHog:
sql
SELECT event, properties.issue_id as issue_id, properties.issue_name as issue_name, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event IN ('error tracking issue viewed', 'error tracking issue resolved', 'error tracking issue assigned', 'error tracking issue suppressed', 'error tracking list viewed')
  AND timestamp >= now() - interval {days} day
GROUP BY event, issue_id, issue_name
ORDER BY cnt DESC
LIMIT 20
6. PostHog AI usage — Max and insight analysis counts:
sql
SELECT event, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event IN ('$ai_generation', '$conversations_loaded', 'insight analyzed', 'chat with data opened')
  AND timestamp >= now() - interval {days} day
GROUP BY event
ORDER BY cnt DESC
7. Where they open Max — which pages/contexts they use Max on:
sql
SELECT
  properties.$current_url as url,
  count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event = '$conversations_loaded'
  AND timestamp >= now() - interval {days} day
  AND properties.$current_url LIKE '%posthog.com/project%'
GROUP BY url
ORDER BY cnt DESC
LIMIT 20
通过
query-run
MCP工具同时运行以下所有查询。
1. 活动概览 — 事件细分(排除PostHog内部事件):
sql
SELECT event, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND timestamp >= now() - interval {days} day
  AND event NOT IN (
    '$feature_flag_called',
    '$ai_span',
    '$ai_trace',
    '$autocapture',
    '$web_vitals',
    'react_framerate',
    'spinner_unloaded',
    'replay_parse_timing',
    '$dead_click'
  )
GROUP BY event
ORDER BY cnt DESC
LIMIT 30
2. 页面访问 — 用户的时间分布:
sql
SELECT properties.$current_url as url, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event = '$pageview'
  AND timestamp >= now() - interval {days} day
GROUP BY url
ORDER BY cnt DESC
LIMIT 25
3. 洞察详情 — 用户查看的洞察/仪表盘:
sql
SELECT properties.insight as insight_type, properties.insight_name as name, count() as views
FROM events
WHERE person.properties.email = '{email}'
  AND event = 'insight viewed'
  AND timestamp >= now() - interval {days} day
GROUP BY insight_type, name
ORDER BY views DESC
LIMIT 20
4. 会话重放查看 — 用户观看的重放内容:
sql
SELECT
  properties.session_id as session_id,
  properties.$current_url as url,
  timestamp
FROM events
WHERE person.properties.email = '{email}'
  AND event = '$recording_viewed'
  AND timestamp >= now() - interval {days} day
ORDER BY timestamp DESC
LIMIT 20
5. 错误跟踪使用情况 — 用户与PostHog中错误跟踪功能的交互方式:
sql
SELECT event, properties.issue_id as issue_id, properties.issue_name as issue_name, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event IN ('error tracking issue viewed', 'error tracking issue resolved', 'error tracking issue assigned', 'error tracking issue suppressed', 'error tracking list viewed')
  AND timestamp >= now() - interval {days} day
GROUP BY event, issue_id, issue_name
ORDER BY cnt DESC
LIMIT 20
6. PostHog AI使用情况 — Max和洞察分析的次数:
sql
SELECT event, count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event IN ('$ai_generation', '$conversations_loaded', 'insight analyzed', 'chat with data opened')
  AND timestamp >= now() - interval {days} day
GROUP BY event
ORDER BY cnt DESC
7. Max的打开位置 — 用户在哪些页面/场景使用Max:
sql
SELECT
  properties.$current_url as url,
  count() as cnt
FROM events
WHERE person.properties.email = '{email}'
  AND event = '$conversations_loaded'
  AND timestamp >= now() - interval {days} day
  AND properties.$current_url LIKE '%posthog.com/project%'
GROUP BY url
ORDER BY cnt DESC
LIMIT 20

Step 2: Cross-reference with Vitally

步骤2:与Vitally交叉引用

Use Vitally tools to look up the user by email — get their role, title, account name, and any CRM data available.

使用Vitally工具通过电子邮件查找用户信息——获取他们的角色、职位、账户名称以及任何可用的CRM数据。

Output Format

输出格式

Executive Summary

执行摘要

2–3 sentences capturing who this person is, what they primarily use PostHog for, and the single most interesting or actionable thing about their usage. Write it as if briefing someone before a call with this user.

用2-3句话概括该用户的身份、主要使用PostHog的用途,以及其使用行为中最有趣或最具可操作性的一点。撰写时需模拟为与该用户通话前的简报内容。

Profile

用户档案

  • Name, email, role/title, LinkedIn (if available)
  • Location (from timezone or geo data)
  • Account they belong to
  • 姓名、邮箱、角色/职位、LinkedIn(如有)
  • 所在地(来自时区或地理数据)
  • 所属账户

Activity Summary (last {days} days)

活动摘要(过去{days}天)

  • Total events, key event types
  • How many queries run, insights viewed, dashboards checked, exports done
  • 总事件数、关键事件类型
  • 运行的查询数、查看的洞察数、检查的仪表盘数、导出操作数

Where They Spend Time

时间分布

  • Which PostHog projects (extract project IDs from URLs)
  • Which product areas (analytics, replay, flags, LLM analytics, data management, error tracking, etc.)
  • Specific dashboards or insights they revisit
  • 用户使用的PostHog项目(从URL中提取项目ID)
  • 使用的产品领域(分析、重放、功能标志、LLM分析、数据管理、错误跟踪等)
  • 用户反复访问的特定仪表盘或洞察

What They're Doing

用户行为分析

  • Interpret the insight names and patterns — what business questions are they answering?
  • Are they building things (creating insights, actions, destinations) or consuming (viewing dashboards, exporting)?
  • Error tracking: are they actively triaging errors (resolving, assigning, suppressing) or just browsing?
  • 解读洞察名称和模式——他们在解答哪些业务问题?
  • 他们是在创建内容(制作洞察、操作、目标)还是在消费内容(查看仪表盘、导出数据)?
  • 错误跟踪:他们是在积极处理错误(解决、分配、抑制)还是仅浏览?

Session Recordings

会话录制

  • Link directly to PostHog session replay filtered to this user:
    https://us.posthog.com/replay?filters={"type":"AND","values":[{"type":"AND","values":[{"key":"email","value":["{email}"],"operator":"exact","type":"person"}]}]}
  • Summarise any patterns from the replays they've watched (query 4): which parts of the product, how recently
  • 直接链接到筛选该用户的PostHog会话重放页面:
    https://us.posthog.com/replay?filters={"type":"AND","values":[{"type":"AND","values":[{"key":"email","value":["{email}"],"operator":"exact","type":"person"}]}]}
  • 总结用户观看的重放内容(查询4)中的模式:产品的哪些部分、最近的观看时间

PostHog AI Usage

PostHog AI使用情况

  • How often do they open Max (
    $conversations_loaded
    count) and make AI calls (
    $ai_generation
    count)?
  • Do they use insight analysis (
    insight analyzed
    )?
  • Where do they open Max? — Summarise the URLs from query 7. Extract the product area from each URL (e.g.
    /dashboard/
    → "dashboards",
    /sql
    → "SQL editor",
    /insights/
    → "insights",
    /persons/
    → "person profiles") and list the top contexts with counts. This tells us what they're trying to get help with.
  • Are they looking at LLM Analytics?
  • 用户打开Max的频率(
    $conversations_loaded
    计数)和发起AI调用的次数(
    $ai_generation
    计数)?
  • 他们是否使用洞察分析功能(
    insight analyzed
    )?
  • Max的打开位置——总结查询7中的URL。从每个URL中提取产品领域(例如
    /dashboard/
    → "仪表盘",
    /sql
    → "SQL编辑器",
    /insights/
    → "洞察",
    /persons/
    → "用户档案"),并列出数量最多的场景。这能反映他们需要帮助的方向。
  • 他们是否关注LLM分析?

Outreach Angles

沟通切入点

  • Based on their usage, suggest 2-3 conversation starters for the user's outreach
  • Flag any pain points (query failures, rage clicks, error tracking spikes, etc.)
  • Note any products they're NOT using that would be relevant

  • 根据用户的使用情况,建议2-3个与用户沟通的开场白
  • 标记任何痛点(查询失败、误点击、错误跟踪峰值等)
  • 记录用户未使用但可能相关的产品功能

Important

注意事项

  • Ask for the time window before running any queries.
  • Use the PostHog MCP
    query-run
    tool, NOT curl. Fall back to curl only if MCP is unavailable.
  • Vitally
    lastSeenTimestamp
    data is stale — do NOT rely on it for activity. Always use PostHog event data.
  • Run all PostHog queries in parallel to save time.
  • If PostHog returns 503 (busy), wait a moment and retry once before giving up on that query.
  • The session replay link should use the user's actual email in the filter parameter.
  • 必须先询问时间范围,再运行任何查询。
  • 使用PostHog MCP的
    query-run
    工具,而非curl。仅当MCP不可用时才使用curl作为替代。
  • Vitally的
    lastSeenTimestamp
    数据已过时——不要依赖它来判断用户活动。始终使用PostHog的事件数据。
  • 并行运行所有PostHog查询以节省时间。
  • 如果PostHog返回503(繁忙),稍等片刻后重试一次,若仍失败则放弃该查询。
  • 会话重放链接的筛选参数中需使用用户的实际邮箱。