← All posts

Guides

AI email campaigns without the spam

A generator that can send is a generator that can send the wrong thing. Aglyn AI writes the email and the campaign as drafts, aimed at nobody, and leaves the audience, the consent check and the send to you.

Zach Gover · Sep 2026
AI email campaigns without the spam

Every complaint about AI email is really a complaint about one thing: a machine that can press send. Write the copy badly and you have a bad draft. Write it badly and mail it to four thousand people who never asked, and you have a deliverability problem that outlives the campaign.

So the generator in Aglyn does not send. Describe the email and it writes a draft design; ask for a campaign and it writes that design plus the draft campaign that would send it. Nothing is sent, scheduled or queued, and the campaign is aimed at nobody until you pick an audience yourself. Choosing who receives it is not a step the product automates — it is the step it refuses to.

Rolling out — Aglyn AI is a release-flagged feature, currently being rolled out — generative building does not appear in every workspace yet. Aglyn Assist, the assistant that answers questions about the product, is available today.

What a generator can and cannot do here

It writes. One email built from the email blocks — sections, text, buttons, images, dividers, spacers and product cards — so it renders the same way in every mail client. It appears under Marketing → Email beside the templates you made by hand and opens in the Besigner exactly as those do. It comes with three subject lines and three preheaders: the strongest lead, the rest are stored as alternatives, and you can change which one leads at any time or write your own.

It binds rather than types. An email can carry product cards that fill in each product's current name, price and picture at the moment the email is sent, bound by id — so a rename or a price change never leaves a stale email behind. No product's details are sent for the email to be written; only how many cards to place.

It leaves gaps rather than inventing. A fact the brief does not give — a date, a price, a place — arrives in square brackets for you to fill.

It will not send, schedule or queue anything. It will not publish a design or mark a template live. It will not pick who receives a campaign. It will not write raw HTML into an email; add the Email custom HTML block yourself if you need it.

It does not write the unsubscribe link, because it does not have to. Every campaign email gets one when it is sent.

This is the part to do before you write anything, and it is the part that makes the difference between marketing and spam.

A marketing campaign goes only to people whose consent you have a record of, or who were already in your audience before consent was required. That is enforced at send, not trusted to the person composing. People with no marketing consent on record are removed before anything else happens, along with anyone who has unsubscribed or is suppressed.

The composer shows you the arithmetic rather than a single confident number:

Recipients 1,240 · 12 unsubscribed or suppressed
1,240 with a recorded consent basis · 310 grandfathered (captured before consent was
required) · 44 withheld — no consent on record

Read the second line before the first. A recorded consent basis means this person ticked an opt-in box on a form, a sign-up or an import that carried one. Grandfathered means they were in your audience before consent was required and no opt-in was recorded since. Withheld means no consent on record, so they are not mailed.

Two things follow, and both catch people out:

  • Buying something or creating an account is not an opt-in. A person counts as consenting when they ticked a box that says so. To grow the consented number, add a marketing opt-in field to your forms.
  • Matching a rule is not consent. A dynamic list decides who is in the audience; the consent rules still decide who is mailed. A list of 4,000 that mails 900 is not broken — it is the check working.

A smaller-than-expected recipient count is therefore information, not a bug. Who a campaign is allowed to reach is the full rule.

Describe the campaign in one sentence

Say what the email is for, who it speaks to, and what you want the reader to do. The more the brief gives, the less the email guesses.

Announce the autumn menu to the regulars. Mention that the Tuesday bread class is running again, and point people at the class page to book.

Two things are worth adding. Name the kind of email — a welcome, a newsletter, a launch, a cart reminder, an event reminder — and it is written in that shape. Name a page of your site and the button is written as that page's address, completed with your domain when the email is sent.

If your brief names one of your lists, the draft campaign's note says which one, and — where that list has enough history on this site — the day and hour its past campaigns were opened most, with how many sends that reading is taken from. Your lists, contacts and past send figures are read on the server to work that out; none of them is sent for the email to be written.

Edit the subject, the body and the send plan

The draft opens in the Besigner. Change the copy, swap which subject line leads, reorder the blocks, drop a product card in.

Generated copy greets the reader with the merge tokens every campaign fills — `{{contact.firstName}}`, `{{contact.name}}` and `{{contact.email}}` — and only in text. Never in a link, a subject line or a preheader, where they are not filled. That restriction is the reason you have never had one of our emails open with Hi {{contact.firstName}}.

The send plan is yours from an empty start: pick the list on the campaign, check the send time against the reading the note gave you, and schedule it when you are ready. Send a test to yourself first — the composer has one.

Three checks before you send

1. Where did this list come from? Not "the CRM" — the actual origin. An import you did yourself, a form with an opt-in field, a conference badge scan. If you cannot name it, do not mail it, whatever the consent column says.

2. Is there one clear ask? A generated email will happily carry three buttons if the brief asked for three things. One reader, one decision.

3. Is anything in square brackets still in there? The gaps are deliberate and they are visible. Publishing one is the single most common way a generated email goes out wrong.

The unsubscribe link is not on this list because it is not yours to forget: every marketing send carries one, the mail client's own one-click header unsubscribe stops everything, and the suppression list is checked before anything leaves. Transactional mail — order confirmations, booking reminders, password resets — is separate and does not carry one.

Read the results, per site

Opens and clicks are reported for the campaign, on the site that sent it. Read them there. Aglyn does not offer one number spanning every site you run, deliberately: a blended open rate across a restaurant, a law firm and a SaaS product is a number with no decision attached to it. If you run sites for several clients, the comparison that matters is this client's campaign against this client's last one.

Where you do want a like-for-like comparison, use an experiment instead of an impression. An email A/B test overrides the campaign's subject or body per variant, each recipient deterministically receives one, and sends count as exposures. Aglyn AI can write two to four variants for a test you set up and put a finished one into plain language — and it will not name a winner your counts do not support. That one needs A/B testing on your plan, which is its own entitlement from Business up, as well as the AI add-on.

Where this lives

Email, campaigns, lists and overlays are Marketing; contacts, consent records and the audiences you build from them are the CRM. Generating any of it is the Aglyn AI add-on, on any paid plan, metered in credits — see pricing. Drafting a campaign also needs the Marketing plugin on and a plan that sends campaign email; without that you can still generate email designs. The reference pages are Generate an email campaign with AI and Email campaigns.

Tagged

aglyn ai
email campaigns
consent
deliverability

Share this article

Zach Gover

Zach Gover is the founder and CEO of Aglyn. He spent eighteen years on both sides of the marketing–engineering handoff — building sites as a contractor, then running technical marketing at Caringo through its acquisition by DataCore and at DuploCloud from seed through Series B. The pattern never changed: the marketing site is a company’s most-visited product surface and the one the team can least afford to touch. Aglyn is his answer to that. He writes from Austin, and this site is built in the product it describes.

Start building on Aglyn.

Free to start — design your first page and publish in minutes.