Cleaning a Brevo contact list

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, keeps a blocklist per channel. Its article 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? describes the bounce rules:

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).

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:

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:

  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 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).

When the job is complete, download the results as CSV with your original columns (download options). Our columns follow yours in every row. Three of them matter here:

ColumnWhat it holds
ev_statusvalid, invalid, catch_all, unknown or disposable
ev_reasonwhy, for example no_mailbox, spamtrap or role_account
ev_actionsend, 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).

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), 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 and 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; custom text attributes can be filtered by value, per 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). 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).

Step 5: Handle the caution and retry rows

Blocklist, do not delete

Brevo is firm on this. Its 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 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 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).

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, or check one address in the free email checker.

Sources

How we wrote this: drafted by the email-validation.org team with the help of AI writing tools, from our product documentation and the sources linked in the text.

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.

Updated · Maintained by the email-validation.org team