Every cold email guide tells you to test your subject lines. Almost none of them show you where the button is. This one does.
FoxReach lets you split any step of a sequence into weighted variants, sends each lead one of them at random, and tracks opens and replies per variant. This guide walks through setting a test up from scratch, what to test at each step, how to read the results, and how to promote a winner without breaking the campaign. It assumes you already have a campaign with a sequence. If you do not, start with the getting started guide and come back.
What an A/B test is in FoxReach
A campaign sequence is a list of steps: step one is the first email, steps two and beyond are follow-ups. Normally each step has one subject line and one body.
An A/B test replaces that single version with two or more variants. Each variant has:
- Its own subject line and body (personalization variables and spin syntax both work inside variants)
- Its own send-as-HTML setting
- A weight, which is a whole number that controls how much of the traffic it gets
When the step is due for a lead, FoxReach picks one variant at random in proportion to the weights. Two variants with weight 1 each split traffic 50/50. Weights of 3 and 1 split it 75/25. The variant chosen for each send is recorded on the email log, so every open and reply that comes back is attributed to the variant that caused it.
Each step is tested independently. A lead might get variant B of step one and variant A of step two. That is fine, and it is what lets you test different things at different points in the sequence.
Step 1: Pause the campaign
Sequence steps and their variants are locked while a campaign is active, so the first move is to pause. Open the campaign and use the pause control at the top of the page.
Nothing is lost by pausing. Leads mid-sequence hold their place, and when you resume, the schedule picks up where it left off. If you are building a new campaign that has not launched yet, it is still in draft and you can skip this step.
Step 2: Add the test to a step
Open the Sequences tab. Each step is a card showing its subject and a preview of the body. At the bottom of the card, click Add A/B Test.

FoxReach creates two variants immediately:
- Variant A is a copy of what the step already had. Your current subject and body are preserved exactly.
- Variant B is a second copy of the same content, ready for you to edit.
Both start with a weight of 1, so the split is 50/50 until you change it.
The step's original subject and body are kept in the background. While variants exist, they are what gets sent; the original content is never sent. If you later remove the test, the step goes back to its original content.
Step 3: Edit the variants
The step now shows a tab per variant. Click Variant B to edit it. Change the subject line, the body, or both, then save.

Two things to know while editing:
Change one thing. If variant B has a different subject and a different opening line and a different call to action, you will learn that B won or lost but not why. Pick the single element you are testing at this step and keep everything else identical.
Use the preview. Under the editor there is a collapsible dual preview that renders the email twice: once as a lead with every variable filled in, once as a lead with none. This is where you catch a {{company}} with no fallback that would leave a blank in the email. Set fallbacks with the pipe syntax, for example {{company|your team}}, and check both renders.
Need a third variant? Click Add Variant and FoxReach creates variant C as another copy of the step. Keep it to two or three. More variants means more traffic needed before any of them reaches a readable sample size.
Step 4: Set the weights
Each variant has a Weight field. It is a whole number, minimum 1, and the split is proportional. A few useful shapes:
| Goal | Weights | Traffic split |
|---|---|---|
| Fair test between two ideas | A: 1, B: 1 | 50/50 |
| Try a risky idea without betting the campaign | A: 3, B: 1 | 75/25 |
| Three-way test | A: 1, B: 1, C: 1 | 33/33/33 |
| Promote a winner but keep measuring | A: 9, B: 1 | 90/10 |
For a first test on a step, leave it at 50/50. Uneven weights make sense once you have a proven control and want to check a challenger without giving it half of your sends.
Save the weights, then resume the campaign.
What to test at each step
The most useful tests change depending on where the step sits in the sequence.
Step one: subject line. The first email's job is to get opened, and the subject line is most of that. Test a short specific subject against a question, or a lowercase internal-looking subject against a formal one. Keep the body identical.
Step two: the angle. By the second touch the reader has seen your name once. Test a different reason to reply: a case study versus a pain-point question, or a short bump versus a new piece of value. Keep the subject the same so the thread stays clean.
Last touch: the ask. The final email is where a softer or harder close changes behaviour. Test "worth a quick call?" against "should I close the loop?" or a permission-based ask against a direct one.
The cold email copywriting module in the academy goes deeper on writing the variants themselves. The point here is that each step is its own test, so run one per step and do not stack three changes into one email.
Step 5: Read the results
Once the campaign has been sending, expand the step and open Variant Performance. It is a table with a row per variant:
| Column | What it means |
|---|---|
| Sent | Emails sent using this variant |
| Opened and Open % | Opens attributed to this variant, if open tracking is on |
| Replied and Reply % | Replies attributed to this variant |
FoxReach highlights the variant with the best reply rate.

