Most abandoned cart emails say the same thing: "You left something behind!" in a font that looks like a ransom note. The model will write that one for you in two seconds, and so will every competitor's model. The useful work is giving it the facts that make a message specific (what was in the cart, what the shipping rule is, what the customer asked before) and the rules that stop it inventing offers.
Below are prompts for four ecommerce flows, each with variables you fill from your store. Then the consent and deliverability part, which I checked against primary sources where I could and marked where I couldn't. All prompts are untested templates; example outputs are illustrative. I have not measured any conversion lift, so I will not quote one.
What does an email or SMS prompt need?
The same five blocks as any production prompt, adapted for marketing:
- Brand voice in 2 sentences, plus one sample. One real email you like beats an adjective list. See how to prompt AI to sound human for why.
- The only offer that exists. Discount code, value, expiry, minimum order. If it's not in the variables, it isn't allowed.
- Customer facts. First name (optional), items, cart value, days since last order.
- Hard bans. Fake scarcity, claims you can't prove, "last chance" unless the expiry is real.
- Length and format. Subject under N characters, preview text, body under N words, one call to action.
Here's the shared header I paste at the top of every flow prompt:
You write marketing messages for [STORE NAME], which sells [PRODUCT TYPE]
to [AUDIENCE]. Voice: [two sentences]. Here is a sample of our voice:
"""[PASTE ONE REAL EMAIL]"""
RULES:
- The only offer you may mention is the one in OFFER below. If OFFER is
"none", do not mention any discount, free shipping or gift.
- Never invent stock levels, countdowns, reviews, or customer numbers.
- One call to action per message.
- No emoji in subject lines. At most one in the body.
- Include the placeholder [UNSUBSCRIBE_LINK] in every email footer and
"Reply STOP to opt out" only if SMS_OPTOUT_TEXT is provided.
- Do not claim anything about product performance that is not in PRODUCT_FACTS.
Welcome flow prompt
The welcome email's job is to say what the store is, set expectations for how often you'll write, and give one useful next step. The discount is optional, and I'd argue it should not be the whole message.
[HEADER ABOVE]
FLOW: Welcome (sent right after signup)
SIGNUP_SOURCE: [popup / checkout checkbox / footer form]
OFFER: [e.g. 10% off first order, code WELCOME10, expires in 7 days | none]
PRODUCT_FACTS: [3 bullets: what you make, shipping speed, return policy line]
BEST_SELLERS: [item 1 - one line], [item 2 - one line]
Write 3 variations of one email:
- Subject (max 45 characters) and preview text (max 70)
- Body under 120 words
- Say how often we'll email: [FREQUENCY]
- End with a single button label (max 3 words)
Variation A: story-led. B: product-led. C: plain and short.
Ask for three variations and pick one. Then change the signup source line to match reality. A welcome from a checkout checkbox should not say "thanks for joining our list from the popup."
Abandoned cart flow prompt
How Shopify defines it matters for what you can send. On Shopify's abandoned checkout page (checked 2026-10-09), a checkout counts as abandoned when it remains incomplete for more than ten minutes after the customer has provided their email. The built-in recovery emails are for the Online Store and Buy Button channels, and no email goes out if the customer entered a phone number instead of an email address or if a payment error occurred. You set it under Apps, Messaging, Automations, and the page says a newer abandoned checkout automation with more design control exists. The page does not list the delay options, so open your own admin to see what you can choose.
Whatever tool sends the messages, the prompt for a three-step sequence looks like this:
[HEADER ABOVE]
FLOW: Abandoned cart, 3 emails
CART_ITEMS: [item name x qty, price]
CART_VALUE: [amount]
SHIPPING_RULE: [e.g. free above 999, otherwise 70]
RETURN_RULE: [one line, exactly as on our policy page]
OFFER_FOR_EMAIL_3: [code, value, expiry | none]
KNOWN_OBJECTIONS: [sizing unsure / shipping cost / COD not available / etc.]
Email 1 (sent soon after abandonment): a plain reminder. Name the items.
No offer. Under 80 words.
Email 2 (next day): answer the most likely objection using ONLY
SHIPPING_RULE, RETURN_RULE and KNOWN_OBJECTIONS. Under 100 words.
Email 3: only if OFFER_FOR_EMAIL_3 is not "none". State the offer and its
real expiry. Under 80 words.
For each: subject (max 45 chars), preview text, body, button label.
Do not use phrases like "don't miss out" or "act now".
Notice that email 1 has no discount. If everyone who abandons gets a discount in the first message, you've trained customers to abandon. Whether that matters for your margins is something to test, not assume.
A SMS version, for a store that has proper consent and an approved template (more on that below):
Write one SMS reminder under 160 characters. Use this exact template
structure and only fill the variables; do not add or remove words outside
the variables:
"Hi [FIRST_NAME], you left [ITEM_NAME] in your cart at [STORE]. Complete your order: [SHORT_LINK] [OPTOUT_TEXT]"
The reason for the rigid structure is registered templates. TRAI's framework includes content template registration, and SMS vendors describe approved templates as a delivery requirement (a vendor claim I could not confirm on a TRAI page), so the model's job is to fill variables, not to be creative.
Post-purchase flow prompt
Post-purchase emails are the most underused flow, and the least about selling. Three messages cover most needs:
[HEADER ABOVE]
FLOW: Post-purchase, 3 messages
ORDER_ITEMS: [items]
DELIVERY_ESTIMATE_SOURCE: [carrier tracking link only; never state a date]
USAGE_TIP: [one real tip from our product notes]
REVIEW_LINK: [url]
SUPPORT_EMAIL: [address]
1. Order confirmation add-on: what happens next, how to track, who to
contact. Under 90 words. No upsell.
2. Delivered + how to use it: one usage tip from USAGE_TIP, and how to
reach support if something is wrong. Under 90 words.
3. Review request, sent [N] days after delivery: ask one specific
question about the product, link to REVIEW_LINK. Under 70 words.
Do not offer anything in exchange for a review.
The last line is deliberate. Incentivised reviews have rules on many platforms and in many jurisdictions, so check the review platform's terms and ask a professional before you attach a reward.
Win-back flow prompt
Win-back targets customers who bought before and haven't in a while. The honest question is what has changed since they left.
[HEADER ABOVE]
FLOW: Win-back, 2 emails
LAST_ORDER_ITEMS: [items]
DAYS_SINCE_LAST_ORDER: [number]
WHAT_IS_NEW: [2-3 real changes: new products, restocks, improved fit, new shipping option]
OFFER: [code, value, expiry | none]
Email 1: acknowledge it's been a while without guilt-tripping.
Mention WHAT_IS_NEW specifically. No offer. Under 100 words.
Email 2 (a week later): same tone, include OFFER if provided with its
real expiry. Under 80 words.
End with: "If you'd rather not hear from us, unsubscribe below, no hard feelings."
If WHAT_IS_NEW is empty, don't send the flow. A win-back with nothing new is just a nag.
Add a sunset rule outside the prompt: customers who don't open or click anything across the whole sequence should stop receiving marketing. Sending to people who've gone silent is how spam complaint rates climb.
Consent and deliverability: what I could verify
Short version: the model writes words, but whether you are allowed to send them is about consent, registration and sender reputation.
Email deliverability (verified). Google's sender guidelines (support.google.com/a/answer/81126, checked 2026-10-09) set requirements for senders of more than 5,000 messages a day to Gmail. They include SPF and DKIM authentication, DMARC for the sending domain (policy can be none), a DKIM key of at least 1024 bits (2048 recommended), and alignment between the From domain and the SPF or DKIM domain. Marketing messages must support one-click unsubscribe and include a visible unsubscribe link. Google says to keep the spam rate reported in Postmaster Tools below 0.30%, and advises staying below 0.10%. If you send fewer than 5,000 a day those thresholds may not formally apply, but the practices are sensible anyway. Most Shopify email tools handle the headers for you; the part you control is who you send to and how often.
SMS in India (partly verified). TRAI's own page on the Telecom Commercial Communications Customer Preference Regulations, 2018 (trai.gov.in/tcccpr, checked 2026-10-09) describes a framework for commercial communication that handles consumer preferences, and lists consent registration, header registration, content template registration and principal entity registration as its parts. The page I could fetch does not explain the rules themselves; they sit in the regulation PDF. So here is what I can responsibly say: commercial SMS in India runs through registration on the telecom DLT platform (your business as a principal entity, a sender header, and message templates), and your SMS provider will usually walk you through it. I could not verify, from a TRAI page, any specific rules on sending hours, character limits or template review timelines, so I'm leaving them out. Ask your SMS provider for their current requirements and check with a professional or the TRAI text before sending marketing SMS.
Other regions. I did not check CAN-SPAM, GDPR, CASL or any other law for this post. If you email outside India, check with a professional rather than relying on a blog post, including this one.
Consent habits that hold up anywhere:
- Collect marketing consent separately from the purchase, with a clear statement of what they're signing up for.
- Record when and how each person opted in.
- Honour unsubscribes immediately in your tool and remove them from every flow, including the one that was already queued.
- Don't import a purchased list. It damages sender reputation even if it's legal where you are.
A practical test before you turn a flow on
- Run the prompt three times with the same variables and compare. Large differences in claims mean the rules are too loose.
- Read every message for anything not in your variables: a discount, a deadline, a stat. Delete it and tighten the prompt.
- Send the sequence to yourself on Gmail and one other provider. Check the unsubscribe link works and the layout survives a phone.
- Launch to a small segment, watch unsubscribes and spam complaints for a week, then widen.
For more on the email side of AI workflows (inbox triage, replies, sequences), see AI email automation prompts, and for general store-owner prompts see AI prompts for small business owners. If you want order-aware messages triggered by store events, the e-commerce agents post shows the Shopify API side.
The abandoned checkout emails described above are a built-in Shopify feature, so you can start without a paid app. If you use Klaviyo, Mailchimp or another tool, the prompts above work unchanged.
What I'd cut or skip
Skip the third abandoned cart email until you've seen what the first two do. Skip SMS entirely until your registration and consent are in order; a missing template is a failed send, not a minor setback. And treat every example subject line the model gives you as a draft. The ones that sound most like marketing are the ones your customers have already learned to ignore.



