# Amazon SES vs Brevo

Source: https://wraps.dev/versus/amazon-ses-vs-brevo

An AWS primitive against a European all-in-one suite with email, SMS and a light CRM on one invoice. Anyone comparing these is really asking whether they need a marketing tool or just a way to send.

This is a category mismatch that people compare anyway, and the mismatch is the useful part. Brevo is a marketing suite that happens to expose a transactional API. SES is sending infrastructure that will never have a campaign builder. If your company has someone whose job is to write emails to customers, that person needs a tool, and SES is not one. If your email is entirely generated by code, Brevo's suite is a cost you are carrying to use one endpoint. Most teams comparing these two already know which description fits and are looking for permission.

## At a glance

|   | Amazon SES | Brevo |
| --- | --- | --- |
| What it is | Raw sending infrastructure from AWS | EU marketing platform with a transactional API attached |
| Published pricing | $0.10 per 1,000 emails on à la carte. New accounts are defaulted to the Essentials plan at $0.16 per 1,000; Pro is $105/mo + $0.22 per 1,000 and Enterprise $500/mo + $0.23 per 1,000. Plans are per-account, per-Region. | Priced on send volume rather than contacts. Starter runs from roughly $9/mo at 5,000 emails to roughly $69/mo at 100,000; the Business tier is roughly double at each volume and is where automation and A/B testing live. |
| Best for | Teams already on AWS with an engineer willing to own the plumbing. | Small EU teams wanting email, SMS, and a light CRM on one invoice. |
| Watch out for | Production access is an application AWS can refuse, and new accounts start sandboxed to verified addresses. No dashboard, no templates, and nothing stores your events until you build it. | The headline tier is not the one you need — automation and removing the Brevo logo are both a step up. Shared-pool deliverability draws mixed reports. |

Prices are each vendor's published list prices, verified August 2026. Check the vendor's own page before you sign anything.

## Where they actually differ

### Who opens the tool on a Monday morning

Amazon SES

Nobody, ideally. SES is configured once by an engineer and then runs, and the console exists to manage identities, quotas and configuration sets rather than to be visited. There is no campaign to schedule, no list to segment, no report to read. A non-technical colleague has no reason to have an account and would find nothing to do with one.

Brevo

A marketer, a founder wearing the marketing hat, or an operations person. Brevo's whole shape assumes a human sits down and decides who receives what — a contact list, a segment, a designed email, a send time, a report afterwards. That is a different product category from an endpoint, and it is why the comparison is really about org chart rather than technology.

### European data residency, and the argument underneath it

Amazon SES

SES runs in European AWS regions and the choice is yours, so mail can be processed inside the EU as a configuration decision. The objection a European buyer raises is about ownership rather than geography, and it is a fair objection: an EU region operated by a US-headquartered company is a different answer from an EU-headquartered company, whatever the data flow diagram says. Whether that distinction matters is a legal question for your counsel, not a technical one.

Brevo

Brevo is a French company operating in the EU, which answers the ownership version of the question rather than only the geography version. For a buyer whose requirement was written by a data protection officer rather than an architect, that is frequently the end of the evaluation. The consent and preference tooling is also built for that regime rather than retrofitted, which shows in the parts of the product concerned with who agreed to what.

### Everything that is not email

Amazon SES

SES is email. There is SMS in a separate AWS service with its own setup, its own approvals and its own console, and there is no CRM anywhere in the picture. Assembling a multi-channel story on AWS is entirely possible and is genuinely several projects, each with its own registration and compliance steps. Nothing arrives bundled.

Brevo

Email, SMS, a light CRM, chat and automation on one invoice with one contact record underneath. For a small business this is a real simplification, because the alternative is three vendors and a reconciliation problem. The honest caveat is that each individual piece is less capable than a specialist tool, so the value is in the integration rather than in any one component being best.

### The tier that has the feature you assumed was included

Amazon SES

SES has no tiers in this sense. The plan affects the rate you pay rather than the capability you get, and there is no feature behind a paywall because there are barely any features. What you have on day one is what you will have in year three, which is either reassuring or bleak depending on what you needed.

Brevo

