# Fullstory Audience Lens

> Find and characterise hidden user cohorts in Fullstory — who are the users experiencing a specific problem, abandoning at a specific step, or behaving in a specific way? Builds a behavioural segment, profiles what those users have in common, and shows what their sessions look like. Use this skill when someone asks "who are the users who abandon at checkout?", "what kind of users are rage clicking?", "show me the users affected by this error", "which users can't complete the booking?", "who's hitting this problem?", or any question about identifying or understanding a specific group of users. Also trigger when someone wants to segment by behaviour, find a user cohort, or understand the profile of users experiencing a friction point.

- Skill: `aaronbali/fullstory-audience-lens` (Agent Skill)
- Install (CLI): `npx skillmds@latest add aaronbali/fullstory-audience-lens`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aaronbali/fullstory-audience-lens/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: aaronbali (https://skillmd.com/u/aaronbali)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/aaronbali/fullstory-audience-lens

---


# Fullstory Audience Lens

The goal is to turn a vague behavioural question ("who are these users?") into a concrete, characterised cohort with session evidence — so a business user understands not just *that* a problem exists, but *who* it's affecting and *what* their experience looks like. Think of it as putting a face on a metric.

## Step 1 — Understand the question

Before querying anything, be clear on what cohort you're building:

- **What behaviour** defines this cohort? (e.g. rage clicking on Add to Cart, abandoning at billing, seeing an error modal)
- **What time window**? Default to last 30 days unless the user specifies.
- **Is this tied to a specific page, funnel step, or org event?** Check the org context file (below) for the right IDs.

If the question is vague ("who are the frustrated users?"), use `get_opportunities` to surface the biggest known issues and ask the user to pick one to focus on — don't try to characterise all frustrated users at once.

## Step 2 — Load org context

Load `~/claude/accounts/{slug}-fullstory-context.md` if available. You need it to map the user's question to the right event IDs, page IDs, and element IDs.

If no context file exists, run `get_managed_funnels` and `discover_org_context` with relevant queries to orient yourself before building the segment.

## Step 3 — Build the segment

Use `build_segment` to create the cohort in natural language. Be specific — include the behaviour, page/element if relevant, and time window.

**Examples:**
- "Users who saw the 'no cars found' modal in the last 30 days"
- "Users who rage clicked on the Add to Cart button on the product page in the last 30 days"
- "Users who reached the billing page but did not reach the checkout success page in the last 30 days"
- "Users who experienced a checkout payment error in the last 30 days"

The segment is saved automatically. Note the `segment_id` and `segment_url`.

## Step 4 — Size and characterise the cohort

Run these in parallel:

1. `get_opportunities(segment_id=<id>, time_range="30d")`
   — What issues are disproportionately affecting this cohort vs the general population?

2. `get_sessions(segment_id=<id>, limit=10)`
   — A sample of sessions to read.

From the opportunities, note: which issues are uniquely elevated for this cohort vs baseline? This tells you what the cohort has in common beyond the behaviour you targeted.

## Step 5 — Read sessions

Pick 3–4 sessions from the sample. For each, call `get_session_events(device_id=..., session_id=...)`.

Look for patterns across sessions:
- Where do they all enter? (same page, same device type, same referrer pattern?)
- What do they do before the friction point?
- What happens after — do they retry, abandon, or find a workaround?
- Is there a common error, element, or flow step that appears in most sessions?

## Step 6 — Deliver the portrait

Write a cohort portrait structured as:

---
**[Cohort name — give it a plain-English label, e.g. "Checkout abandoners at billing" or "Search dead-end users"]**

**Who they are:** [2–3 sentences. What behaviour defines them. How many users in the last 30 days. What they were trying to do.]

**What they experience:** [2–3 sentences describing the shared pattern from session evidence. Concrete and specific — what screen, what happens, how they react.]

**What sets them apart:** [Issues or frustrations that are disproportionately elevated for this cohort vs all users — from the opportunity data. "These users are 3× more likely to see X than the average user."]

**Why this matters:** [Business impact framing. If they're checkout abandoners, estimate the revenue implication. If they're rage clickers, note the scale.]

**What to do next:**
- [Specific recommendation — e.g. "Investigate the /v2/cars/getAllCarsInOrgInCity 404 errors which appear in 80% of these sessions"]
- [Optional second recommendation]

**Segment saved:** [segment_url] — share this link to let anyone explore this cohort in Fullstory.

Session replays:
- [session_url] — [one-line description]
- [session_url] — [one-line description]
- [session_url] — [one-line description]
---

## Naming the cohort

Give the cohort a name the business user would recognise — not "segment_abc123" but something like "Search dead-end users", "Blocked checkout guests", or "Mobile payment failures". The name should describe the experience, not the technical filter.

