// fix guide · Brevo

Fix Brevo emails going to spam

When Brevo campaigns land in spam, the causes are usually Brevo-specific: an unauthenticated domain that Brevo silently rewrites to brevosend.com, shared IP pools that include the entire free tier, and the free plan's 300-a-day drip schedule. This guide covers the exact DNS records Brevo asks for, the dedicated IP decision, and how to test a real Brevo campaign send with Unspam. The single most important fix: authenticate your domain so DKIM signs as you, not as brevosend.com.

// why it happens

Why Brevo emails land in spam.

01

Brevo rewrote your From address to brevosend.com

When a domain is not authenticated in Brevo (DKIM missing or invalid), Brevo's automatic protection replaces the sending domain with @brevosend.com to satisfy the Gmail and Yahoo sender rules in force since February 2024. Nothing fails visibly: campaigns report as delivered while recipients see a substitute address or a via label, and your own domain builds zero reputation. Authenticate the domain from your account dropdown > Senders, Domains, and Dedicated IPs > Domains, then confirm the DKIM d= domain on a live send.

02

SPF never aligns on Brevo, so DKIM carries your entire DMARC result

Brevo keeps the Return-Path on its own bounce domains, sendinblue-era hosts under sender-sib.com and mailin.fr, so SPF passes for Brevo's infrastructure but never aligns with your From domain on shared IPs. DMARC on Brevo therefore passes through DKIM alone: if your mail._domainkey TXT record or the brevo1/brevo2 CNAMEs are missing or broken, every campaign fails DMARC outright. Adding a Brevo include to your root SPF record changes nothing for campaigns.

03

You share IP reputation with Brevo's entire free tier

Free accounts and most paid accounts send from Brevo's shared IP pools, and a generous free plan attracts the most mixed sender quality of any major ESP. Your inbox placement moves with the pool, and you cannot pick your neighbors. The signal you do control is domain reputation: aligned DKIM, a clean list, and steady engagement, which is exactly why authentication matters more on Brevo than on ESPs with stricter onboarding.

04

The free plan's 300-email daily cap turns campaigns into multi-day drips

On the free plan, a campaign to more than 300 contacts pauses at the daily limit, and you have to resume it manually each day until the whole list is covered. Mailbox providers see the same message arriving in small bursts across days, engagement data gets spread thin, and time-sensitive content lands late. If your list is bigger than a few hundred contacts, the cap itself is a deliverability problem, not just a billing one.

05

Marketing blasts and password resets share one domain reputation

Brevo sends campaigns and transactional mail (SMTP and API) under the same authenticated domain by default, so a bad newsletter drags down order confirmations and password resets. Brevo's own guidance is to separate streams on subdomains, for example news.yourdomain.com for campaigns, each authenticated in its own right. Keep in mind that Gmail counts all subdomains of one primary domain together toward its 5,000-a-day bulk sender threshold.

06

A dedicated IP you do not need, or never warmed up

Brevo sells dedicated IPs at $251 per year (one is included with Enterprise) and recommends them only if you send at least three campaigns a week to 3,000 or more contacts, or over 100,000 emails a month with no gaps longer than a week. Below that volume, a cold dedicated IP performs worse than the warmed shared pools. If you qualify, attach the IP to a dedicated sending subdomain and use Brevo's automatic warm-up, which raises volume by 20 percent per sending day and expects sends to at least 3,000 contacts daily or every other day in the first weeks.

// authentication

How Brevo authenticates your mail.

Brevo authentication is three records from one wizard: a Brevo code TXT to prove ownership, DKIM, and DMARC. The envelope always stays on Brevo's infrastructure, so DKIM does all the DMARC alignment work. Everything lives under your account dropdown > Senders, Domains, and Dedicated IPs > Domains, with an automatic option that logs into your DNS provider from Brevo and a manual copy-paste path.

