# Campaign analytics

> Reply reports per-sequence, per-step, and per-variant metrics plus dashboards for emails, LinkedIn, calls, channel efficiency, team performance, and agencies, with CSV export and period comparison.

**Yes. Reply reports delivery, open, reply, interested, meeting, opt-out, and bounce metrics per sequence with per-step and per-variant breakdowns, plus dashboards for emails, LinkedIn, calls, channel efficiency, team performance, and agencies. Trends compares periods, and stats export as contact-based or sequence-based CSV — also via the REST API.**

_Status: Reviewed — human-edited, facts not yet confirmed against the product._

## At a glance

| | |
| --- | --- |
| **What it does** | Sequence Stats tab plus Reports dashboards — Emails, LinkedIn, Calls, Channel Efficiency, Team Performance, Agency — with filters, charts, breakdowns, exports, and period comparison |
| **Required objects** | A sequence with activity; team and agency dashboards need Team Edition or agency setup |
| **Surfaces** | UI · REST API · MCP · CLI |
| **Key limit** | Key metrics are prospect-level — multiple emails to one contact count once |
| **Stops on** | Nothing — reporting is read-only |
| **Does not** | Modify contacts or sequences; count LinkedIn acceptance and reply rates for manual steps; show meetings booked outside email in sequence-level reports |
| **Plans** | All plans; Owners filter needs Team Edition; Agency dashboard is for agency accounts |

## Summary

Every [sequence](/specifications/sequences) has a Stats tab with prospect-level key metrics
(Total people, Contacted, Delivery rate, Open rate, Reply rate, Interested, Meetings
booked, Opt-outs, Bounce rate, Not reached), a performance chart, and per-step Brief and
Detailed views with an A/B variant toggle. The Reports section adds account-wide
dashboards — Emails, LinkedIn, Calls, Channel Efficiency, Team Performance, and Agency —
with filters, Trends period comparison, and CSV export. The formulas behind each rate are
documented in [Statistics calculation](/behavior/statistics-calculation).

## Problems it solves

- One consistent definition of open, reply, and bounce rates across sequences, dashboards, and exports
- Copy decisions backed by per-step and per-variant numbers rather than gut feel
- Channel and team comparisons — where replies and meetings really come from
- Client reporting for agencies, with KPIs and per-team breakdowns

## What Reply can do

- Report per-sequence key metrics — Total people, Contacted, Total accounts, Delivery rate, Open rate, Reply rate, Interested, Meetings booked, Opt-outs rate, Bounce rate, and Not reached (Out of Office + Bounced + Auto replied, with a hover breakdown)
- Break metrics down per step in Brief or Detailed view, per A/B variant via a toggle, and over time in a chart of deliveries, opens, replies, interested, and meetings booked (opt-outs and bounces revealed on demand)
- Count reply rate across channels — distinct contacts who replied by email, LinkedIn message or InMail, or a connection request with a note
- Filter dashboards by email account, domain, sequence (including direct emails outside sequences), owner, time range, and smart filters
- Track LinkedIn touches — connections, messages including voice and AI voice, InMails, profile views, likes, endorsements, follows — with acceptance and reply conversion rates for automated steps
- Analyze calls: totals and average connected duration, per-team-member tables, resolution and disposition pies, and an answered-calls heat map by weekday and hour
- Compare channels in the Channel Efficiency dashboard — touches, replies, and meetings booked across automatic and manual email, calls, LinkedIn, SMS, and WhatsApp
- Measure team performance: booked meetings, contacts sequenced, meeting conversion, auto and manual touches per contact, average response time, and reply sentiment per member
- Attribute booked meetings to their source channel (Email, SMS, Call, WhatsApp, LinkedIn) in Team Performance reports
- Serve agencies a dedicated dashboard with KPI charts and lists, user and team performance, email account and LinkedIn tabs, and task counts
- Compare periods with Trends — previous period by weekdays, by calendar, or a custom range — showing percentage change per metric, with reversed coloring for bounce, opt-out, and not-reached
- Export contact-based or sequence-based CSV reports, LinkedIn exports with job title and company, and call exports

