# Email statuses and metrics

Source: https://kirora.io/docs/guides/messaging/email/email-statuses

What each email status means, why a message was skipped, failed or bounced, and how the numbers add up.

Every email Kirora sends, or decides not to send, has a status. You see it on a campaign's **Recipients** tab, a journey step's contacts, a contact's **Messages**, and **Message library › Sent messages** (see [Message library](https://kirora.io/docs/guides/messaging/message-library)). Open a message to see its timeline and, when something went wrong, the reason.

## Statuses

A message moves from **Queued** through **Sending** to an outcome:

| Status | What it means |
| --- | --- |
| **Queued** | Waiting to be processed |
| **Sending** | Being handed to the email provider |
| **Awaiting delivery receipt** | The provider accepted it; the recipient's mail server hasn't confirmed delivery yet |
| **Delivered** | The recipient's mail server accepted it |
| **Opened** | Delivered, then opened. Shown in place of **Delivered** |
| **Clicked** | Delivered, then a tracked link was followed. Shown in place of **Opened** |
| **Bounced** | The recipient's mail server rejected it |
| **Complained** | The recipient marked it as spam |
| **Failed** | It couldn't be sent, because of a provider or processing failure |
| **Skipped** | Kirora didn't send it, because of consent, suppression, eligibility or a message limit |

**Delivered** means the receiving server took the email. It doesn't say whether it landed in the inbox or the spam folder: no mailbox provider tells senders that.

An open recorded only by a mail app or security scanner loading the email by itself doesn't turn a message into **Opened**. A link followed by a security scanner isn't counted as a click either; the message says *A security scanner followed a link. It isn't counted as a click.*

## Why a message was skipped

A skipped message shows its reason under the status:

| Reason | What to do |
| --- | --- |
| No consent for this channel | The contact hasn't agreed to marketing email. Only they can give consent |
| Not sent: … (for example, *Not sent: the address bounced*) | The contact unsubscribed, or the address bounced, was marked as spam or was blocked by hand. See [Suppression](https://kirora.io/docs/guides/contacts/consent-and-unsubscribes#suppression) |
| They left this message's topic | The contact opted out of this kind of email |
| Over one of the workspace's message limits | They'd had their share of marketing recently. See **Settings › Messaging › Sending rules** |
| Their local send time had already passed | The campaign was sent in local time after that time had passed where they are |
| The campaign was cancelled | Nothing to do |
| No email address | Add one to the contact |
| The email had no content | Design the email, then send again |
| The workspace has no postal address for the footer | Add it in **Settings › Workspace › General** |
| Not sent: the sending domain isn’t approved | The domain is waiting for Kirora's review, or was declined. See [How Kirora reviews a domain](https://kirora.io/docs/guides/getting-started/set-up-a-sending-domain#how-kirora-reviews-a-domain) |
| Not needed: the message before it was sent | A transactional backup channel (push first, then email, or the other way round) wasn't needed because the first went. It isn't charged. Nothing to do |
| Not sent: the plan’s allowance was used up | The plan had no room when it was due, such as a transactional backup channel. See [Plans and billing](https://kirora.io/docs/guides/account/plans-and-billing) |
| Missing *field*, such as *Missing first name* | A merge tag had no value and no fallback. Add a fallback. See [Fallbacks](https://kirora.io/docs/guides/email-designer/merge-tags-and-personalisation#fallbacks) |

## Why a message bounced or failed

A bounced message shows the reason in bold, such as *Rejected by the receiving server*, *Temporary bounce* or *Bounced, for a reason the server didn't give*, then the bounce's type, such as *The address doesn't exist*, *Mailbox full* or *On the provider's suppression list*, and the **Server's reply**, the receiving mail server's own words, such as `550 5.1.1 user unknown`.

An address that doesn't exist is suppressed straight away; a temporary bounce, such as a full mailbox, fails only that message. See [Suppression](https://kirora.io/docs/guides/contacts/consent-and-unsubscribes#suppression) for complaints and the rest.

A failed message shows *Rejected by the provider*, *The provider kept failing, so it stopped retrying* or *The provider didn't confirm the outcome*. Kirora doesn't retry an email whose outcome is unknown, because the provider may have sent it already.

## Metrics

Campaigns, journey steps and the **Overview** count **Delivered**, **Opened**, **Clicked**, **Bounced**, **Spam reports** and **Unsubscribed**, each email once however often it's opened. [Email numbers](https://kirora.io/docs/guides/reports/understand-your-reports#email-numbers) says what each one is a share of.

- **Opened** includes the opens mail apps and scanners make by themselves and says how many, for example *· 120 by machines*. Judge results by clicks and conversions instead. See [Read opens with care](https://kirora.io/docs/guides/reports/understand-your-reports#read-opens-with-care).
- **Clicked** leaves out links a security scanner followed and says how many, for example *· 8 by security scanners (not counted)*.

## Next steps

- [Troubleshoot email](https://kirora.io/docs/guides/messaging/email/troubleshoot-email)
- [Deliverability basics](https://kirora.io/docs/guides/reports/deliverability-basics)
- [Understand your reports](https://kirora.io/docs/guides/reports/understand-your-reports)