Plan a Holiday Sale Campaign With AI (BFCM, Christmas, 11.11)

Use AI to plan a 2-week BFCM / Christmas / 11.11 campaign — 4 emails, 1 landing page, 6 social posts — that lifts revenue without burning your list or training subscribers to wait for the next discount.

TL;DR

  • Use AI to build the structure — a 14-day calendar of 4 emails, 6 social posts, and a landing-page update, sequenced so they reinforce each other. Do NOT let AI pick the discount level; that is a margin decision.
  • The 2025 data says smaller discounts won: average BFCM discount depth fell from 29.1% to 26.2% year over year, yet spending rose ~11%, and brands with the smallest discounts saw the strongest growth (+14% YoY, per Klaviyo). Plan around loyalty levers, not deeper cuts.
  • Segment hard. About 75% of subscribers who unsubscribe during BFCM never bought anything; the fastest way to push a buyer to opt out is sending them a “last chance” email after they already purchased.
  • The cheap, durable win most teams skip: a pre-written “if Day 3 underperforms” contingency and a Day +7 trust-recovery email to non-buyers.
  • Best models for this work as of June 2026: Claude Sonnet 4.6 or GPT-5.5 for the calendar and copy variants; Gemini 3.1 Pro if you want to paste last year’s metrics CSV into a 1M-token context window.

The task

Black Friday is in 14 days. Last year you ran a hastily-planned “25% off everything” campaign that drove a revenue bump and a four-week hangover: unsubscribes up 3x, open rates depressed for two months. This year your CMO wants the bump without the hangover. You want a coordinated 2-week campaign — 4 emails, 1 landing page update, 6 social posts — sequenced so it captures orders from buyers who would have bought anyway plus a real lift from new and lapsed customers, without training your engaged subscribers to expect a deeper discount every quarter.

That second goal is the hard one, and the 2025 numbers back it up. Adobe’s holiday data showed average discount depth dropping from 29.1% to 26.2% year over year while online sales still grew, and Klaviyo reported that brands with the smallest discounts posted the strongest BFCM growth, up 14% YoY. The winning move in 2025 was not a steeper price — it was a tighter, better-sequenced campaign aimed at the right segments.

Where AI helps, and where it does not

AI is genuinely good at the structure: sequencing 4 emails across 14 days, matching social posts to email send dates, and writing copy variants so the campaign does not read like the same message four times. It is also good at producing the “if it underperforms by Day 3” contingency plan that most teams skip and then panic-write at 11 p.m.

Where AI fails is the discount level. That is a margin question that depends on your gross margin, competitor positioning, and year-end goals — none of which the model knows. As a starting reference, 2025 open-rate data clustered by basket size: low-AOV brands performed best discounting in the 20-29% band, mid- and high-AOV brands in the 30-39% band. Treat that as a sanity check on your own margin math, not a recommendation.

AI also cannot tell you what your specific list will tolerate. Pull last year’s campaign metrics — unsubscribe rate, open-rate decay over the following six weeks — and feed them in.

One failure mode to pre-empt: AI defaults to “every email more urgent than the last.” Day 1 says “early access,” Day 5 says “the sale is on,” Day 12 says “FINAL HOURS.” That cadence trains your list to wait for Day 12 next year. Tell the model to break the urgency arc — one email should pull a non-urgency lever (curation, a story, the exclusion of a popular product) so the campaign reads as a brand action, not a panic sale.

Benchmark numbers to plan against (BFCM 2025)

Use these as planning anchors, not promises. Your list will differ.

MetricBFCM 2025 referenceSource
Avg. discount depth (online retail)26.2% (down from 29.1% YoY)Adobe / Klaviyo
Email open rate (campaigns)~18.3%Mailjet BFCM 2025
Email click-through rate~3.8%Mailjet BFCM 2025
Email-driven conversion rate~6.4% (highest of any source)Mailjet BFCM 2025
Share of revenue from email + SMS42-43% on peak daysKlaviyo BFCM 2025
Opt-outs who never purchased~75% of all BFCM unsubscribesAttentive / Klaviyo
Best discount band, low-AOV brands20-29%Klaviyo
Best discount band, mid/high-AOV brands30-39%Klaviyo

The opt-out stat is the one to internalize: most of the people who leave during a sale were never going to buy, so frequency is less dangerous than it feels — as long as you suppress buyers. The unsubscribe risk comes overwhelmingly from sending sale emails to people who already converted.

