> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getswan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics

> Usage analytics (credits and runs) and outreach analytics (creation-date cohort performance and send activity).

Swan has two separate analytics surfaces: usage analytics, which tracks what Swan is doing and what it costs, and outreach analytics, which tracks how your sequences are performing.

## Usage analytics

Usage analytics, at [Settings → Usage](https://agent.getswan.com/settings/usage), shows credits consumed and the number of runs, over a date range, broken down several ways:

* **By trigger** — which automations are consuming the most credits and runs.
* **By user** — how much a person's conversations (and any triggers scoped to them) are consuming.
* **By tool and by toolkit** — which individual tools or toolkit categories are driving credit usage.

It separates trigger-driven runs from conversation runs, so you can see whether your credit spend is coming from automations or from people chatting with Swan directly. See [credits](../administration/credits.md) for what consumes credits and [credit costs](../reference/credit-costs.md) for per-action pricing.

## Outreach analytics

[Outreach → Analytics](https://agent.getswan.com/outreach) shows how your sequences are performing over a date range:

* **A funnel KPI row** — accounts reached, people reached, people replied, and reply rate, each with a change indicator versus the previous period of the same length.
* **Per-channel scorecards** — a LinkedIn card (people contacted, connections accepted of requests sent, replies of people messaged) and an email card (people emailed, opens, replies), with rates shown as progress toward 100%.
* **A daily engagement chart** combining cohort outcomes and send volume, and a **performance matrix** broken down by sender and by trigger.

The sender and trigger filters are multi-select, so you can look at any combination of sending accounts and automations at once.

## How the outreach date filter works

For performance metrics, the selected date range defines a **creation-date cohort**: the sequence-contact rows created during that exact interval. This is the same population shown in [Outreach → Sequences](https://agent.getswan.com/outreach/sequences) with the same date filter, so analytics drill-downs and the Sequences list use the same starting point.

Replies, email opens, link clicks, and connection acceptances accrue for that cohort through the moment you view the report. They still count when they happen after the selected period ended. For example, if a sequence contact was created July 10 and replied July 25, that reply appears in the July 1–14 cohort.

Recent cohorts therefore **mature over time**. Their numbers can rise as pending sequence contacts are contacted and later engagement arrives. A reply rate for last week means "outcomes so far," not a final result.

Send volume is the exception. The **Emails sent** and **LinkedIn messages sent** KPIs, plus the send bars in the daily chart, count messages actually sent during the selected period. This includes follow-ups from sequence contacts created earlier. Send totals answer "how much did we send this period?" and intentionally may not add up against cohort metrics.

The dashboard uses these counting rules:

| Area                                             | What it counts                                            |
| ------------------------------------------------ | --------------------------------------------------------- |
| People and account KPIs                          | Distinct people or accounts from the creation-date cohort |
| Replies, opens, clicks, and accepted connections | Outcomes to date for the creation-date cohort             |
| Sender × trigger performance table               | Sequence-contact rows, not distinct people                |
| Send KPIs and send bars                          | Messages sent during the selected period                  |

A person can have more than one sequence-contact row. That person counts once in a top-level people KPI, but each enrollment counts separately in the performance table. A table cell showing four replied sequence contacts therefore opens exactly four rows in Sequences.

In the daily engagement chart, the people, replies, and connections series are bucketed by the date the sequence contact was created. The reply and connection values are that day's cohort outcomes to date, rather than events that happened on the plotted day. Send bars use the date each message was actually sent.

The KPIs and performance-table cells link into Sequences with the creation-date cohort and relevant engagement filters already applied. Date ranges use the exact boundaries sent by the app; the backend does not re-expand them using its local timezone, so adjacent days do not bleed into the report.

Because each rate's numerator and denominator come from the same cohort and counting unit, reply, open, click, and acceptance rates cannot exceed 100%.

## Known quirks

* **Email open data starts April 17, 2026.** Open tracking began collecting on that date, so a date range starting earlier undercounts opens — the page shows a caveat badge when that applies.
* **Today is often grayed out in the date picker.** If the current day isn't selectable, it's almost always a timezone or caching quirk rather than a restriction — try again after the day rolls over in your timezone, or pick yesterday as the end date instead.

## What analytics doesn't do

Swan's analytics don't currently include industry benchmarks (there's no comparison to typical open, click, or reply rates for your industry), a custom dashboard builder, or a bulk data-export API for pulling raw analytics or execution data programmatically. If you need that data outside Swan, sync it through your CRM integration — that's the supported export path. See [HubSpot](../integrations/hubspot.md) or [Salesforce](../integrations/salesforce.md).

If you want a recurring digest instead of checking the dashboard yourself, you can set up a schedule trigger that runs on a cadence and posts a summary to a Slack channel. See [schedule triggers](../triggers/schedule.md).

## Common questions

**Does reply rate count multiple replies from the same person?**
No. The top-level reply KPI and rate count a person once within the creation-date cohort, so one person replying several times is still one reply. The sender × trigger table instead counts sequence-contact rows so its values match the Sequences drill-down.

**Can open rates exceed 100%?**
No. The numerator and denominator use the same creation-date cohort and counting unit, so the rate is capped at 100%. One person opening several times still counts as one open. (Older versions of this dashboard counted raw open events, which could push rates above 100% — that's no longer how it works.)

**Why did last week's outreach results change?**
Recent cohorts mature. Replies, opens, clicks, and accepted connections continue to count as they arrive, even after the selected date range ends, so recent results are outcomes so far rather than final totals.

**Why don't the send totals add up to the people or engagement totals?**
They measure different things. Send KPIs and bars count messages sent during the selected period, including follow-ups from older sequences. People and engagement metrics evaluate sequence contacts created during the period and include their outcomes to date.

**Does the date filter match Outreach → Sequences?**
Yes. Both use the sequence contact's creation date, and analytics drill-downs carry that cohort into the Sequences page. The selected boundaries are used exactly rather than being shifted to the backend server's local day.

**Why don't the credits shown here match my invoice exactly?**
Because they measure different things. This dashboard shows credits consumed by your runs over a rolling time window, drawn from Swan's internal usage records. Your invoice is a flat subscription charge — plan fee plus seats, plus any one-off credit top-ups — billed on Stripe's cycle, not a tally of credits used. Credit consumption is a quota against your allotment, not a metered line on the invoice, so the two won't line up. Timing differences (Swan's rolling window vs Stripe's billing period, and credit refunds) can widen the gap.

**Can I export a chart or table from the analytics page?**
There's no built-in export for analytics charts today; the reliable way to get the underlying data out is through your CRM sync.

**Can I filter outreach analytics by a specific sender or trigger?**
Yes — both filters are multi-select, so you can narrow the view to any combination of sending accounts and automations.

**Do usage analytics only cover triggers, or chat conversations too?**
Both — it separates credits and runs from triggers versus from conversations, so you can see either in isolation or combined.