record default the problem the fix
Brevo code (TXT) Absent until you start authentication; Brevo generates a unique value like brevo-code:9b87d61c... per account. Without it Brevo cannot verify domain ownership, so the wizard never completes and senders on the domain stay unauthenticated, which triggers the brevosend.com rewrite. In Senders, Domains, and Dedicated IPs > Domains, click Authenticate next to your domain and publish the brevo-code TXT record at the root (@) of your DNS, then re-verify. Full validation can take up to 48 hours.
DKIM Unauthenticated domains get no DKIM for your domain; Brevo signs and sends with its substitute brevosend.com identity instead. Mail keeps flowing but recipients see a substitute address or via label, your domain builds no reputation, and DMARC has nothing aligned to pass on. Publish exactly what your account shows: either one TXT record at mail._domainkey, or two CNAMEs, brevo1._domainkey and brevo2._domainkey, pointing to b1.yourdomain.com.dkim.brevo.com and b2.yourdomain.com.dkim.brevo.com. Different accounts see different formats, so copy from your own Domains page, not from a tutorial.
SPF The Return-Path is a Brevo-controlled bounce domain (sendinblue-era hosts under sender-sib.com and mailin.fr), so SPF passes against Brevo's domain. SPF passes without aligning to your From domain, so it contributes nothing to DMARC; DMARC reports showing SPF pass with alignment fail are normal on Brevo shared IPs. Skip the SPF include on your root domain and rely on aligned DKIM. Aligned SPF only becomes possible with a dedicated IP, where Brevo provides records for your dedicated sending subdomain.
DMARC Brevo's wizard proposes v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com at _dmarc.yourdomain.com. Bulk senders without any DMARC record get throttled or rejected by Gmail and Yahoo. Worse, the automatic flow offers to replace an existing DMARC record with Brevo's, which silently reroutes your reports and resets your policy to p=none. If you already publish DMARC, authenticate manually and keep your record, optionally adding Brevo's rua address as a second report recipient. If you have no record, accept Brevo's p=none version and tighten the policy once reports run clean.
// test your real sends

How to test a Brevo campaign with Unspam.

Brevo's Preview & test sends go to a dedicated test list capped at 20 addresses, with a 50-test-a-day limit, and personalization renders from whatever attributes your test contacts happen to have. A one-off message to a handful of addresses is not scored the way a bulk campaign drop is, and on the free plan a test cannot reproduce the 300-a-day drip your real send will follow. The only honest test is a real campaign to a seed address.

  1. 01

    Get your Unspam seed address

    Start a spam test or inbox placement test in Unspam and copy the test address it generates. Placement tests include seed addresses across Gmail, Outlook, Yahoo, Zoho, ProtonMail and AOL.

  2. 02

    Add the seeds as regular Brevo contacts

    Go to Contacts > Lists, create a normal list named something like Deliverability seeds, and add the Unspam addresses to it. Use a regular list, not Brevo's test list: the test list exists for the Preview & test feature, which is the path you are trying to avoid.

  3. 03

    Build the campaign exactly as you plan to ship it

    In Campaigns > Email, keep the final subject line, final content, and a From address on your authenticated domain. Placeholder copy and a throwaway subject change how filters score the message, so test the real thing.

  4. 04

    Send it for real, not via Preview & test

    Select the seed list as the recipient and use Send now or Schedule, so the mail leaves through the production path with your live DKIM signature and the unsubscribe link Brevo enforces at send time. On the free plan this counts against the 300-email daily cap, so send seeds while you have quota left.

  5. 05

    Read the results in Unspam

    Check the SpamAssassin-style spam score, placement per provider, client previews, and the heatmap, plus SPF, DKIM and DMARC verdicts on the live send: the DKIM d= domain should be your domain, not brevosend.com. The free tier covers 10 spam tests and 3 inbox placement tests per month with no card; paid plans start at $9 per month with a 14-day refund.

// platform gotchas

Brevo features that quietly affect delivery.

