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

# Senders Health report

> One health score for your fleet, then per-sender, per-domain and per-provider performance tables.

export const Screenshot = ({id, alt, caption, frame = 'browser', url, marks = [], lang = 'en', workspace = 'northwind-outbound'}) => {
  const src = `/images/screenshots/${lang}/${id}.png`;
  const chrome = url ? `app.pipelime.ai/${workspace}${url}` : 'app.pipelime.ai';
  return <figure className={`pl-shot pl-shot--${frame} not-prose`}>
      <div className="pl-shot__frame">
        {frame !== 'bare' && <div className="pl-shot__bar">
            <span className="pl-shot__dots">
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
            </span>
            <span className="pl-shot__url">{chrome}</span>
          </div>}
        <div className="pl-shot__media">
          <img src={src} alt={alt} loading="lazy" />
          {marks.map(mark => <span key={mark.n} className="pl-shot__mark" style={{
    left: `${mark.x}%`,
    top: `${mark.y}%`
  }} aria-hidden="true">
              {mark.n}
            </span>)}
        </div>
      </div>
      {caption && <figcaption className="pl-shot__caption">{caption}</figcaption>}
    </figure>;
};

Generate a report that scores your whole fleet of email accounts over a date range you choose,
then breaks the same numbers down by account, by email domain and by email provider.

<div className="pl-availability">
  <div className="pl-availability__row">
    <div className="pl-availability__label">Where</div>
    <div className="pl-availability__value"><span className="pl-path">Overview<span className="pl-path__sep">→</span>Analytics<span className="pl-path__sep">→</span>Senders Health</span></div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">Your role needs</div>
    <div className="pl-availability__value">Read access to Senders Health <code>read-senders</code>. Admin, Member and Viewer have it by default.</div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">To create or change</div>
    <div className="pl-availability__value"><code>create-senders</code> to add one, <code>update-senders</code> to change one, on top of the permission above.</div>
  </div>

  <div className="pl-availability__note">If you cannot find this in your sidebar, your workspace may have a custom menu configuration. Contact support and we will check it for you.</div>
</div>

<Note>
  This is not the automatic health check that can move a struggling mailbox to Error on its own.
  This page reads history on demand and changes nothing about an account. See
  [Automatic health checks and the reputation block](/en/email-accounts/sender-health-checks) for
  the one that does.
</Note>

## Before you begin

* At least one connected email account. The report still generates without one, but there is
  nothing in it: the score reads zero, and each of the three tables shows its own "no data" line.

## Steps

