- Build your email campaign calendar off your campaign and flow exports, and pull a short list of winning patterns before you plan anything new.
- A standard cadence of every other day works for normal campaigns. Save consecutive sends for major promotions.
- Every campaign gets a brief before copy: date, type, products, offer, goal, angle, subject line options and one main CTA.
- Not every email should feel like a sale, even when a sale is live. The offer is a conversion layer, not always the main idea.
Why build an email campaign calendar from your data?
Most calendars I inherit start with holidays. National Coffee Day, a random Tuesday sale, a "we miss you" email in a month nobody bought anything. The trouble is that holidays don't know anything about your list.
Your data does. It tells you which emails people clicked, which segments buy, and which products they come back for. Here's my process, condensed. I've grouped the 14 steps so it's easier to follow.
Steps 1 to 3: collect the inputs and read your numbers
Collect the inputs. Three buckets:
- Brand: hero products, new products to test, add-ons, active offers, upcoming launches, tone.
- Calendar: the month, holidays, seasonal moments, promo dates, sale periods, shipping cutoffs and the cadence you want.
- Performance: your campaign and flow exports from Klaviyo.
Analyze past campaigns. For each one: revenue, open rate, click rate, revenue per click, campaign type and subject line. The output is a short list of winning patterns. Lean on clicks, not opens. Across 4 consumable brands I pooled data from, click rate tracked revenue at 0.65 and open rate at 0.32.
Analyze your flows. Which flows carry the revenue, and which earn the most per recipient. The calendar should support strong flows, not fight them. A subscription wellness brand's "your order is coming up" reminder made $47,321 in one month, 74% of all its flow revenue. You plan campaigns around a flow like that, not on top of it.
Steps 4 and 5: set the month's story and split it into phases
Define the monthly strategy. What's the main product story, and what's the secondary one? What's happening seasonally, are there gifting moments, and what's the offer? Then the question I like most: what should customers understand by the end of the month?
Break the month into 3 to 5 phases. A typical shape is educate, push the hero product, a holiday or promo cluster, lifestyle (how it fits into real life), and an end-of-month conversion push. Phases stop a calendar from being 15 unrelated emails.
For a consumable brand, product news often anchors a phase. When something sells out, the restock email is your biggest send of the month. A snack brand doing about $650K a month made $48,771 from one restock email to 30,498 people, its best campaign ever. A haircare brand's launch email made $31,059 from 395 orders. More on that in product launch emails.
Steps 6 and 7: mix campaign types and set the cadence
Choose a mix of campaign types. The menu I pick from: educational, product benefit, feature highlight, lifestyle, social proof and reviews, founder letter, FAQ, comparison, gift guide, promotion and final reminder. A month that's all one type, all promos or all education, is a month that leaves money on the table.
Map it to a cadence. My standard:
- Every other day for normal campaigns.
- Consecutive days for major promotions.
- 2 to 4 emails in a large promo window.
- 1 to 2 final reminders near the end of a promo.
Not every person gets every send. Your most engaged people get the most. I break that down in how often ecommerce brands should send emails.
Steps 8 and 9: brief every email, and write subject lines from winners
Write a brief before any copy. Every campaign gets one: date, campaign type, name, primary and secondary product, offer, goal, core angle, key points, subject line options, preview text options, the main CTA and the email direction. If you can't fill in the goal and the angle, the email isn't ready.
Write subject lines from your past winners, not from scratch. I keep a pattern bank: short curiosity, seasonal relevance, proof or testimonial, objection or question, practical utility, final urgency, comparison and product origin. Lines like "Before you make a decision:" or "2 weeks later, she said this:" are the kind of shape I mean. The rules: short, specific, lightly curious, not overly polished, tied to the angle, easy to read on a phone, and not too promotional unless it's a promo email. I go deeper on the copy side in ecommerce email copywriting.
Steps 10 and 11: give products roles and decide how loud the offer is
Give every product a role. Five of them:
- Hero: the product the month is built around.
- Support: products that back up the hero story.
- Add-on: the easy extra that lifts order value.
- Promo: what you push for holidays and gifting.
- Trust: a proven product that lends credibility to newer ones.
Set the promo level for each email. Educational and product benefit emails get a soft mention of the offer near the CTA. Lifestyle emails get soft to medium. A gift guide gets a medium mention. In a promo email the offer is the primary message, and in a final reminder it's the main message.
The rule behind it: not every email should feel like a sale, even when a sale is live. That's how you run a promotion without training your list to ignore you.
Steps 12 to 14: build the table, check it, present it
Finalize the calendar table. Date, send type, campaign type, name, primary and secondary products, main angle, subject line direction, preview text and promo notes. Here's a slimmed-down, made-up example for a made-up snack brand, just to show the format:
| Date | Phase | Campaign type | Product role | Offer mention |
|---|---|---|---|---|
| Day 1 | Educate | Educational | Hero | Soft, near the CTA |
| Day 3 | Educate | FAQ | Hero plus trust | Soft |
| Day 5 | Push the hero | Social proof | Hero | Soft to medium |
| Day 7 | Push the hero | Founder letter | Hero plus support | Soft |
| Day 9 | Promo cluster | Promotion | Promo plus add-on | Primary |
| Day 10 | Promo cluster | Promotion | Promo | Primary |
| Day 11 | Promo cluster | Final reminder | Promo | Main message |
Notice the cadence: every other day, then consecutive days when the promo starts.
Run the quality check. Before anything gets built, I ask: Is there a clear monthly story? Are we over-promoting? Is the hero product underused? Are the campaign types varied? Do the subject lines line up with proven winners? Are holiday campaigns timely? Are promo clusters consecutive where they need to be? Is there enough education before the ask? Do the secondary products support the hero? Is the cadence sustainable?
Present it in order. Monthly strategy summary, product focus, phase breakdown, the calendar table, the subject line table, then the briefs. Anyone on the team can pick it up and build from it.
Flows first, then the calendar
I work in 90-day blocks. My 8 core flows go live in the first 7 days, each with separate paths for customers and for people who haven't bought yet. The campaign calendar comes after, built off the brand's list. A skincare brand rebuilt its flows and they went from 60% to 83% of its email revenue. If your flows are broken, a better calendar is a patch. Start with the Klaviyo flows every CPG brand needs.
Where these numbers come from
The click rate and open rate figures come from 4 consumable brands, 2,897 campaigns and $17.7M in email revenue. It's a small sample, so treat it as directional. The single-brand numbers each come from one brand I've worked with, described by category instead of name.
FAQ
How far ahead should I plan my email campaign calendar?
I plan a month at a time and keep a rough view of the next 90 days for big moments like BFCM or a launch. Planning further out in detail usually means rewriting it, because restocks and inventory move.
How many campaigns should be on the calendar each month?
My standard cadence is a campaign every other day, so roughly 15 in a month, with consecutive sends during a major promotion. Not every segment gets every send.
Should holidays go on my calendar?
Only the ones that give your customer a real reason to buy. Holidays, seasonal moments and shipping cutoffs are inputs in step 1, but a random food holiday that has nothing to do with your product usually loses to a restock or a launch.
What if I have no launch or restock this month?
Then the hero product and the campaign-type mix carry the month. Education, social proof, a founder letter and an FAQ email can all push the hero without a discount.