The brevosend.com rewrite is silent

Brevo swaps the sending domain on unauthenticated mail without failing anything. Campaign reports look normal while recipients see a brevosend.com address or a via label next to your name. Do not trust the dashboard on this: read the From and DKIM d= domains in a live header, or in Unspam's authentication check on a real send.

Two DKIM formats exist, follow your own screen

Depending on the account, Brevo issues either a single TXT record at mail._domainkey or a brevo1/brevo2 CNAME pair pointing at dkim.brevo.com, and its help center documents both formats. Blog tutorials usually show only one format. Copy values from your own Domains page; a record pasted from someone else's guide will never verify.

The automatic wizard can replace your existing DMARC record

Brevo's connect-your-DNS-provider flow detects an existing DMARC record and asks to replace it with v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com. Accepting downgrades an enforcement policy to p=none and reroutes your aggregate reports to Brevo. If you already run DMARC reporting or enforcement, authenticate manually instead.

Free plan mail carries Brevo branding and a drip schedule

Every free-plan email ships with a Brevo logo footer, and removing it is a paid add-on or a higher plan. Combined with the 300-a-day cap and manual requeue, a free-plan send neither looks nor behaves like the campaign your paid competitors send. Both signals are visible to recipients, and branded footers depress engagement with some audiences.

// FAQ

Brevo deliverability, answered.

Why does Gmail show "via brevosend.com" next to my sender name?

Your domain is not authenticated in Brevo, so Brevo signs and sends with its substitute brevosend.com domain instead of yours. Older threads mention sendinblue.com because Brevo rebranded from Sendinblue in 2023; the mechanism is the same. Authenticate the domain (Brevo code, DKIM, DMARC) under Senders, Domains, and Dedicated IPs and the label disappears once verification completes, which can take up to 48 hours.

Do I need to add Brevo to my domain's SPF record?

No. Brevo controls the Return-Path domain, so SPF is evaluated against Brevo's infrastructure and already passes, just without aligning to your From domain. An include on your root SPF record changes nothing for campaigns. DMARC on Brevo shared IPs passes through DKIM alone, so the DKIM record from your Domains page is the fix that matters.

Is the $251 per year dedicated IP worth it?

Only at volume. Brevo's own threshold is at least three campaigns a week to 3,000 or more contacts, or over 100,000 emails a month with no gaps longer than a week. Below that, a dedicated IP receives too little mail to hold a reputation and performs worse than the shared pools. If you qualify, plan for weeks of warm-up; Brevo's automatic warm-up raises volume by 20 percent per sending day.

My campaign stopped partway through the list. Is Brevo blocking me?

Almost certainly not. On the free plan, sending pauses once you hit the 300-email daily cap and you resume it manually each day until the list is covered. That drip pattern also dilutes engagement signals, so if you send to more than a few hundred contacts regularly, a paid plan removes a real deliverability handicap, not just an inconvenience.

Can Unspam connect to my Brevo account and test campaigns automatically?

No. Unspam does not integrate with Brevo's API or any other ESP API. The workflow is manual by design: add Unspam's seed addresses as contacts in a regular Brevo list, send a real campaign to that list, and read the results in Unspam. Only a real send carries your final DKIM signature and the production sending path, so it is also the more accurate test.

Do my marketing campaigns hurt my transactional email on Brevo?

They can. Campaigns and transactional mail sent through Brevo share your domain's reputation by default, so complaints about a newsletter degrade receipts and password resets too. Brevo recommends separating streams on authenticated subdomains, such as news.yourdomain.com for campaigns. Note that Gmail still counts all subdomains of one primary domain together when applying its bulk sender rules.

Brevo platform details were verified against publicly available documentation in June 2026 and may have changed since. Brevo is a trademark of its respective owner. Unspam is not affiliated with or endorsed by Brevo.

// see where you land

Test your next Brevo campaign before your subscribers do.