<Steps>
  <Step title="Open the report">
    The report is not in the sidebar. From the Dashboard, open the **Analytics** button beside the
    date range and choose **Senders Health**.

    The Email Accounts list is a second way in: the chart icon in its toolbar, whose tooltip reads
    "Senders health report", opens the same page.
  </Step>

  <Step title="Set your filters">
    Two filters sit below the date range. **Campaign** starts on **All Campaigns**. **Senders** is a
    multi-select of your connected accounts. Leaving it empty is the same as picking all of them,
    so there is no way to narrow it down to nothing. This report has no tag filter.

    The date range above them starts on **Last 30 days**. Set your own dates more than 30 days
    apart and "Maximum date range is 30 days" appears under **From**, but the range is still
    applied and the report still generates over it. No preset is long enough to raise it.

    A link carrying `?campaign_id=` or `?sender_id=` pre-selects that filter for you. It does not
    generate the report. You still take the next step.
  </Step>

  <Step title="Generate the report">
    Press the "Generate Report" button in the filter row, or "Generate Report Now" on the prompt
    that fills the space below it. Until you do, no report exists: not an empty table, just that
    prompt.

    What comes back first is one card headed **Senders Health**. It holds a large percentage inside
    a circle, with the whole card colour-graded green through orange to red by that same number; a
    verdict beside it ("Good Health" and "Needs Attention" are two of six) and "Open Rate",
    "Click Rate" and "Reply Rate" in three tiles to its right. A bar across the bottom counts
    "Total Emails", "Total Senders", "Domains" and "Email Providers".

    That percentage is your deliverability rate for the window and nothing else: the number, the
    verdict and the colour are all read from it. The tooltip beside the heading says the score is
    "based on deliverability, open rates, click rates, and reply rates", but the other three rates
    are only displayed next to it, never folded into it.

    <Screenshot id="analytics/senders-health-report--overview" url="/analytics/senders-health" alt="The Senders Health card: a large percentage inside a circle, a health verdict and a sentence of description beside it, Open Rate, Click Rate and Reply Rate in three tiles to the right, and a bar below counting Total Emails, Total Senders, Domains and Email Providers" caption="The number in the circle is your deliverability rate. The three rates beside it are shown separately, not blended into it." />
  </Step>

  <Step title="Read the tables">
    Three sortable tables follow the card: "Sender Performance", one row per email account; "Domain
    Performance", one row per address domain (the part after the @); and "Email Provider
    Performance", one row per outgoing mail server. All three carry "Total Emails",
    "Deliverability", "Open Rate", "Click Rate" and "Reply Rate". The domain and provider tables
    add a "Senders" count of how many accounts fall under that row. Click a column header to sort
    by it; each table opens sorted by "Total Emails", largest first.

    With **Senders** left empty, every connected account gets a row, whatever it did in your
    window. One that sent nothing reads zero across the row rather than being left out, and its
    domain and its provider still appear in the other two tables. Narrow **Senders** and the
    tables cover only the accounts you picked.

    <Screenshot id="analytics/senders-health-report--tables" url="/analytics/senders-health" alt="Three stacked tables: Sender Performance, Domain Performance and Email Provider Performance, each with sortable columns for total emails, deliverability, open rate, click rate and reply rate, with the domain and provider tables also counting senders" caption="The domain and provider tables add a Senders count; otherwise all three share the same rate columns." />
  </Step>

  <Step title="Export a PDF, if you need one">
    Once a report exists, an "Export to PDF" button appears above it. The file opens on "Sender
    Health Report" over the subtitle "PERFORMANCE ANALYTICS" and the reporting period, then prints
    four sections under headings of their own: "Sender Health Overview" on that first page, and
    "Senders Performance", "Domains Performance" and "Providers Performance" each on a page of
    their own. Those are not the headings you just read on screen, so do not go hunting for "Email
    Provider Performance" in the file.

    If you filtered, one line under the period repeats what you picked: "Campaign: …" and
    "Senders: …", joined by a pipe and truncated if it runs long. The campaign is always a
    placeholder ("Campaign #12", never its name) because the export has no way to look the name
    up. The senders resolve to their account names, not the addresses the filter chips show. In a
    partner-branded workspace the header carries that workspace's own logo, and its name goes into
    the filename.
  </Step>
</Steps>

## What happens next

<Check>
  The card shows one score with its three rates and four totals, and the three tables below it list
  the accounts the report covered, every domain those accounts sit on and every provider they send
  through.
</Check>

Nothing here updates on its own. Change a filter or the date range and press "Generate Report"
again to refresh what you are looking at. Because this report only reads history, doing so
never pauses, resumes or otherwise touches a mailbox.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The tables say there is no data for the selected period, and the score is a red zero">
    Not the date range: every connected account gets a row regardless of how much it sent in your
    window. It means there are no connected email accounts at all. Emptying the **Senders**
    filter cannot cause it either, because empty means all. Over an empty fleet the rate works out
    at zero, which the card reports in red as "Poor Health"; that is a count of nothing, not a
    verdict on your reputation. Connect an account and generate again.
  </Accordion>

  <Accordion title="A campaign_id or sender_id link opened the page but nothing generated">
    `?campaign_id=` and `?sender_id=` only pre-select a filter here, so press "Generate Report"
    yourself. The Campaigns Report does generate on its own when a link names a campaign it
    recognises; this one never does.
  </Accordion>

  <Accordion title="You are trying to find out why a mailbox got paused or flagged">
    You are on the wrong page. This report only reads past performance; it never changes an
    account's status. See
    [Automatic health checks and the reputation block](/en/email-accounts/sender-health-checks) for
    the background check that can move a mailbox to Error and how to clear it.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Automatic health checks and the reputation block" icon="heart-pulse" href="/en/email-accounts/sender-health-checks">
    The background probe that can move a mailbox to Error on its own: the other "health" feature
    this report is not.
  </Card>

  <Card title="Smart Daily Limit" icon="gauge" href="/en/email-accounts/smart-daily-limit">
    How your daily sending number is calculated, and why it moves.
  </Card>

  <Card title="Campaigns Report" icon="chart-line" href="/en/analytics/campaigns-report">
    The matching report grouped by campaign instead of by account, domain or provider.
  </Card>
</CardGroup>
