Sending the same follow-up to everyone wastes your best shot. The person who opened your email twice and the person who never saw it need different messages. Branching lets you send each of them the one that fits.
This playbook gives you a complete flow, the emails for every branch, and a checklist to run before you hit send. Build it in any tool that supports open and click conditions.
Before you build: what opens can and cannot tell you
Open tracking is a rough signal, not proof. Some email apps load images automatically, which can register an open nobody made. Others block images, so a real reader shows as unopened. Treat branches like this:
- If Opened means "probably saw it." Change the angle, not the subject.
- If NOT Opened means "maybe never saw it." Try a new subject line and a shorter message.
- If Clicked is a stronger signal. Someone took an action. Make it easy to reply.
- If NOT Clicked is useful only if your email had a link worth clicking.
A branch is yes or no. It cannot count how many times someone opened, so do not write copy that assumes "you've looked at this a few times."
The flow at a glance
| Step | Wait | Condition | Message goal |
|---|---|---|---|
| 1. First email | Day 0 | None | Short, specific offer |
| 2A. Follow-up | 3 days | If Opened | New angle, one question |
| 2B. Follow-up | 3 days | If NOT Opened | New subject, shorter version |
| 3A. Follow-up | 4 days after 2A | If Clicked | Direct, low-effort next step |
| 3B. Follow-up | 4 days after 2A | If NOT Clicked | Proof or example |
| 4. Breakup | 5 days | None (all who haven't replied) | Close the loop politely |
The waits are a rule of thumb. Spread steps out enough that you don't feel pushy, and adjust for your market. If you want a simpler starting point, the three step campaign blueprint covers a linear version you can branch later.
The templates
Every template uses merge tags exactly as written. Fill in the bracketed parts once, for your offer, before you load the campaign. If you need an offer to plug in, pull one from offer ideas for local businesses.
Step 1: First email (everyone)
Subject: quick question about {{params.name}}
Hi {{params.firstname}},
I was looking at {{params.website}} and noticed [one specific thing, e.g. there's no way to book online].
I help {{params.category}} businesses in {{params.city}} [result, e.g. turn more website visitors into booked jobs]. Usually that starts with [small first step].
Worth a short chat this week?
[Your name]
Step 2A: If Opened
Subject: Re: quick question about {{params.name}}
Hi {{params.firstname}},
Different angle on my last note. Rather than a call, here is the one change I'd make first on {{params.website}}: [specific fix in one sentence].
Would it help if I sent a quick mockup of that for {{params.name}}? No cost, just reply "yes."
[Your name]
Step 2B: If NOT Opened
Subject: {{params.name}} + [result in 3 words]
Hi {{params.firstname}},
Short one. I help {{params.category}} businesses in {{params.city}} [result]. I had an idea specific to {{params.name}}.
Open to hearing it?
[Your name]
Step 3A: If Clicked (include a link in step 2A or 1 for this to work)
Subject: Re: quick question about {{params.name}}
Hi {{params.firstname}},
Thanks for taking a look. The easiest next step is a 15-minute call where I walk through what I'd change for {{params.name}}. Here is my calendar: [link]
Or just reply with a time that suits you.
[Your name]
Step 3B: If NOT Clicked
Subject: example for {{params.category}} in {{params.city}}
Hi {{params.firstname}},
Rather than a link, here is the idea in plain words: [two sentences describing what you did for a similar business, only if true, or what you would do].
If that sounds useful for {{params.name}}, reply and I'll send details.
[Your name]
Step 4: Breakup (everyone who hasn't replied)
Subject: closing the loop
Hi {{params.firstname}},
I haven't heard back, so I'll assume the timing isn't right for {{params.name}}. I won't keep emailing.
If [problem] ever becomes a priority, just reply to this and I'll pick it up.
Thanks, [Your name]
Build it step by step
- Get a clean list. Pull businesses by category and city, keep the owner's first name where it is available, and run email verification before sending. Bounces hurt the account you send from.
- Fill missing first names. If {{params.firstname}} is blank for some leads, either remove those or swap in a greeting that works without it, like "Hi there," in a separate campaign.
- Add step 1, then a delay of 3 days.
- Add an If Opened condition. Put 2A on the yes side and 2B on the no side.
- Under 2A, add a 4-day delay and an If Clicked condition. 3A on yes, 3B on no.
- Under 2B, add a 4-day delay and go straight to the breakup, or repeat 2B's idea with another subject.
- Preview every step with a real lead to confirm each merge tag fills in.
- Set sending limits and weekdays so you send steadily rather than in one burst.
In GetClient, the Google Maps scraper, verification and the flow builder sit in one place, so the list you scrape is the list you branch on, with no exporting in between. New accounts get 100 free credits; see plans and credits.
Pre-send checklist
- Every merge tag is written exactly like {{params.name}}, with double curly braces.
- Step 1 has one specific observation, not a generic compliment.
- Branch emails don't assume the reader remembers you.
- 3A and 3B only run if an earlier email had a link.
- An unsubscribe link is included and unsubscribes are honoured.
- You've checked the email and privacy rules that apply where you and your recipients are. This is not legal advice.
- Replies get answered within a day. A branch is useless if you miss the reply it earned.
Adapting by industry
The structure stays the same; the observation in step 1 changes. For HVAC companies it might be no emergency-call button on mobile. For landscapers, no seasonal booking page. For agencies, borrow wording from cold email templates for SEO agencies and drop it into step 1, keeping the branches as they are.