Skip to content
NewSee how

How to Read Campaign Analytics in FirstSales

Read the Engagement strip, Sender Health, and per-contact journey. And know why reply rate beats open rate for judging a cold campaign.

  1. Where the numbers live

    Open a campaign and go to its Analytics tab. The Engagement strip is the at-a-glance scoreboard: Sent and Delivered as counts, plus Open Rate, Click Rate, Reply Rate, and Bounce Rate as percentages. Everything below drills into those numbers.

    Where the numbers live
  2. Reply rate is the metric that matters

    For cold outreach, reply rate (especially positive replies) is the real signal. Opens tell you the subject line worked; replies tell you the offer worked. Judge a campaign on replies and meetings booked, not opens.

    A healthy cold campaign lands roughly in the low single digits on positive reply rate; if you're at zero after a few hundred sends, the problem is targeting or offer, not volume.

  3. Treat open rate with suspicion

    Open rate is a soft metric. Apple Mail Privacy Protection and other prefetchers auto-open emails, inflating the number: an open may not be a human. Use open rate as a rough directional read on subject lines and warm-up, never as your success metric.

    If opens look great but replies are flat, that's the tell: people see it, the message isn't landing.

  4. Watch Bounce Rate and Sender Health

    Two numbers protect your sending reputation:

    • Bounce Rate (keep it under 5% (ideally under 2%). Past 5% the app flags "High bounce rate."
    • Sender Health) each mailbox is graded; a red flag appears at bounce over 5% or warm-up score under 50.

    A red here is a stop-and-fix signal: pause, clean the list or warm the mailbox, then resume. Sending through it drags every future email toward spam.

  5. Follow the funnel and per-contact journey

    Below the strip, the funnel shows drop-off stage by stage (delivered, opened, replied), so you can see where people fall off. Click into a contact to see its journey: every step sent, opens, replies, and bounce/skip reasons on a timeline.

    The journey view is where you diagnose a single stuck or bounced contact; the funnel is where you spot a systemic drop-off across the whole list.

  6. Compare A/B variants

    If the campaign runs A/B step variants, analytics breaks results out per variant so you can see which subject or body wins on reply rate. Let a variant accumulate enough sends before calling it: a handful of replies isn't a verdict. Winner selection is manual: review the metrics yourself, then edit or delete the underperforming variant.

Pro tips

  • Optimize for replies, not opens

    Opens are inflated by privacy prefetch. Positive reply rate and meetings booked are the only numbers worth steering a campaign by.

  • A red Sender Health dot beats any vanity metric

    Bounce over 5% or warm-up under 50 will sink deliverability regardless of how good opens look. Fix the red before you scale volume.

  • Use the funnel to find the leak

    Great delivery, poor replies = message problem. Poor delivery = list/deliverability problem. The funnel tells you which one before you start guessing.

  • Give A/B variants time

    A variant needs enough sends for its reply rate to mean anything. Declaring a winner on a dozen sends is noise, not a result.

Frequently asked questions

Where do I see campaign analytics?

On the campaign's Analytics tab. The Engagement strip shows Sent and Delivered as counts, plus Open Rate, Click Rate, Reply Rate, and Bounce Rate as percentages; below it are the funnel, Sender Health, and per-contact journeys.

Which metric should I judge a cold campaign on?

Positive reply rate and meetings booked. Opens are inflated by privacy prefetch and don't confirm a human read the email: replies do.

Why is my open rate so high but replies low?

Open rate is soft: Apple Mail Privacy Protection and other prefetchers auto-open emails, inflating it. High opens with flat replies usually means the message or offer isn't landing, not that opens are 'working'.

What bounce rate is acceptable?

Under 5%, ideally under 2%. Past 5% the app flags 'High bounce rate' and Sender Health turns red, which hurts deliverability for every future send.

What does Sender Health show?

A per-mailbox grade combining bounce rate and warm-up score. A red 'Health issues' flag appears when bounce exceeds 5% or the warm-up score drops below 50: treat it as a stop-and-fix signal.

How do I diagnose a single stuck contact?

Click into the contact to open its journey: a timeline of every step sent, opens, replies, and any bounce or skip reason. That's where you see exactly what happened to one person.

Can I compare A/B variants here?

Yes. When a step has A/B variants, analytics breaks results out per variant so you can compare reply rates. Give each enough sends before judging: winner selection is manual, so review the metrics yourself and edit or delete the underperformer.

Analytics

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.