Personalization has a credibility problem, and it is self-inflicted. A decade of "Hi {{first_name}}" taught shoppers that a personalized email is one that got their name right and nothing else.
The version that actually moves revenue is less glamorous and more mechanical: know which product someone was looking at, know whether they have bought before, and let those two facts change what the message says. This guide covers how to build that in layers — starting with things you can ship this week — and where AI is genuinely useful rather than decorative.
Personalization is a data problem before it is a content problem
Every personalization technique reduces to the same question: what do you know about this person that would change what you say to them?
Most stores have more than they use:
- Identity — name, location, language, how they signed up.
- Purchase history — what, when, how often, how much, which categories.
- Behaviour — products viewed, carts started and abandoned, checkouts begun.
- Engagement — which channels they respond to and which they ignore.
The constraint is rarely data volume. It is data quality — specifically duplicates. If the same person exists twice under two email addresses or two phone formats, personalization actively works against you: they get two different "personal" messages, each based on half a history. Deduplicate before you personalize, or the effort compounds into embarrassment.
The three levels, cheapest first
Level 1: merge variables done properly
Inserting known values into a template. Names, order numbers, coupon codes, the specific product left in a cart, the tracking link.
This is table stakes, but two details separate the ones that work from the ones that go wrong:
- Every variable needs a fallback. "Hi ," is the classic failure, and it lands specifically on the contacts you know least about. Decide what an empty field renders as — "Hi there" — before you send.
- Variables in links need extra care. A merge field in a URL that does not resolve produces a broken link, which is worse than an ugly greeting. Test with a contact who has gaps, not only with your own complete record.
Level 2: segment-level relevance
The most under-used level, and the one with the best effort-to-return ratio. Instead of one campaign with dynamic blocks, send two or three campaigns to different segments.
Concretely: your new-arrivals email goes to everyone. Split it. First-time buyers get a version that leads with your bestseller and mentions your returns policy. Repeat customers get a version that leads with what is new in the category they already buy from. Same effort as a moderately complex dynamic template, and far easier to debug when something looks wrong.
Start with three splits: never purchased, bought once, bought more than once. That single distinction changes the right message more than most demographic data ever will. Our segmentation guide covers building the audiences.
Level 3: catalog-driven content
Product blocks pulled from your live catalog rather than hand-built into the template. The specific benefit is accuracy: names, prices, images, and availability reflect the state of the catalog at send time, not whenever the template was written.
Anyone who has sent a campaign featuring a product that sold out the previous day understands why this matters.
Good uses of catalog-driven blocks:
- Cart contents in recovery messages — the single highest-value personalization in ecommerce.
- Recently viewed products in a browse follow-up.
- Category-matched new arrivals for repeat customers.
- Complementary items in post-purchase, based on what they actually bought.
Timing is personalization too
Everyone treats personalization as a content question. Half of it is a timing question, and timing is often easier to get right.
- Trigger-based timing — a message an hour after a cart is abandoned is personalized by definition. It arrives because of something that person did.
- Replenishment timing — for consumables, work out the median gap between repeat orders per category and send a few days before it. This routinely outperforms much more sophisticated content personalization.
- Lifecycle timing — a message on day 30 after a first order is a different message from day 30 after the fifth.
- Time zone — sending at the recipient's local time rather than yours. Necessary on SMS, where it is also a compliance requirement.
Where AI genuinely helps
Be specific about this, because the category is full of claims that do not survive contact with a real account.
It is good at production
The bottleneck in segment-level personalization is writing four versions of an email instead of one. That is exactly what AI drafting is good for: give it your brand voice, the offer, the audience, and the goal, and get a first draft per segment in minutes. You still edit — but editing four drafts is a different job from writing four emails.
It is similarly good at rewriting one section in a different tone, generating subject line variants to test, and producing the short-form versions a message needs for SMS or WhatsApp.
It is not good at deciding what to personalize
The judgement calls — which segments deserve their own message, what objection is blocking a purchase, whether this audience should get a discount — come from knowing your customers and reading your data. A model with no access to your margins and no memory of last quarter's campaign cannot make them.
Two rules for AI-written marketing
- Everything gets a human read before it sends. The failure mode is not gibberish; it is plausible copy that misstates your returns policy or promises a discount you did not authorise.
- Give it your brand context, not just a prompt. Tone, product vocabulary, what you never say. Generic input produces generic output, and generic output is exactly what personalization is meant to avoid.
Personalization that backfires
- Knowing too much, too visibly. "We noticed you looked at this three times" is accurate and unsettling. "Still thinking about this one?" says the same thing without the surveillance framing.
- Broken variables. A visible {{placeholder}} destroys more trust than personalization built.
- Personalizing on stale data. Recommending something they bought a month ago reads as not paying attention.
- Personalizing the wrapper, not the content. The name is right and the products are the same ones everyone got. Shoppers notice.
- Ignoring per-channel consent. A personalized WhatsApp message to someone who only ever agreed to email is a compliance problem regardless of how relevant it is.
Privacy-first is the only durable version
Third-party tracking has been steadily restricted, and the personalization that survives is built on data customers gave you directly — orders, on-site behaviour on your own store, and stated preferences.
That is a better foundation anyway. First-party data is more accurate, it does not disappear when a browser policy changes, and it is easier to explain to a customer who asks. Two practical habits: collect preferences explicitly where it helps (which categories, how often, which channel), and keep contact records clean and deduplicated so what you know about someone is in one place.
What CampGain provides
- Merge variables resolved per recipient across email, SMS, RCS, and WhatsApp — contact fields, campaign coupon values, and product details, substituted individually for every message rather than at the template level.
- A synced Shopify catalog. Products assigned to a campaign step resolve to current names, prices, and links at send time.
- Segments that combine sources — your own conditions plus Shopify data in one audience, with duplicate people collapsed on email or phone so personalization draws on one complete record.
- An AI email writer. Store your brand kit once, then generate a draft from the goal, tone, occasion, and length, review it section by section, rewrite individual sections, and save the approved result as a reusable template.
- Preset template libraries for email, WhatsApp, and SMS/RCS — the WhatsApp presets written against Meta's category rules, and the SMS presets kept to a single segment so a personalized message does not silently become three.
- Test sends to a handful of contacts, which is how you catch an unresolved variable before the whole segment does.
See how templates and campaigns work together.
Where to start
Pick your highest-volume campaign. Split it three ways — never purchased, bought once, bought more than once — and write a genuinely different opening paragraph and product selection for each. Add fallbacks to every merge variable. Send a test to a contact with an empty first name.
Compare revenue per recipient against the unsegmented version. That result, from your own list, is worth more than any benchmark — and it is the argument you will use for everything else in this guide.