The headline tier is usually not the one that works. Automation and A/B testing sit a step up, and removing the Brevo logo from your emails is also not on the entry plan. This is not hidden, but it is consistently how the evaluation goes wrong: a price is quoted from the cheapest row and the requirement list turns out to need the row above it. Price the tier that has the features, not the tier on the homepage.

### Deliverability and the shared pool

Amazon SES

Your reputation, isolated to your account, visible in your own metrics, and nobody else's problem or benefit. A new SES identity starts from nothing and must be warmed, which is real work. Once warmed, the standing belongs to your account and travels with you across any tooling change, which is the durable half of the argument for owning this layer.

Brevo

Brevo's shared pools, which draw mixed reports — the common pattern being that a sender with good engagement is fine and a sender with a purchased list discovers that everyone on the pool shares the consequences. Dedicated options exist higher up the range. For a small sender with a clean list the shared pool is usually a net benefit, since their aggregate standing is better than a brand new domain's.

### Consent, unsubscribes and the compliance surface

Amazon SES

SES gives you an account-level suppression list and a configuration-set-level one, and nothing else. It will not manage consent, will not store a preference centre, will not record why somebody is on your list and will not generate an unsubscribe link. Every one of those is a thing you build, and every one of them is a thing a regulator may ask about. The suppression list is a safety net, not a compliance programme.

Brevo

Contact attributes, consent tracking, subscription preferences and a hosted unsubscribe flow are part of the product, built for a regime where a data protection officer will ask to see them. For a team without an engineer to spare this is a substantial amount of work you are not doing, and it is probably the strongest non-marketing argument for the suite shape.

### What the price is charged against

Amazon SES

Messages. No platform fee, no plan to outgrow, billed by AWS with everything else, and the per-message economics are why large senders end up here. New accounts land on a metered plan rather than the old flat rate, and the plan is scoped per account and per region, so a second region is a second decision. The line is straight and the slope is small.

Brevo

Send volume rather than contacts, which is an unusually sane choice in the marketing-suite category and means a large dormant list does not by itself raise the bill. The tier step is the thing that does. Compared against SES the per-message cost is much higher and the comparison is not really the point, because a substantial part of what you are paying for is the person-shaped tooling SES does not have.

### What happens when you outgrow it

Amazon SES

You do not, in the sense that matters. SES scales past any volume a small business will reach and the quota rises on request. What you outgrow is the absence of everything else, and the response is to add tooling on top rather than to change providers — which is a much less disruptive kind of growth than a migration.

Brevo

Growth here tends to mean either climbing the tiers until the invoice provokes a review, or discovering that the automation engine cannot express what your lifecycle has become. Both lead to the same conversation, and the migration is harder than a sending migration because contacts, segments, automations and consent records all have to move rather than just a send call.

## Pros and cons, side by side

### Amazon SES

Strengths

-   The per-message rate carries no platform fee and no seat count, so a company of four and a company of four hundred pay the same rate for the same traffic.
-   European regions are a configuration choice rather than a product tier, so mail can be processed inside the EU without paying for a plan that mentions it.
-   Sending reputation accrues to an AWS account you continue to own, which means every later change to the tooling above it is a refactor rather than a migration.
-   Raw MIME is accepted, so a header a regulator asked for, an unusual content type or a specific threading behaviour is something you can simply set.

Trade-offs

-   There is no preference centre, no consent record and no generated unsubscribe link, so the compliance surface a European buyer cares about is entirely yours to build.
-   Suppression exists only as bounce and complaint entries. An unsubscribe has no representation at all in SES, which means the most common opt-out in marketing mail lives in your database or nowhere.
-   SMS is a wholly separate AWS service with its own registration, its own approvals and its own console, so the one-invoice multi-channel story does not exist.
-   New accounts start in a sandbox and must apply for production access, which is an AWS decision on AWS's timetable and the step most likely to slip a launch date.

### Brevo

Strengths

-   An EU-headquartered company operating in the EU answers the ownership form of a residency question, not merely the geography form, which is frequently the whole evaluation.
-   Billing follows send volume rather than stored contacts, so a large dormant list costs nothing to keep — the opposite of almost everything else in this category.
-   Consent tracking, subscription preferences and a hosted unsubscribe flow ship as product, built for a regime where somebody will eventually ask to see them.
-   Email, SMS, chat and a light CRM sit against one contact record, which for a small business replaces three vendors and the reconciliation between them.

