How-To

How to A/B Test Your Emails (Complete Guide)

Email A/B testing splits one campaign into two variants, sends each to a random slice of your list, and picks the winner based on statistical significance. This guide walks through what to test, how to size the sample, how to run the test, and how to avoid the four mistakes that make most 'winners' noise.

Sohail HussainSohail Hussain(Updated: )9 min read

Email A/B testing sends two versions of a campaign to random slices of your list, measures which variant wins on a metric you picked in advance, and validates the result with a significance test before rolling the winner out to everyone else.

Harvard Business Review's "A Refresher on A/B Testing" makes the point that most in-house marketing tests are underpowered; the results look impressive and then fail to replicate. That is the single biggest problem with email testing as it's practiced, and most of this guide is about avoiding it.

What email A/B testing is

Email A/B testing, also called split testing, is a controlled experiment. Version A goes to one random group, version B to another, and you compare a single success metric to decide which won. The load-bearing word is controlled; exactly one variable changes between A and B.

Mailneo's A/B test calculator handles the arithmetic. The judgment calls, which is what actually separates a useful test from a decorative one, are what follows.

What to test, ranked by impact

Test the variables with the largest expected effect first. Subject line and send time tend to dominate; button color almost never matters in isolation.

Test variableMetric it movesMinimum sample per variant
Subject lineOpen rate~5,000
Sender name ("Sohail" vs "Mailneo")Open rate~8,000
Send time / day of weekOpen + click rate~10,000
Preheader textOpen rate~15,000
CTA copy (verb choice, length)Click-through rate~12,000
Copy length (short vs long)CTR + conversion~12,000
Layout (single-column vs multi)CTR~20,000
Button colorCTR~50,000+

Those sample sizes assume a baseline open rate around 22% and a minimum detectable effect of 10% relative change at 95% confidence, computed with Evan Miller's sample-size methodology. Smaller expected effects need bigger samples; that's arithmetic, not opinion, and it's why button color sits at the bottom of the table rather than in your test queue.

Start at the top. Subject lines are the cheapest and fastest thing to test and they carry the biggest payoff; the guide to writing subject lines that get opened has patterns worth queueing up, and the category pages for SaaS, ecommerce, and curiosity-led lines give you real variants to pit against each other. Drop down to layout or button tests only once the top three are exhausted.

Personalization is a partial exception. It behaves less like a variable and more like a layer sitting across every send you make. Test it inside a subject-line variant ("Sohail, your weekly digest" against "Your weekly digest") rather than as a standalone experiment. Email personalization done right goes deeper on that.

Setting up a test, step by step

Six steps, in order. Skip any of them and you'll end up with a winner that's actually noise.

  1. Pick one variable. Just one. Change subject line and send time in the same test and you cannot tell which change caused the lift.
  2. Define the success metric before you send. Open rate for subject-line tests, click-through rate for CTA tests, revenue per recipient for copy-length tests. Write it down; don't let yourself pick the metric after the fact.
  3. Set the minimum detectable effect. If you'd act on a 5% relative lift, your MDE is 5%. If you'd only act on 20%, it's 20%. A smaller MDE demands a bigger sample.
  4. Calculate the sample size. Plug your baseline rate, MDE, and confidence level into the A/B test calculator; the output is how many recipients each variant needs.
  5. Split the list randomly, 50/50. Most ESPs, Mailneo included, do this automatically when you enable A/B mode on a campaign.
  6. Run until you hit the sample size or the time window closes, then check significance. Only then declare a winner and send it to the remainder.

One prep step most guides skip: pre-test subject lines in isolation before committing real send volume. Mailneo's subject line tester scores variants against a historical corpus in seconds, which eliminates the obvious losers for free.

Calculating statistical significance

Statistical significance tells you how confident you can be that the gap between A and B is real rather than random. The standard threshold is 95% confidence (p < 0.05), meaning under a 5% chance the observed difference came from noise.

In plain words: you compare the conversion rate of each variant, weight by sample size, and compute a z-score. Anything above roughly 1.96 clears the 95% bar. The two-proportion z-test:

z = (p_B - p_A) / sqrt( p_pooled * (1 - p_pooled) * (1/n_A + 1/n_B) )

Where p_A and p_B are the two rates, n_A and n_B the sample sizes, and p_pooled the combined rate across both variants. You don't need to do this on paper; that's what the A/B test calculator is for.

