Wraps Logo
wraps · for email operations

Your name is on the send. So is the paper trail.

Somebody has to answer for the complaint rate, prove that the person who unsubscribed stopped getting mail, and say what happened to one specific message. Wraps keeps that record — and the sending domain it describes stays in your AWS account.

message trace0102f9a1c4e7b3d0
  1. 14:02:11.204Sendvia ses:us-east-1 · your account
  2. 14:02:12.867Deliverysmtp 250 · 1.66s
  3. 14:19:48.010Openbot-filtered · not counted
  4. 16:41:02.559Opencounted
  5. 16:41:35.118Click/pricing
  6. 16:44:09.732Complaintfeedback loop · suppressed

The complaint suppressed the contact automatically. The next broadcast cannot select them, whoever builds it.

Before the send

The expensive mistakes all happen in the last thirty seconds.

Wrong list, unrendered variable, dead unsubscribe link. Every one of them is catchable before the first message goes out, and the composer makes you walk past the catch.

01

See the count before you commit

Pick all contacts, a topic, or a segment, and the audience resolves to a number you can look at. The confirmation dialog repeats it before anything leaves.

02

Preview against real contacts

The preview carousel renders the template with actual sample recipients, so a broken variable shows up as a blank greeting here instead of in someone's inbox.

03

Test send with live links

A test send carries the real unsubscribe and preference-center URLs, not placeholders. You can click the footer and confirm it resolves before the broadcast does.

04

Watch it drain

Progress refreshes every five seconds while the broadcast processes. You are not reading a spinner and hoping.

05

Cancel mid-flight

Queued, scheduled, and in-progress broadcasts can be cancelled. The send you caught at 20% is 80% of a problem you no longer have.

Consent

Consent is a record you can produce, not a checkbox you remember.

The four questions that arrive together, usually from legal, usually about one specific person, usually on a Friday.

Did they say yes?
Topics carry double opt-in. The confirmation email goes out from a sender you verify, and the contact is not subscribed until they click the token link.
When, and to what exactly?
Subscriptions are per topic, with a confirmation timestamp. Product news and billing alerts are separate consents, not one blanket list.
Can they change it without emailing you?
Every send footer points at a hosted preference center, reachable by signed link only. They pick topics themselves; you never process the request by hand.
Did the unsubscribe actually take?
Status changes at the contact, not at the campaign. Broadcast recipient selection only ever resolves to contacts still marked active.
Targeting

Marketing uses segments to include. You use them to exclude.

The same builder, pointed the other way. Conditions nest in AND/OR groups, so “engaged in the last 90 days, minus anyone we already mailed this week, minus the ones who never confirmed” is one saved definition instead of a tribal rule nobody wrote down.

Every segment previews to a count and a sample of matching addresses before you save it. Definitions resolve at send time rather than freezing a list that quietly rots, and a partition filter splits a large audience into even cohorts when you want to ramp a domain instead of hitting it all at once.

And when a segment is deleted or its filters no longer compile, recipient selection fails closed — the send resolves to nobody, not to everybody. The worst outcome is a broadcast that didn’t go out.

filters available
  • Email statusactive · unsubscribed · bounced · complained
  • Last activitywithin · before · after · exists
  • Last email sent / opened / clickeddate comparisons
  • Emails sent / opened / clickednumeric thresholds
  • Topic subscriptionis subscribed to · is not
  • Confirmed dateexists · within
  • Custom propertyequals · contains · exists
  • Partitiondeterministic cohort split

Behavioral filters — has or has not triggered a given event, and within what window — are on the Scale plan.

After the send

Four questions, four artifacts.

Every incident review asks the same things. None of them should require a support ticket to answer.

Where the send went

A Sankey diagram traces sent → delivered → opened → clicked for a broadcast, broken out per destination URL, next to a funnel with the conversion rate at each hop.

Why it didn't land

Bounces separate hard from soft and complaints are counted on their own, each with its own breakdown. The two numbers AWS judges your sending on don't have to be reverse-engineered from a total.

What happened to one message

Search down to a single send and read its event timeline in order. Bot-generated opens are filtered out of engagement metrics so your open rate isn't quietly inflated by a scanner.

Who changed what

Audit logs capture the mutations behind the send — who edited the template, who cancelled the broadcast, who unsubscribed a contact by hand. Viewable and filterable from the dashboard.

How far back the dashboard reads

Free7 daysStarter30 daysGrowth90 daysScale365 days

That window is what the dashboard renders. The same events are also delivered by EventBridge into a DynamoDB table in your own AWS account, where the rule and the table are yours — so keeping a longer history than your plan displays is something you can wire up without asking us.

Ownership

The reputation you build belongs to you.

Wraps sends through your Amazon SES, in your AWS account, on your verified domain. You are not one tenant on a shared pool whose reputation moves when a stranger sends something careless.

That cuts the other way too, honestly: the complaint rate is yours to manage, and nobody else’s good behavior will carry you. That is the trade an operator usually wants to make, because it is the only version where the work you do on your list actually compounds.

If you stop paying us, sending keeps working

The SES configuration, the domain identity, and the event pipeline live in your account. Cancelling Wraps costs you the dashboard, not the ability to send.

Audit the sending setup from your terminal

wraps email check reads DKIM, SPF, and DMARC on a domain and checks it against public blocklists — no signup, no dashboard, before or after you're a customer.

Know which SES pricing plan you're on

New AWS accounts are defaulted onto the Essentials plan at $0.16 per 1,000 rather than à la carte at $0.10. wraps email plan reads the plan per region and can move you back.

Your SES. Your list. Your record of both.

Topics, segments, and scheduled campaigns are on Starter, $19 a month, with unlimited contacts.