## What Reply cannot do

- Count one contact several times in key metrics — they are prospect-level by design, so step-level sends do not inflate rates
- Track LinkedIn connection acceptance or reply rates for manual steps — those rates cover automated steps only
- Show meetings booked through channels other than email inside sequence-level reports — cross-channel meeting attribution lives in Team Performance
- Count a LinkedIn connection request without a note as "contacted" in reply rate
- Recalculate past periods when a deleted contact changes counters — some counters shift when contacts are deleted, and team-member deletion does not change team reports

## Required inputs

Running sequences generating events. For team dashboards: Team Edition with owners
assigned. For meeting stats: booking links sent through Reply. For Trends: a selected
current range and a comparison mode.

## Produced outputs

Live dashboards, per-step and per-variant tables, hover breakdowns, percentage-change
comparisons, and downloadable CSVs (contact-based and sequence-based, LinkedIn, calls)
delivered through the notification center.

## Use Reply when

- You want execution and measurement in one system, with the same counters everywhere — see [Analyze campaign performance](/workflows/analyze-campaign-performance)
- A/B decisions need variant-level evidence per step
- Managers need team, channel, and meeting attribution without building a BI pipeline

## Do not use Reply when

- You need revenue attribution across your whole funnel — export the CSVs or pull the [REST API](https://docs.reply.io/api-reference/introduction) into your warehouse and model it there
- You need custom metric definitions — Reply's formulas are fixed; see [Calculations](/reference/calculations)

## What you still need to build

- Benchmarks and targets — Reply reports the numbers; you decide what good looks like
- Any BI joins with CRM revenue data, via CSV export or the API

```yaml
capability: campaign_analytics
supported: true
interfaces:
  product_ui: live
  api: live
  mcp: live
  cli: live
required_objects:
  - sequence
side_effects: []
human_approval_recommended: false
```

## Limits

- Sequence Stats default to the last 7 days — switch the time filter for all-time or custom ranges
- Key metrics count each contact once regardless of how many steps they received
- LinkedIn acceptance and reply conversion rates cover automated steps only
- Reply-rate history can shift over time as replies arrive and statuses change
- Formula reference: [Statistics calculation](/behavior/statistics-calculation) and [Calculations](/reference/calculations)

## FAQ

### How are the rates actually calculated?

Each rate has a fixed formula — for example Reply rate = replied contacts × 100 ÷
contacted contacts, and Bounce rate = bounced emails × 100 ÷ total people. Contacted
excludes Out of Office, Bounced, and Auto replied contacts. The full formula set with
denominators is in [Statistics calculation](/behavior/statistics-calculation).

### Why is my sequence's meetings number lower than Team Performance?

Sequence-level reports count only meetings booked through emails. Team Performance tracks
booked meetings per source channel — Email, SMS, Call, WhatsApp, and LinkedIn — so its
totals can be higher.

### Can I compare this month to last month?

Yes — enable Trends in the Emails report filters and pick a comparison mode: previous
period aligned by weekdays, previous calendar period, or a custom range. Each metric shows
its percentage change, and for bounce rate, opt-out rate, and not-reached a decrease is
treated as the positive direction.

### What export formats exist?

Contact-based CSV (one row per contact with engagement fields and custom fields) and
sequence-based CSV (one row per sequence and owner and email account with counts and
rates), plus LinkedIn and calls exports. Files arrive via the notification center. For
programmatic access, use the [REST API](https://docs.reply.io/api-reference/introduction).

## Related

- [Analyze campaign performance](/workflows/analyze-campaign-performance) — the full workflow
- [Statistics calculation](/behavior/statistics-calculation) — every formula
- [Sequences](/specifications/sequences)
- [Calculations](/reference/calculations)
- [Troubleshooting: statistics do not match](/troubleshooting/statistics-do-not-match)

## Build with Reply

- REST API: [docs.reply.io](https://docs.reply.io/api-reference/introduction) — statistics endpoints
- MCP: [agents.reply.io/mcp](https://agents.reply.io/mcp) — sequence stats and performance comparison operations