A necessary caveat. Significance says nothing about whether the effect is big enough to care about. A 0.3% lift at 99% confidence is real and useless. Report significance and effect size together, always.

How big a sample you need

Required sample size depends on three things: baseline conversion rate (lower baseline, bigger sample), minimum detectable effect (smaller MDE, bigger sample), and confidence level (higher confidence, bigger sample).

Anchors for subject-line tests at 95% confidence, computed with the standard two-proportion formula:

Baseline open rateMinimum detectable effect (relative)Sample size per variant
15%20%~2,400
20%20%~1,700
20%10%~6,700
20%5%~26,800
25%10%~5,200

Under about 3,000 active subscribers, stop trying to prove things in a single test. Run a series of smaller tests with a wide MDE (20–30%), treat each result as directional, and build the picture over five or ten sends. It's slower, and on a small list it's the only honest option. Frankly, if your list is that small, growing it is the higher-leverage project; watch your list growth rate instead of agonizing over a 40-person split.

How long to run a test

Run long enough to collect the sample the calculator asked for, and no shorter than a full behavioral cycle for your audience: usually 24 to 72 hours for a one-off campaign, a full week for send-time tests. Anything under four hours is almost always too short, because opens trickle in over 48 hours for most B2C lists and considerably longer for B2B.

Here's why the floor matters. Early openers skew younger, more mobile, and far more engaged than your average subscriber. Call a winner at hour two and you've tested your most enthusiastic segment, not your list.

A practical rule of thumb. For subject-line tests, run the A/B on 20–30% of the list for 24 hours, then send the winner to the rest. For send-time tests, never go shorter than seven days, since one full week is the minimum that covers every day-of-week effect; the send time data by day and industry is a reasonable place to form a hypothesis before you spend a week testing it. For copy-length or layout tests that hinge on post-click behavior, extend to 48 or 72 hours so clicks and conversions have time to land.

The four mistakes that produce fake winners

Too-small sample. If your list can't reach the minimum, widen the MDE and accept that you'll only detect big wins, or batch several tests of the same variable across campaigns and pool the results. Don't run an underpowered test and treat the output as meaningful; the p-value lies when n is too small.

Multi-variable contamination. If A has a new subject line and a new send time, and A wins, which change did it? You don't know, and no amount of post-hoc reasoning recovers the answer. One variable per test. If you genuinely need to test combinations, run a full factorial with four variants (AA, AB, BA, BB), which costs roughly four times the sample.

Peeking. Checking at hour three, seeing A ahead, and calling it. Evan Miller's peeking problem writeup shows that stopping on the first significant result pushes your real false-positive rate to 20–30% even at a nominal 5% threshold. Decide the stop condition before you send, then don't look until it's met.

Ignoring seasonality. Running a subject-line test on Black Friday and applying the winner to a February Tuesday newsletter assumes a transfer that mostly doesn't happen. Control for day of week by running at least a week; retest seasonal copy a quarter later before assuming the winner still wins.

There's a fifth worth flagging separately, because it changed the ground rules rather than just tripping people up. Apple Mail Privacy Protection pre-fetches images and registers an open whether or not a human looked, so open-rate signals on iOS traffic are noisy by construction. For open-rate tests, either segment MPP opens out of the analysis or switch to click rate as the primary metric. Email marketing metrics to track walks through what still deserves trust.

Variant counts and transactional sends

Two questions come up that the process above doesn't answer directly.

How many variants can you test at once?

Two is the standard A/B test; three or more is multivariate testing. Every additional variant multiplies the required sample, so most SMB lists can't support more than two. Stick with A/B unless you're past roughly 50,000 engaged subscribers.

Can you A/B test transactional emails?

Yes, and you should. Order confirmations and password resets get opened at rates broadcast campaigns never approach, so even a small copy or CTA improvement compounds quickly. Check that your ESP supports splitting transactional sends first; several don't. The transactional subject line examples are a decent starting set of variants.

ab-testingsplit-testingemail-optimizationdata-drivenexperimentation
Share this article
Sohail Hussain

Sohail Hussain

Founder & CEO at Mailneo

Building Mailneo — AI-powered email marketing for growing businesses.

Ready to supercharge your email marketing?

Start sending smarter emails with AI-powered campaigns. No credit card required.

Get Started Free