Trade-offs

-   Automation, A/B testing and removing the Brevo logo from your mail all live above the entry plan, so the tier people price is reliably not the tier they need.
-   The shared sending pools draw mixed reports, and a sender with a purchased list discovers that the pool is shared in the direction they did not want.
-   Each component is less capable than the specialist tool it replaces, so the value is in the integration rather than in any one piece being the best available.
-   Growth ends either in climbing tiers until the invoice provokes a review or in an automation engine that cannot express what your lifecycle became.

## Pick in thirty seconds

### Choose Amazon SES if

-   All of your email is generated by code, and nobody at the company will ever want to schedule a campaign or open a report.
-   Volume is high enough that per-message economics dominate, and you are already inside AWS with an engineer to own the plumbing.
-   You need delivery events in your own storage on your own retention schedule rather than in a vendor's reporting view.
-   Sending reputation should belong to an account you keep, so that changing the tooling above it is never a migration.

### Choose Brevo if

-   Someone whose job is not engineering needs to write, schedule and measure emails without waiting for a deploy.
-   A data residency requirement was written by a data protection officer, and an EU-headquartered vendor answers it more cleanly than an EU region of a US one.
-   Email, SMS and a contact database on one invoice is worth more than any individual component being best in class.
-   Consent tracking, preference management and hosted unsubscribe flows are things you would rather buy than build and maintain.

## What actually moves when you switch

In roughly the order you would do it. The expensive parts of an email migration are never the send call.

1.  Be clear that the two directions are not mirror images. Leaving Brevo for SES means acquiring the things Brevo was quietly doing: sandbox approval, bounce and complaint processing, a suppression story, reputation monitoring and a dashboard for whoever asks what happened. Coming the other way you hand all of that back and buy a campaign tool. Only one of those directions has an approval gate in it.
2.  Export the blocklisted contacts by reason rather than as one file. Brevo distinguishes hard bounces, spam complaints and unsubscribes in its blocklist, and SES has exactly two suppression reasons and no concept of an unsubscribe at all. Two of the three exports load into the SES account-level suppression list; the third has no destination in AWS and must become a table in your own database before the first send.
3.  Build the opt-out before you need it. Brevo hosts the unsubscribe page, stores the preference selections behind it and writes the link into every campaign. SES writes no link, hosts no page and records no preference. The List-Unsubscribe header, the one-click POST endpoint behind it and the page a recipient lands on are three things to have working on the day you cut over, not the week after.
4.  Move the contact attributes somewhere they can still be queried. Brevo's attributes, lists and folders are the segmentation model, and SES has no model of a person at all. Whatever decides who receives a message has to exist as a query in your own database, which for a team that only ever segmented in the Brevo UI is a schema conversation rather than an export.
5.  Re-author the templates instead of exporting them. Brevo's designer emits builder HTML wrapped around its own substitution tags, and SES either takes finished HTML or its own minimal template API with token replacement and nothing else. The visual layout can be salvaged; the conditional logic in the Brevo template cannot, because it is evaluated on their side and there is nothing on the other side to evaluate it.
6.  Start the SES production access application before anything else is ready. It is the only step on this list that somebody outside your company decides, and it asks concretely how you collect addresses and how you handle bounces — questions that are easier to answer honestly once the suppression work above is done rather than before it.
7.  Pick the SES region deliberately if residency was the reason you were on Brevo in the first place. An EU region keeps processing inside the EU, and it does not convert AWS into a European company. If the requirement was written about the entity rather than the data path, this migration does not satisfy it and it is cheaper to discover that now.
8.  Plan the SMS and CRM traffic as separate projects or accept that they stop. AWS End User Messaging is a different service with its own registration, its own sender approvals and its own console, and there is no AWS product that corresponds to Brevo's deals pipeline. Teams that count only the email work are usually the ones who find this out after the Brevo subscription has been cancelled.

## Questions to ask before you sign

Put these to a sales rep, or find the answer in the documentation before anyone quotes you a number.