What to feed the AI

  • The discount and exact dates (e.g., 25% off, Nov 24-Dec 1, midnight in which timezone)
  • Your audience type — warm (engaged, opens >25%), cold (large dormant list), or mixed; the cadence differs for each
  • The 2-3 reasons to buy from you that are NOT price (story, quality, availability, return policy, ethics)
  • Last year’s campaign metrics if available — opens, unsubscribes, revenue, and the email that broke the camel’s back
  • Your exclusions — what is NOT in the sale (bestsellers? new arrivals? subscriptions?); exclusions create curated trust
  • Customer segments you have — first-time, repeat, lapsed, VIP; the email to each should differ
  • Your “what we will never do” list — fake urgency, fake stock countdowns, fake “your code is about to expire”
  • Channel mix — email, SMS, paid social, organic; the calendar coordinates across all

Copy-ready prompt

Paste this into Claude Sonnet 4.6, GPT-5.5, or Gemini 3.1 Pro. Replace each [bracketed placeholder] with your real values.

Plan a 2-week holiday sale campaign.

Discount: [amount + dates + timezone]
Audience: [warm / cold / mixed, with size and last-year open rates]
Non-price buy reasons: [2-3 specific ones]
Last year's data: [open rates, unsubscribe spike, revenue lift, lessons]
Exclusions: [what is NOT in the sale]
Customer segments to address: [first-time / repeat / lapsed / VIP]
Banned tactics: [fake urgency, fake stock counters, expiring-code lies, etc.]
Channel mix: [email + SMS + paid social + organic]

Return:
1) Email cadence (4 emails). For each: send date + time, segment filter
   (who gets it, who is excluded), subject line + 2 alternates, one-line
   goal, 80-word body. The calendar must keep a 36-hour minimum gap
   between emails.
2) Break the urgency arc: at least one email should pull a NON-urgency
   lever (curation, story, exclusion of a popular item, a "what we will
   not discount" note). Mark which email this is and explain why.
3) Landing page update: header + sub-header for the duration, the 3-line
   "what is in the sale" block, the exclusions block (visible, not hidden).
4) 6 social posts across [channels]. Vary format (carousel / Reel /
   story / static). Match send dates to the email cadence.
5) "If Day 3 underperforms by 30%+" contingency: what to do (re-send to
   non-openers? add a bundle? extend dates?) and what NOT to do (the
   panic discount-deepening that trains the list for next year).
6) Post-campaign nurture: the 1 follow-up email that recovers trust with
   subscribers who did NOT buy, sent 5-7 days after the campaign ends.

Tone constraint: confident, useful, not desperate. Discounts are the
offer, not the personality.

Shorter variant: rewrite one underperforming email

This email underperformed last cycle (pasted below): [original].
Open rate: [N%]. Click rate: [N%]. Position in the campaign:
[email 1 of 4 / final / etc.].
The next sale starts in [N days]. Rewrite to fix the specific weakness
while keeping the calendar position.
Return 3 alternates: one playful, one curated, one direct.

Sample output

A strong Email-2 subject line that breaks the urgency arc: “What we are NOT discounting (and why).” Counter-intuitive, builds trust, and gets opened by exactly the engaged buyers you want.

A useful Day-3 contingency: “If Day 3 underperforms by 30%+, do NOT add a deeper discount. Instead: (1) re-send Email 1 to non-openers only with a new subject line, (2) post one Story or Reel showing the bestseller in use (not the discount), (3) text VIP customers a personal note from the founder (no discount mention, just ‘thought of you for this one’). The pull-through fix is engagement, not a steeper price. Use a deeper discount only as a Day-6 lever, and only if revenue is below 50% of last year’s pace.”

An Email-4 send rule: “Email 4 goes ONLY to subscribers who did not open emails 1, 2, or 3. Exclude everyone who already bought. Sending Email 4 to a buyer is the single biggest unsubscribe trigger in BFCM campaigns. Use your platform’s ‘placed order’ suppression at the flow level, not per-email.”

A post-campaign nurture line: “Sent 7 days after the campaign closes, to subscribers who did NOT buy: ‘You didn’t pick anything up during the sale, and that’s fine. Here are 2 things we’d actually recommend at full price, with one reason each.’ Acknowledging the non-purchase recovers a meaningful slice of missed revenue over the following 30 days and protects list health.”