Three rules for reading it honestly:
Judge on replies, not opens. Open tracking is off by default in FoxReach, and even when you turn it on the pixel only goes into HTML follow-ups, never the first email, because it costs inbox placement and Apple Mail Privacy Protection inflates the count anyway. Open rate is a weak signal even when it is there. Reply rate is the number that pays.
Wait for the sample. Under about 100 sends per variant, a difference of two replies moves the reply rate by two full points. Let each variant reach 100 sends at minimum, and 200 or more if the difference is small. If you are sending 50 emails a day per campaign, that is a week or two, which is fine. A test that ends early is a coin flip with a spreadsheet.
Compare like with like. Both variants should have been sending over the same period. If you added variant C halfway through, its numbers cover a different set of days and a different mix of leads. Compare A and B first, then start a fresh test for C.
For more on which numbers matter in cold email, the metrics module covers reply rate, positive reply rate, and bounce rate in detail.
Step 6: Promote the winner
FoxReach does not pick a winner for you. When you have a clear result, you have two options.
Shift the weights. Pause, set the winner to weight 9 and the loser to weight 1, resume. The winner gets 90 percent of sends while you keep collecting a small amount of data on the loser. This is the safest move and takes ten seconds.
Promote and remove the test. Pause, copy the winner's subject and body into the step itself (edit the step, paste, save), then click Remove A/B Test and confirm. All variants are deleted and the step sends your pasted content to everyone. Do the copy step first: removing the test restores whatever the step had before the test started, which is the original control, not the winner.
Then start the next test. The steps that have not been tested yet are waiting.
Practical notes
Changes apply to every email not yet sent. The variant is picked at the moment each email goes out, not when it is scheduled. Change the weights or the copy and every send from that point on, including ones already on the calendar, uses the new setup.
Removing the second-to-last variant ends the test. A test needs at least two variants. If you delete variant B on a two-variant step, FoxReach also removes A and returns the step to single mode.
Duplicating a campaign copies the variants. If you duplicate a campaign to reuse the sequence for a new list, the A/B setup comes with it, including weights. Reset the weights to 50/50 if you want a fresh test.
Spin syntax is not an A/B test. Writing {Hi|Hello|Hey} rotates words to reduce sameness across sends, which is good for deliverability. It does not track which spin won. Use variants when you want to learn something, and spin syntax when you want to vary without measuring.
Deliverability comes first. A subject line that wins on replies but lands more emails in spam is not a winner. If you change your approach after a test, keep an eye on bounce rate and reply rate over the following week. The deliverability guide covers what to watch.
A worked example
A campaign to 800 heads of sales. Step one is a 50/50 test of two subject lines:
- A: "question about outbound at {{company}}"
- B: "{{first_name}}, quick one"
After two weeks, A has 410 sends and 23 replies (5.6 percent). B has 390 sends and 14 replies (3.6 percent). That is a real gap on a real sample, so A wins. Pause, paste A's subject into the step, remove the test, resume.
Now step two gets its own test: the same subject, but a case-study body against a one-line bump. Same process, same patience. Over a quarter, a campaign that runs one test per step per month will have a sequence built from winners instead of guesses.
That is the whole system. Split the step, change one thing, wait for the sample, promote the winner, move to the next step. See the pricing page for what each plan includes; A/B testing is available on every plan, including Free.