1.  Who at this company will open an email tool in a normal week, and does that person write code?
2.  Does our residency requirement name a region, or does it name the nationality of the company holding the data?
3.  If we stop paying for a hosted unsubscribe page and a consent record, who is building those and when?
4.  Which Brevo tier actually contains everything on our requirements list, and is that the number we have been comparing against?
5.  Do we send SMS today, and has anybody priced the separate AWS registration and approval that would replace it?
6.  Who owns the SES production access application, and what is the plan if AWS comes back asking for more detail?
7.  Is our list clean enough that a shared pool helps us, or engaged enough that an isolated reputation would serve us better?

## Common questions

### Can I use Brevo for marketing and SES for transactional?

Yes, and it is a common arrangement for teams whose developers and marketers want different things. Use separate subdomains so DKIM keys, reputation and DMARC alignment stay independent of each other. The cost is the reconciliation: two suppression concepts, two definitions of unsubscribed, and a real chance that somebody who opted out of marketing keeps receiving it because the opt-out landed in the system that was not sending it.

### Does Brevo charge per contact like most marketing tools?

No, and this is the most genuinely distinctive thing about its pricing. Brevo charges on send volume rather than on stored contacts, which means a large dormant list does not raise the bill by itself — the opposite of how Klaviyo, Customer.io and Loops all work. If your list is big and your sending is occasional, that difference can be larger than every other factor in the comparison combined.

### Is SES compliant with GDPR?

AWS provides the contractual machinery, and SES can be run entirely in European regions, so the infrastructure side is answerable. What SES does not provide is the compliance programme: consent records, preference management, unsubscribe handling and the ability to show a regulator who agreed to what. Those are yours to build. Compliance here is a property of your system rather than a property of the sending service, which is the part that catches teams out.

### Which Brevo plan do I actually need?

Almost certainly not the cheapest one. Automation and A/B testing live a tier up, and removing the Brevo logo from your emails is likewise not on the entry plan. Write down the features you need first, find the lowest row that has all of them, and compare that number rather than the headline. Evaluations of this product go wrong at this exact step more often than at any other.

### How much cheaper is SES in practice?

Per message, dramatically, and the comparison is close to meaningless on its own because you are comparing an endpoint to a suite. The fair version prices the whole job: SES plus whatever you would run for campaigns, consent and reporting, against Brevo at the tier that has the features you need. Done that way SES still usually wins at volume, and at small volume with a marketing person in the loop it frequently does not.

### What does SES give me for unsubscribes?

A suppression list that understands bounces and complaints, and nothing that understands an unsubscribe. There is no generated link, no hosted page and no preference record. Modern mailbox providers expect a List-Unsubscribe header with a one-click endpoint behind it on bulk mail, so you build the header, the endpoint and the page, and you store the result somewhere you can prove later. On a suite this is a checkbox. Here it is a small feature with a compliance consequence, and it is the single most underestimated item in a move from Brevo.

### How long does SES production access take?

Frequently under a day and sometimes considerably longer, and the variance is the problem rather than the average. AWS is deciding whether to lend you its shared reputation, so the application asks how you obtained the addresses, what you will send and what happens to a bounce. A vague answer gets a request for more detail and another wait. Teams that have already built bounce handling and a suppression path answer it in three concrete sentences and are usually through quickly. Nobody should plan a launch date around it being instant.

### Will my Brevo unsubscribe links keep working after a move?

No, and this is worth checking before the account is closed rather than after. Those links point at Brevo-hosted pages tied to your Brevo account, so they stop resolving when the subscription ends, and any message already sitting in someone's inbox carries a dead opt-out. The safe sequence is to publish your own unsubscribe endpoint first, send from it for a full campaign cycle, and only then wind the old account down — which also gives you a period where both records are being written and can be reconciled.

### What replaces Brevo's contact attributes on SES?

Your own database, and the honest version of that answer is that the work is not the storage but the queries. Brevo's attributes exist so somebody without SQL can build an audience in a UI, and moving them into a table gives you the data while removing the person who was using it. Teams that make this move successfully either accept that audiences are now engineering requests, or put a platform layer over SES that restores a contact model. Exporting the attributes is an afternoon; deciding who builds segments afterwards is the actual decision.
