What copy has to do in any channel
The job is the same wherever the message lands: earn attention with an honest signal, carry one concrete fact the recipient can act on, and ask for one thing. What changes is the surface that signal has to fit. Email gives a sender name, a subject, and a snippet before the open; push gives a title and a short body on the lock screen; SMS gives a sender identity and the first line or two before the fold; in-app gives a headline inside a layout you control. Email’s surface is the most constrained and the best studied, but the discipline carries unchanged: front-load the fact, write for the machine that compresses you, keep one action.
Subject lines and the envelope
The recipient decides on your message from the envelope: sender name, subject line, and snippet, with no open required. Subject and sender do disproportionate work because they are the only signals available before the decision. A subject line that lifts opens through misdirection lifts delete without read at the same rate, which trains the provider against you. Optimise the envelope to set an honest expectation a real human would act on, not to win a click you immediately lose.
How to write one:
- Front-load the useful fact. Put the amount, the date, the name, or the action in the first few words, because the snippet and the summariser both read left to right and the right-hand side is often truncated. “20% off ends Sunday” before “Don’t miss our amazing limited-time event”.
- Keep it short by default. Aim for roughly 50 to 60 characters so it is not truncated on mobile. Longer is fine when the front-loaded fact survives the cut, since the truncation point is what matters, not the total length.
- Write the preheader as the second line, not a repeat of the subject. Preview text commonly runs roughly 40 to 100 characters depending on the client; use it to add the detail the subject left out, not to echo it.
- Apply the self-check as a rule: strip the subject to its first few words and read it aloud. If those words still tell the recipient something concrete and true, keep it. If they say nothing without the rest of the line, rewrite so the fact moves forward.
Test subject lines honestly. An A/B subject test on a single send is usually too small to call: opens are noisy and the difference between two lines is often within that noise. Before declaring a winner, check the test has the volume to detect a real difference, see sample size and power, and do not over-read a one-off result from a few thousand sends.
Email anatomy
A single-intent email has a predictable skeleton. Each block does one job, and the order keeps the most important message above the fold and machine-readable.
- Preheader / preview text. The first text the client surfaces after the subject. Carry one extra concrete fact here, not a repeat of the subject.
- Header. Logo and a thin nav at most. Recognisable sender, minimal links.
- Hero message. One headline carrying the single core message in real text. This is the line a scanner and a summariser will keep, so state the offer, change, or news plainly.
- Primary CTA. One button, placed near the hero, repeated lower down if the email is long. Same wording each time.
- Supporting content. Detail, proof, or secondary context below the primary action, never competing with it.
- Footer. Physical address, clear unsubscribe, sender identity. Required, and essential to deliverability.
- Plain-text part. A real plain-text alternative alongside the HTML. Some clients and summarisers read it, and it keeps the message legible when images are blocked.
CTAs
Keep one clear primary action per email; messages with a single call to action consistently out-click those that ask for several at once. Mixed intent campaigns, a service email with a CTA bolted on or a promo with disclaimers in the middle, risk being characterised by the dominant block rather than your intent. Single intent messages with explicit verbs in their key blocks survive both scanning and summarisation better. Use a monitored from address, never noreply@, because a reply is one of the strongest positive signals an inbox can read. For how the message then renders across clients, see message design and rendering.
How to write the button:
- Lead with a verb and name the outcome. “Get 20% off” beats “Click here”, “Track my order” beats “Submit”, because the copy tells the recipient what happens next.
- Keep one primary action. If a second action is unavoidable, make it visibly secondary, a text link rather than a competing button.
- Make it tappable. A real button block, not a bare inline link, sized so a thumb can hit it on a phone.
- Match the CTA to the subject’s promise. The button should deliver the fact the envelope front-loaded, or the open was a bait and switch.
Spam trigger avoidance
Authentication and engagement matter far more than word lists, but avoid the obvious: all caps subjects, excessive punctuation, heavy image to text ratios, and link shorteners. Image only emails lose the structure the classifier reads, so the model parses your headline, promo code, body, and footer as one flat block. Keep real text in the message.
Writing for the summariser
On-device and inbox summarisers compress a message to its gist, keeping what is machine readable and dropping brand voice. Lead with the concrete fact, the amount, the name, the time, the action, so a summary has something to keep. A useful self check: if the subject still tells the user something useful when stripped to its first few words, it carries a fact a summariser can keep. The platform research behind this is in email intelligence research.
Concrete rules, with phrasings:
- Quantify. “Save 20%” not “Save big”. A number survives compression; an adjective does not.
- Name the date or deadline. “Ends Sunday 22 June” not “Ending soon”. An explicit date is something a summary can carry verbatim.
- Name the amount or item. “Your £15 credit” not “a special reward”. The specific noun is what the recipient acts on.
- Use explicit verbs in key blocks. “Confirm your address by Friday” not “Action may be required”. The verb tells the summariser, and the reader, what to do.
- Put the fact before the framing. “Order shipped, arrives Tuesday” before any thank-you copy, so the gist holds even if everything after the first clause is dropped.
The same discipline in SMS, push, and in-app
The envelope and skeleton are email’s. The other channels compress the same job into less room, which makes the front-loaded fact more important, not less.
- SMS. No subject and no styling, so the opening words are the envelope, and an unrecognised number reads as spam unless the sender identity is clear early. Watch the segment boundary, 160 characters in
GSM-7, 70 once any character forcesUCS-2, keep to one link, and respect that the message arrives in a thread the recipient otherwise reserves for people they know. See SMS and RCS. - Push. A title and a short body, truncated hard on the lock screen and shown with no guarantee an image renders. Carry the fact in the title, treat the body as the single supporting line, and make the tap open the thing the copy promised. See push.
- In-app. Copy inside a surface you control and a recipient already in session, so none of the other channels’ format limits apply: no segment count, no lock-screen truncation, as much or as little room as the moment needs. The constraint is relevance, not length, the cost is interrupting a live session rather than deliverability. Say the one thing the moment is about and offer the single next action. See in-app.
Generating copy with AI
A language model is a competent first-drafter and a poor final author. It is genuinely useful for volume work, producing subject-line variants to test, adapting one message to several segments, getting past a blank page, and the discipline that makes it safe is to treat its output as a draft a human edits, not as copy that ships unread. The production pattern is already published: Kuaishou’s PushGen generates push copy under style controls and has a learned reward model rank the candidates, rather than shipping the raw generation, one of the systems catalogued in notification and decisioning research.
The risks specific to generated marketing copy:
- Hallucinated specifics. The model will happily invent a discount depth, a deadline, a product name, or a policy detail that reads fluently and is wrong. The front-loaded fact, the amount, the date, the item, is exactly the part a model is least reliable on and the part a wrong value does the most damage. Bind those values from your own data through personalisation mechanics rather than letting the model assert them, and verify every concrete claim against the actual offer before send.
- Regression to the generic. A model trained on everyone’s email writes like everyone’s email, drifting to the bland, on-trend phrasing that carries no brand voice and that a summariser flattens to nothing. Give it your voice and constraints explicitly, and hold its output to the same envelope and CTA discipline; generated copy that fails the strip-to-first-few-words check fails for the same reason human copy does.
This sits under start simple and the decision-support framing in decisioning and personalisation: the model accelerates a writer who knows what good looks like, and amplifies the mistakes of one who does not.
Metric to watch
Use click to open rate (CTOR), clicks divided by opens, as the content engagement measure independent of open noise. The same idea, action over the reach that could have acted, gives the cross-channel read: tap-through on a push, click on an SMS, interaction rate on an in-app message. See metrics are directional.
Pre-send copy checklist
- Subject front-loads a concrete fact and reads usefully when stripped to its first few words.
- Subject is short enough that the fact survives mobile truncation (roughly 50 to 60 characters as a default).
- Preheader adds a fact rather than repeating the subject.
- One primary CTA, verb plus outcome, tappable, consistent wording throughout.
- Hero message is real text, not baked into an image.
- From-address is monitored, not noreply@.
- Footer has a working unsubscribe, physical address, and clear sender identity.
- A plain-text alternative is present.
- Any A/B subject test has the volume to call a real difference before a winner is declared.
Related
- Message design and rendering
- Email intelligence research
- Notification and decisioning research
- Personalisation mechanics
- Sample size and power
- Metrics are directional
Citations
[1] Litmus, the email envelope is the from name, subject line, and preview text [2] Campaign Monitor, a single CTA receives far more clicks than competing CTAs [3] Campaign Monitor, click-to-open rate as a content-engagement measure