Run email campaigns on your own Amazon SES.

Topic-based contact lists, personalized templates, automatic unsubscribe, and detailed delivery, open, and click analytics — sending through the SES account you already have.

Contacts

Organize contacts into topics.

A topic is a group a contact subscribes to — product updates, billing, onboarding.

  • Group contacts into topics — a contact can belong to as many as you need

  • Manage them in the UI or over the REST API, or import from CSV with column-to-field mapping

  • Search by email, filter by topic, and export a topic’s contacts back out as CSV

  • Update existing contacts on import instead of duplicating them

Topics decide who a campaign goes to — all contacts, or one topic.

Personalization

Custom fields, merged into every email.

Define your own contact fields and reference them in templates as Handlebars tags.

  • Reference any field in a template as a Handlebars {{tag}}

  • Fields are set per contact and merged at send — {{first_name}}, {{plan}}, whatever you define

  • Set campaign-level fallback values so contacts missing a field still render cleanly

Fields are defined once for your organization and stored as text.

Compliance

Unsubscribe handling, built in.

  • Drop {{sovyUnsubscribeUrl}} into any template to place the unsubscribe link

  • Sovy adds the List-Unsubscribe and one-click headers (RFC 2369 / RFC 8058) to campaign sends

  • Unsubscribe globally or per topic — your organization chooses the scope

  • Unsubscribed contacts are automatically excluded from future sends

  • Bounced and complained contacts can be suppressed in a click

Every campaign send carries a working unsubscribe path — link and headers both.

Analytics

Every send, measured.

Delivery, engagement, and complaint metrics for each campaign — straight from your SES account's own event stream.

  • Sends, deliveries, bounces, rendering failures, spam complaints, rejects, and delivery delays — every SES event, per campaign

  • Open and click rates measured over what was actually delivered

  • Opens and clicks broken down by country and city

  • …and by device type — desktop, tablet, and mobile

  • The exact links that were clicked, with total and unique counts

  • Download CSV lists of the contacts who opened, clicked, bounced, complained, or unsubscribed

Metrics come from Amazon SES’s event stream on your connected account; open and click counts are filtered for bots and duplicates.

Campaign creator

Compose, schedule, and split-test.

Build a campaign from a template, a sender, and an audience — then send it now or later.

1

Compose

Pick a published template, a verified SES sender, and an audience — all contacts or one topic.

2

Schedule

Send now, or schedule a date and time. A scheduler launches queued campaigns every minute.

3

A/B split

Split the audience between two templates by a ratio you set (5–95%). Subject and body both vary.

A/B is a split test — Sovy reports both variants side by side and you decide which to keep. There’s no automatic winner send.

Cost

Sending runs on your Amazon SES — so do the costs.

The same architecture as the rest of Sovy: it composes the campaign and hands sending to your SES, staying out of the delivery path.

Your SES, not ours

Campaigns send from your own connected Amazon SES account. Sovy operates no sending pool or relay.

AWS rates, no markup

You pay Amazon’s SES rates for delivery. Sovy doesn’t meter or mark up your sends.

Paced to your account

Sending follows your account’s SES send rate and respects your quota — nothing to configure.

FAQ

Questions about campaigns

Whose Amazon SES do campaigns send from?

Your own connected account. Sovy runs no sending pool; emails go out through your SES at Amazon’s rates.

Is there a per-email fee from Sovy?

No. There’s no per-email markup. Campaign features are part of the Growth and Scale plans — see pricing.

How are contacts organized?

Into topics. A contact can belong to many. Manage them in the UI, over the REST API, or by CSV import.

Can I personalize emails per contact?

Yes. Define custom fields and reference them as Handlebars {{tags}}, with campaign-level fallback values for contacts missing a field.

Does A/B testing pick a winner for me?

No. You split the audience between two templates by a ratio and compare opens and clicks side by side; you choose what to keep.

Can I schedule a campaign?

Yes. Pick a future date and time, and a scheduler launches it at that minute.

How does unsubscribe work?

The {{sovyUnsubscribeUrl}} tag places the link, and Sovy adds the List-Unsubscribe one-click headers. Unsubscribe globally or per topic; those contacts are then excluded from sends.

What can I export?

CSV lists of the contacts who opened, clicked, bounced, complained, or unsubscribed for a campaign.

Browse all guides on Sovy Learn

Send your first campaign from your own SES.

Connect an AWS account, import your contacts, and schedule a campaign.

Campaigns is an add-on available on the Growth and Scale plans.