How to refine the AI output

  • If the cadence feels spammy: “Add a 36-hour minimum gap between emails. Re-segment Email 4 to non-openers only. If the list was hit hard in the prior month, suppress recipients who received 3+ sends in the last 14 days.”
  • If subjects feel generic: “Each email needs a different subject angle: one number, one question, one curation, one specific exclusion. The same pattern across all four collapses open rates by Day 7.”
  • If the contingency plan is panic-discounting: “Replace the deeper-discount lever with the engagement lever. A deeper discount as a Day-3 reaction trains the list to wait for Day 3 next year.”
  • If exclusions are hidden: “Move the exclusions block above the fold on the landing page, and into the subject line of Email 2. Hidden exclusions create trust damage that exceeds the short-term lift from people who would have bought anyway.”
  • If the post-campaign nurture is missing: “Add the Day +7 email. A campaign without a trust-recovery email leaves revenue on the table over the next 30 days.”

Common mistakes

  • Same subject pattern across all 4 emails: opens collapse by Day 7; variety in framing keeps engaged subscribers engaged.
  • No segmentation: sending “last chance” to people who already bought is the single biggest unsubscribe driver in any sale. Remember that ~75% of sale opt-outs never bought — the 25% who did are the ones you can save with suppression.
  • Discount everywhere, no visible exclusions: buyers feel tricked when they find the bestseller is not on sale; hidden exclusions are a trust tax.
  • Fake urgency or fake stock counters: short-term lift, long-term damage. Once subscribers learn that “only 2 left!” was wrong, the next real “only 2 left” is ignored.
  • Same campaign for warm and cold lists: warm wants curation and story; cold wants the discount on the first send. Mixing them under-serves both.
  • No “if Day 3 underperforms” plan: teams panic-write the response at 11 p.m. and usually reach for a deeper discount, the worst lever. The contingency belongs in the original plan.
  • Forgetting the post-campaign nurture email: the note to non-buyers a week after the sale recovers missed revenue and protects list health.
  • Channel-calendar drift: when email and social are not coordinated, the social posts feel disconnected. One calendar document keeps both honest.

Compliance: do not skip the boring part

Higher send frequency is allowed during BFCM, but the CAN-SPAM Act still applies to every email. Two hard rules worth wiring into your checklist: an unsubscribe link in every message that stays functional for at least 30 days, and opt-outs honored within 10 business days (real-time in practice — every major ESP processes them instantly). Each non-compliant email can carry a penalty of up to $53,088, so let AI draft copy but never let it skip the unsubscribe footer.

  • Claude Sonnet 4.6 ($20/mo Pro plan, as of June 2026) — strong at structured calendars and copy variants that keep a consistent brand voice. New to it? See the Claude beginner guide.
  • GPT-5.5 (ChatGPT Plus, $20/mo) — fast for subject-line ideation and the “rewrite one email” loop. Walkthrough: AI Email Marketing Copy.
  • Gemini 3.1 Pro (Google AI Pro, $19.99/mo) — its 1M-token context lets you paste a full year of campaign metrics CSV and ask it to plan against your real numbers.

For the copy pieces of the campaign, our deeper guides cover the exact prompts: AI Email Marketing Copy, AI Product Launch Copy, and the seasonal prompt pack in Holiday Sale Copy Prompts.

FAQ

  • How early should I tease the sale? Warm list: 5-7 days. Cold list: 24 hours. Teasing too early on a cold list trains it to wait — those subscribers did not engage at Email 1, and Email 2 lands in a colder inbox. Warm lists absorb a tease without fatigue if it is framed as curation, not a countdown.
  • What if margins do not allow a discount? Use a bundle, a bonus item, extended access, free shipping at your existing AOV threshold, or a “buy now, ship in January” preorder. These convert similarly to a direct discount without margin damage, and some convert better because they read more premium. The 2025 data agrees: brands with the smallest discounts grew fastest.
  • Should I run paid ads during the campaign? Yes, but apply the same exclusions as email. Excluding existing-buyer audiences from paid acquisition during a sale is the highest-ROI hygiene move; otherwise you pay to remind people who already bought.
  • What about SMS during the campaign? Two SMS sends max — one on Day 1 (“the sale is live”) and one on the morning of Day 14 (“last 12 hours”). Three or more SMS sends in two weeks burns the channel.
  • How do I know if the campaign hurt my list long-term? Watch open rates in the six weeks after the campaign. If the post-campaign open rate is more than 20% below the pre-campaign baseline, the campaign damaged the list, usually through over-frequency or fake urgency. Adjust the next one accordingly.
  • Which AI model should I use to plan it? As of June 2026, Claude Sonnet 4.6 and GPT-5.5 both handle the calendar and copy variants well. Reach for Gemini 3.1 Pro when you want to paste a large metrics file into its 1M-token context and have it plan against your actual numbers.

Tags: #AI writing #E-commerce #Workflow #Campaign #Seasonal