Retail Email Marketing Campaign Checklist
Campaign Strategy and Planning
Spell out the mechanic concretely: 20% off sitewide, BOGO on a category, GWP at $75 threshold, or tiered discount. Note exclusions (clearance, third-party brands, gift cards) the same way they will appear in the email footnote and at the register.
Anchor the campaign against historical comps for the same slot last year and the trailing 90-day baseline: open rate, click rate, conversion rate, attributed revenue, ATV, and UPT. A promo without a comp benchmark cannot be evaluated after the fact.
Check the master promo calendar for conflicts with adjacent sends, loyalty drops, and competitor blackout dates (Black Friday, Memorial Day). Avoid stacking three sends in 48 hours — fatigue spikes unsubscribes faster than it lifts revenue.
Cross-check available-to-sell against forecasted demand from the segment size. A hero SKU with 40 units of on-hand and a 250k-recipient send is a guaranteed oversell and angry-customer-service week. Coordinate with allocation if depth is thin.
Work with the buyer to identify substitutes at similar price points with deeper on-hand. Update the brief, the creative shot list, and the product feed used by dynamic blocks. Re-confirm the swap with merchandising before creative goes into production.
Audience and Segmentation
Define the segment by behavior, not just demographics: engaged in last 90 days, prior purchase in the featured category, or VIP tier. Pure demographic blasts to the full list train the inbox providers to deprioritize your domain.
Layer suppressions: global unsubscribes, hard bounces, profiles flagged as spam complainers, and anyone who bought a featured SKU in the past 14 days. Mailing a customer the discount they could have used yesterday is the fastest path to a refund request.
Confirm the segment only includes profiles with documented opt-in consent (express consent for CASL recipients in Canada). The send must carry a physical postal address, a working unsubscribe link, and a truthful sender name and subject line.
Large sends to dormant addresses tank sender reputation. If the segment exceeds 500k or includes profiles not emailed in 90+ days, warm the IP gradually or split the send across two days.
Creative and Content
Write three subject line variants for A/B/C testing: one benefit-led, one curiosity-led, one urgency-led. Keep under 50 characters so mobile clients don't truncate. Avoid spam triggers (ALL CAPS, $$$, 'free' in the leading position).
One email, one primary CTA. Secondary CTAs (find a store, view loyalty balance) belong below the fold. Lead with the offer, name the exclusions in plain language, and end with the urgency mechanic (expiration date, limited quantity).
Build mobile-first — 70%+ of opens are on phones. Single-column layout, 14px+ body copy, tappable buttons (44px minimum). Test dark-mode rendering; logos with transparent PNG often invert poorly.
Pull product blocks from the live catalog feed so price, image, and availability reflect what's live at send time. Hard-coded products that sold out by send time generate angry replies and refund requests.
Apply the team UTM convention: source=klaviyo, medium=email, campaign={campaign-name-date}, content={cta-position}. Missing UTMs mean revenue attribution defaults to Direct in GA4 and the campaign looks like it underperformed.
Pre-Send QA
Use Litmus or Email on Acid for screenshots across the top inbox clients. Outlook on Windows is the consistent renderer of doom — VML for buttons, no flex, no background images without a fallback color.
Click every link in the rendered email and confirm it lands on the correct live product detail page, category page, or landing page. A broken hero CTA wastes the entire send budget.
Log the broken URLs, assign to the web team or email developer, and block the send schedule until each is verified. Re-run the full link audit before unblocking — fixing one broken link often breaks another in the template.
CAN-SPAM requires a working unsubscribe link and a valid physical postal address in every commercial email. Click the unsubscribe link on the test send and confirm it processes (most failures are template-merge tag bugs).
Route the final rendered proof to merchandising (for pricing/exclusions accuracy) and brand (for tone and visual standards). Capture approval before the send is scheduled; verbal-only sign-off has burned more retailers than any other QA failure.
Send and Monitor
Schedule against the recipient's local time zone when the list spans regions — a 10am ET send hits West Coast inboxes at 7am, often before the customer is awake. Smart Send Time in Klaviyo handles this automatically if enabled.
Hard bounce rates above 2% indicate list hygiene problems and can trigger Gmail/Yahoo throttling for the next 24-48 hours. If the bounce rate spikes, pause any follow-up sends until the bounces are suppressed.
Gmail's Postmaster Tools and the ESP dashboard both report complaint rate. Above 0.1% (1 complaint per 1,000 recipients) means Gmail starts routing future sends to spam. Above 0.3% is a deliverability emergency.
Push the offer details, exclusions, and register-level promo code to every store manager before send. Customers will walk into stores with the email open on their phone within 30 minutes of send — associates need to know the mechanic and how to ring it.
Post-Send Analysis
Wait at least 72 hours post-send before pulling final numbers — opens lag, especially with Apple Mail Privacy Protection inflating early open rates. Pull from the ESP, GA4, and Shopify together so attribution windows match.
Compare ATV and UPT for email-attributed orders against the trailing 30-day store baseline. A campaign that drives high order volume at a depressed ATV may have left margin on the table — useful input for the next markdown matrix discussion.
Capture what worked (winning subject line, hero product), what missed (segment that underperformed, broken link caught late), and one specific change for the next send. Store the retro in the campaign archive so the next planner can see the history, not just the result.
