A one-page reference for understanding your demo analytics. For each metric: what it means, how to calculate it, what "good" looks like, and what to do when it's off.
Core Performance Metrics
| Metric | Formula | Benchmark | What It Tells You |
|---|---|---|---|
| Bounce Rate | bounced / total sessions | < 40% good • 40–60% needs attention • > 60% problem | Are prospects sticking past the first screen? |
| Completion Rate | completed / total sessions | > 30% good • 15–30% needs attention • < 15% problem | Is your demo story holding attention all the way through? |
| Avg Interactions | From /summary → averages.interactions | > 3 good • 1–3 average • < 1 passive viewing | Are prospects clicking and exploring, or just watching? |
| Avg Screen Views | From /summary → averages.screen_views | Compare to total screens in your demo — aim for > 50% of screens viewed | How deep into the demo are prospects going? |
| Avg Duration | From /summary → averages.duration_seconds | 30–90 sec is healthy • < 10 sec = bouncing • > 3 min = might be confused | Are prospects spending meaningful time? |
Lead Capture Metrics
| Metric | Formula | Benchmark | What It Tells You |
|---|---|---|---|
| Lead Form Conversion | lead_form_submitted / lead_form_opened | > 40% good • 20–40% average • < 20% too much friction | Is your form converting, or scaring people off? |
| Lead Form Skip Rate | lead_form_skipped / lead_form_opened | < 30% good • > 50% problem | Are too many people dismissing the form? |
| Identification Coverage | Sessions with email_gate_exists=true OR lead_form_exists=true / total | > 70% good • 40–70% some visibility • < 40% flying blind | How many viewers can you actually identify? |
Channel & Audience Metrics
| Metric | Formula | Benchmark | What It Tells You |
|---|---|---|---|
| Internal/External Ratio | internal / total sessions | < 10% internal is ideal • 10–20% fine • > 20% reps viewing more than prospects | Is your team sending demos, or just previewing them? |
| Embed vs. Direct Split | From /summary → by_embed | Depends on strategy — track the trend, not a fixed target | Which channel drives more engagement? Optimize accordingly. |
| Embed Completion Rate | Compare completion rate for is_embed=true vs is_embed=false | Embeds typically have lower completion but higher volume | Are website embeds pulling their weight vs. direct shares? |
How to Pull Each Metric
The Fast Way — Use the Summary Endpoint
One call gets you most of what you need:
curl -H "x-api-key: YOUR_API_KEY" \\ "<https://customer-api.teamwalnut.com/demo-sessions/summary?start_date=2026-02-01&end_date=2026-02-28>"
From the response, calculate:
- Bounce rate =
totals.bounced / totals.sessions - Completion rate =
totals.completed / totals.sessions - Internal ratio =
by_user_type.internal / totals.sessions - Avg duration, interactions, screen views = directly in
averages
Lead Form Metrics — Use Field Selection
The summary doesn't include lead form data. Pull it separately:
curl -H "x-api-key: YOUR_API_KEY" \\ "<https://customer-api.teamwalnut.com/demo-sessions?start_date=2026-02-01&end_date=2026-02-28&user_type=external&fields=lead_form_exists,lead_form_opened,lead_form_skipped,lead_form_submitted&limit=10000>"
Then count across the rows:
- Form conversion = rows where
lead_form_submitted=true/ rows wherelead_form_opened=true - Skip rate = rows where
lead_form_skipped=true/ rows wherelead_form_opened=true
Per-Demo Comparison — Find Your Best Performers
curl -H "x-api-key: YOUR_API_KEY" \\ "<https://customer-api.teamwalnut.com/demo-sessions?start_date=2026-02-01&end_date=2026-02-28&user_type=external&group_by=demo_id>"
Then for each top demo, pull detail to calculate per-demo bounce rate, completion rate, and avg interactions.
Diagnostic Playbook
When a metric is off, here's what to investigate and what to do.
High Bounce Rate (> 60%)
| Possible Cause | How to Check | Action |
|---|---|---|
| Opening screen isn't compelling | Review the first screen of high-bounce demos | Redesign the opener — lead with the "wow" moment, not a login screen |
| Lead form or gate appears too early | Check lead_form_exists and email_gate_exists on bounced sessions | Move the form later in the flow, or remove the gate for top-of-funnel demos |
| Wrong audience seeing the demo | Check geo_country_name and origin_url for unexpected traffic | Review where the demo link is shared — bots and irrelevant traffic inflate bounce rate |
| Slow load or broken embed | Compare is_embed=true bounce rate vs direct | Test the embed on the actual page — iframes can have CSP or sizing issues |
Low Completion Rate (< 15%)
| Possible Cause | How to Check | Action |
|---|---|---|
| Demo is too long | Check screen_views_count — where do people drop off? | Shorten the demo. Best demos are 5–8 screens. Cut anything that doesn't drive the story. |
| Story doesn't match the buyer | Compare completion rates across demos (group_by=demo_id) | Create persona-specific demos instead of one generic demo |
| No clear next step | Check if completed viewers have low interaction — they might be passively clicking through | Add annotations and guides to create an engaging narrative |
Low Lead Form Conversion (< 20%)
| Possible Cause | How to Check | Action |
|---|---|---|
| Form appears before value is shown | Check if bounce rate is high on demos with lead_form_exists=true | Move the form to after 3–4 screens — let them see value first |
| Form asks for too much | Review the form fields in the Walnut builder | Reduce to email only. Every extra field drops conversion ~10% |
| Skip option is too prominent | Check lead_form_skipped rate | Consider making the form required for high-intent demos (bottom of funnel) |
High Internal Ratio (> 20%)
| Possible Cause | How to Check | Action |
|---|---|---|
| Reps previewing but not sending | Filter user_type=internal and check viewer_type — are they owners or colleagues? | Check if demos are being shared externally. May indicate reps lack confidence in the demo. |
| Internal training or QA | Check if spikes align with demo creation or updates | Not necessarily bad — but exclude internal sessions when reporting on prospect engagement |
Monthly Health Check Template
Run this once a month to stay on top of demo performance. Pull the summary for the last 30 days and fill in:
| Metric | This Month | Last Month | Trend | Status |
|---|---|---|---|---|
| Total External Sessions | ||||
| Bounce Rate | ||||
| Completion Rate | ||||
| Avg Interactions | ||||
| Avg Duration (sec) | ||||
| Lead Form Conversion | ||||
| Internal Ratio | ||||
| Top Demo | ||||
| Top Country |
<aside> 💡
Tip: Automate this with the AI Weekly Digest recipe from the Integration Recipes page — let an LLM fill in and narrate the trends for you.
</aside>