# Clean a Brevo Contact List: Blocklist and Verify

URL: https://email-validation.org/guides/clean-email-list-brevo/
Updated: 2026-11-06

> Documentation index: https://email-validation.org/llms.txt

To clean a Brevo contact list, let Brevo's blocklist handle the contacts it already knows are bad, then verify the
contacts it still mails and blocklist the ones whose result says `remove`. Brevo blocklists a contact from email
campaigns after a hard bounce, after five consecutive campaign soft bounces, after a spam complaint and after an
unsubscribe. It cannot tell you which addresses will fail before you send. The workflow is: export the subscribed
contacts, verify the file, re-import the results into contact attributes, then blocklist rather than delete.

## What Brevo already does on its own

Brevo, formerly [Sendinblue](https://www.brevo.com/blog/becoming-brevo/), keeps a blocklist per channel. Its article
[What are the different types of blocklisted contacts?](https://help.brevo.com/hc/en-us/articles/209458705-FAQs-What-are-the-different-types-of-blocklisted-contacts)
gives four reasons a contact is blocklisted from your email campaigns: they unsubscribed through your unsubscribe
form, they marked a campaign as spam, a campaign to them hard bounced, or you blocklisted them yourself, one by one or
through an import. A blocklisted contact is left out of every email campaign, and you use no email credits on them.
They still count toward your total number of contacts.

### Bounces

[What are soft bounces and hard bounces in email?](https://help.brevo.com/hc/en-us/articles/209435165-What-are-soft-bounces-and-hard-bounces-in-email)
describes the bounce rules:

- **Hard bounce:** a permanent failure, for example an address that does not exist. Brevo blocklists the address
  automatically and never retries it.
- **Soft bounce:** a temporary failure, such as a full mailbox or an unavailable server. Brevo first defers the
  message and retries it for 36 hours. If an email campaign soft bounces for the same contact five times in a row, the
  contact is blocklisted. This rule does not apply to transactional emails.

The same article shows how to find the bounced contacts: in **CRM > Contacts**, click **Add filter** and choose
**Marketing > Email > Email classed as soft bounce** or **Email classed as hard bounce**.

### Transactional email is a separate blocklist

Transactional emails have their own blocklist, fed by the same kinds of events. By default, a contact who
unsubscribes from a transactional email is blocked only from that sender. You view that list under
**Settings > Transactional emails > Blocked or Unsubscribed contacts**
([View your blocklisted contacts](https://help.brevo.com/hc/en-us/articles/5311015528594-View-your-blocklisted-contacts-unsubscriptions-complaints-hard-bounces)).

## What verification adds

Every rule above reacts to mail you already sent. Verification checks addresses before the next send. It catches
addresses that would bounce, and some that a bounce never reveals:

- mailboxes that no longer exist ([`no_mailbox`](https://email-validation.org/docs/statuses/invalid/#no_mailbox), which would bounce with a
  reply like [550 5.1.1](https://email-validation.org/bounce-codes/550-5-1-1/));
- [disposable](https://email-validation.org/docs/statuses/disposable/) addresses from throwaway mail services;
- addresses that accept mail but should not be mailed, such as known [spam traps](https://email-validation.org/docs/statuses/valid/#spamtrap)
  and [complainers](https://email-validation.org/docs/statuses/valid/#complainer), which are `valid` with the action `remove`;
- [catch-all](https://email-validation.org/docs/statuses/catch-all/) domains, where a single mailbox cannot be confirmed.

## Step 1: Export the subscribed contacts

Skip the contacts Brevo already blocklists: it would not mail them, so checking them buys you nothing. Follow
[Export your contacts from Brevo](https://help.brevo.com/hc/en-us/articles/5310065850642-Export-your-contacts-from-Brevo):

1. Go to **CRM > Contacts**. To export one list or segment, click **Load a list or segment** and pick it.
2. Click **Add filter > Marketing > Email > Email campaigns subscriptions > Subscribed**, so only contacts who are not
   blocklisted from email campaigns remain.
3. Select the checkbox in the CONTACT column, then **Select all contacts**.
4. Click **More actions > Export**. EMAIL is selected by default; keep it, because it is how the re-import finds each
   contact.
5. Pick a separator (semicolon or comma) and click **Start export**. Download the file from the notification under
   the bell icon.

## Step 2: Verify the file

Upload the export as a [bulk list](https://email-validation.org/docs/bulk/) in the dashboard. Our upload reads comma, semicolon, tab or `|`
separated files, so either Brevo separator works; check that the email column was detected. You do not need to
deduplicate first, and malformed addresses, duplicates and `unknown` results cost nothing
([cost](https://email-validation.org/docs/bulk/#cost)).

When the job is complete, download the results as CSV with your original columns
([download options](https://email-validation.org/docs/bulk/#download)). Our columns follow yours in every row. Three of them matter here:

| Column | What it holds |
|---|---|
| `ev_status` | `valid`, `invalid`, `catch_all`, `unknown` or `disposable` |
| `ev_reason` | why, for example `no_mailbox`, `spamtrap` or `role_account` |
| `ev_action` | `send`, `send_with_caution`, `remove` or `retry_later` |

Decide by `ev_action`, not by the status alone: a spam trap is `valid`, because the mailbox accepts mail, but its
action is `remove` ([actions](https://email-validation.org/docs/statuses/#actions)).

## Step 3: Re-import the results as contact attributes

Attributes are what Brevo segments and automations filter on. You can create them in
**Settings > Contacts > Contact attributes**, on the **Normal Attributes** tab, with **+ Add a new attribute**
([Create and manage custom contact attributes](https://help.brevo.com/hc/en-us/articles/10617359589906-Create-and-manage-custom-contact-attributes)),
or while mapping the import. Use the Text type. Brevo's naming rules: at most 50 characters, letters, digits and
underscores only, not starting with a digit, and up to 200 attributes per account. Choose carefully, because an
attribute's name and type cannot be edited later.

Then import the result file, as described in
[Update the information of your contacts](https://help.brevo.com/hc/en-us/articles/10227982847762-Update-the-information-of-your-contacts)
and [Import your contacts to Brevo](https://help.brevo.com/hc/en-us/articles/115000719584-Import-your-contacts-to-Brevo):

1. In **CRM > Contacts**, click **Import contacts**, keep the **Contacts** card selected and click **Continue**.
2. Choose **Upload a file**, select the result file and click **Confirm your file**.
3. Map EMAIL to the email column and `ev_status`, `ev_reason` and `ev_action` to their attributes. Set every other
   column to **Do not import**, then click **Confirm mapping**.
4. Select the list the contacts came from, so you do not add them to a new one, and click **Confirm your list**.
5. In **Contacts management**, keep **Update the attributes of the existing contacts** on, and leave
   **Import empty fields to erase existing attribute data** off.
6. Check the opt-in confirmation only if it is true: these are contacts who agreed to hear from you. Click
   **Confirm your import** and read the import report.

Two re-import rules matter. Without an identifier such as EMAIL, Brevo imports the rows as new contacts and you get
duplicates. And the blocklist toggles in step 5 apply to every contact in the file, so leave them off for this
import, which contains everyone.

## Step 4: Blocklist the contacts to remove

Build a segment on the attribute: in **CRM > Contacts**, click **Add filter**, pick your `ev_action` attribute among
the contact attributes and filter on the value `remove`
([Create a segment to filter your contacts](https://help.brevo.com/hc/en-us/articles/7943906808594-Create-a-segment-to-filter-your-contacts);
custom text attributes can be filtered by value, per
[What conditions are available to segment my contacts?](https://help.brevo.com/hc/en-us/articles/14902945335954-What-conditions-are-available-to-segment-my-contacts)).
Save it with **Save as segment** if you want to reuse it. Then, following Brevo's list cleaning article:

1. With the segment applied, select the checkbox at the top left of the table and click **Select all contacts**.
2. Click **Blocklist**.
3. Enter the number of contacts and click **Blocklist** again to confirm.

The alternative is a file. Filter the result file to the rows whose `ev_action` is `remove` and import it with
**Blocklist the imported Email contacts** turned on
([Import a list of blocklisted contacts](https://help.brevo.com/hc/en-us/articles/5317230365074-Import-a-list-of-blocklisted-contacts)).
Brevo applies the blocklist choice to the whole file, so put only those rows in it.

Both ways blocklist contacts from email campaigns only. Brevo manages a contact's transactional email status one
contact at a time, on the **Preferences** tab of their details page
([Blocklist, unblock, or resubscribe contacts](https://help.brevo.com/hc/en-us/articles/5317448358034-Blocklist-unblock-or-resubscribe-contacts)).

## Step 5: Handle the caution and retry rows

- **`send_with_caution`** covers [catch-all](https://email-validation.org/guides/catch-all-emails/) domains,
  [role addresses](https://email-validation.org/guides/role-based-email-addresses/) and a few `valid` reasons such as
  [`low_engagement`](https://email-validation.org/docs/statuses/valid/#low_engagement). Keep them, put them in their own segment, send to it less
  often and watch its bounces and complaints.
- **`retry_later`** means the check got [no definite answer](https://email-validation.org/docs/statuses/unknown/) this time, for example because
  the receiving server was unavailable or deferred the check. Do not blocklist these; check them again in a few days.
- **Typos.** An `invalid` address with the reason [`likely_typo`](https://email-validation.org/docs/statuses/invalid/#likely_typo) may come with
  a suggestion in `ev_did_you_mean`. Do not replace the address without asking the person.

## Blocklist, do not delete

Brevo is firm on this. Its [Delete contacts](https://help.brevo.com/hc/en-us/articles/5313915904914-Delete-contacts)
article says deletion is permanent and recommends it only for data protection requests, such as a person asking you
to delete their data. Its
[FAQ on deleting blocklisted contacts](https://help.brevo.com/hc/en-us/articles/208732189-FAQs-Why-not-delete-contacts-who-are-blocklisted)
explains the risk: a deleted contact loses their blocklist status, so a later import can bring them back and you mail
someone who was invalid or had unsubscribed. If you would rather not see them, move blocklisted contacts to a separate
list instead.

Blocklisting can be undone only one contact at a time, from the contact's page. Brevo warns that resubscribing someone
who asked to be blocklisted is illegal and can get the account suspended.

## Engagement cleaning is a separate job

A deliverable address can still belong to someone who stopped reading. Brevo's list cleaning article recommends
cleaning at least once a year, and more often when bounces, unsubscribes or complaints rise. It finds unengaged
contacts with **Contact attributes > Engagement status > Unengaged**, a predefined segment you can adjust in the
Unengaged Contacts setting (contacts using Apple Mail Privacy Protection are left out of it). It suggests a
re-engagement email first, then blocklisting the contacts who stay unengaged; an automation workflow can do both. Our
[re-engagement and sunset policy](https://email-validation.org/guides/re-engagement-sunset-policy/) guide covers how to choose the windows.

The same article says purchased or rented lists are prohibited in Brevo and recommends blocklisting all their
contacts. Verification does not change that: it says whether mail can arrive, not whether the person agreed
([bought email lists](https://email-validation.org/guides/bought-email-lists/)).

## Questions

### Does Brevo blocklist bounced addresses by itself?

Yes, after the bounce. A hard bounce blocklists the contact at once, and five consecutive soft bounces on email
campaigns do too. Verification removes addresses that would bounce before you send to them.

### Should I delete invalid contacts in Brevo?

No, blocklist them. Brevo recommends deletion only for data protection requests, and a deleted contact can come back
with a later import without its blocklist status.

## Try it

Upload your Brevo export for [bulk email verification](https://email-validation.org/bulk-email-verification/), or check one address in the free
[email checker](https://email-validation.org/email-checker/).

## Related

- [Bulk lists: upload, cost and result columns](https://email-validation.org/docs/bulk/).
- [Statuses, reasons and actions](https://email-validation.org/docs/statuses/).
- [Glossary: suppression list](https://email-validation.org/glossary/#suppression-list).
- [General list cleaning steps](https://email-validation.org/guides/email-list-cleaning/).

## Related guides

- [How to clean an email list](https://email-validation.org/guides/email-list-cleaning/)
- [Re-engagement campaigns and sunset policies](https://email-validation.org/guides/re-engagement-sunset-policy/)
- [Cleaning an email list in Klaviyo](https://email-validation.org/guides/clean-email-list-klaviyo/)
- [How to clean a Mailchimp audience](https://email-validation.org/guides/clean-email-list-mailchimp/)
- [Reduce your email bounce rate](https://email-validation.org/guides/reduce-email-bounce-rate/)
- [All guides](https://email-validation.org/guides/)

## Sources

- [Brevo: What are the different types of blocklisted contacts?](https://help.brevo.com/hc/en-us/articles/209458705-FAQs-What-are-the-different-types-of-blocklisted-contacts):
  blocklist reasons per channel, credits, contact counts, transactional senders.
- [Brevo: What are soft bounces and hard bounces in email?](https://help.brevo.com/hc/en-us/articles/209435165-What-are-soft-bounces-and-hard-bounces-in-email):
  bounce handling, the 36-hour retry, the five-soft-bounce rule, bounce filters.
- [Brevo: View your blocklisted contacts](https://help.brevo.com/hc/en-us/articles/5311015528594-View-your-blocklisted-contacts-unsubscriptions-complaints-hard-bounces):
  where campaign and transactional blocklists are shown.
- [Brevo: Optimize and clean your contact list](https://help.brevo.com/hc/en-us/articles/5981839739538-Optimize-and-clean-your-contact-list-to-improve-email-deliverability):
  cleaning frequency, unengaged contacts, bulk blocklisting, purchased lists.
- [Brevo: Export your contacts from Brevo](https://help.brevo.com/hc/en-us/articles/5310065850642-Export-your-contacts-from-Brevo):
  export steps and the subscription filter.
- [Brevo: Create and manage custom contact attributes](https://help.brevo.com/hc/en-us/articles/10617359589906-Create-and-manage-custom-contact-attributes):
  attribute types, naming rules and limits.
- [Brevo: Import your contacts to Brevo](https://help.brevo.com/hc/en-us/articles/115000719584-Import-your-contacts-to-Brevo)
  and [Update the information of your contacts](https://help.brevo.com/hc/en-us/articles/10227982847762-Update-the-information-of-your-contacts):
  import steps, contacts management options, identifiers.
- [Brevo: Create a segment to filter your contacts](https://help.brevo.com/hc/en-us/articles/7943906808594-Create-a-segment-to-filter-your-contacts):
  segment steps.
- [Brevo: What conditions are available to segment my contacts?](https://help.brevo.com/hc/en-us/articles/14902945335954-What-conditions-are-available-to-segment-my-contacts):
  filtering on custom attributes and subscription status.
- [Brevo: Import a list of blocklisted contacts](https://help.brevo.com/hc/en-us/articles/5317230365074-Import-a-list-of-blocklisted-contacts)
  and [Blocklist, unblock, or resubscribe contacts](https://help.brevo.com/hc/en-us/articles/5317448358034-Blocklist-unblock-or-resubscribe-contacts):
  blocklisting by file and by selection, unblocking rules.
- [Brevo: Delete contacts](https://help.brevo.com/hc/en-us/articles/5313915904914-Delete-contacts) and
  [Why not delete contacts who are blocklisted?](https://help.brevo.com/hc/en-us/articles/208732189-FAQs-Why-not-delete-contacts-who-are-blocklisted):
  deletion versus blocklisting.
- [Brevo: From Sendinblue to Brevo](https://www.brevo.com/blog/becoming-brevo/): the former name.

## Get up to 500 free credits. No card needed.

New accounts get 500 free credits (100 when you sign up with a free email provider such as Gmail, Outlook or Yahoo, or another personal mailbox such as a paid one like Fastmail or one from your internet provider). Try it on your own list before you buy. [Create your account](https://email-validation.org/signin/?new=1) or [open the free email checker](https://email-validation.org/email-checker/).
