Why the outreach email template is the unit, not the email
An outreach email holds 2 kinds of content: the part that is true for every site in your niche, and the part that changes with every prospect. A finished email freezes both. A template freezes the first and leaves the second as merge tags your list fills in.
That split is what makes the copy survive scale: the stable half stays proofread, the variable half comes out of your spreadsheet, and the spin blocks stop it being the same 90 words in every inbox.
Merge tags, fallbacks and spin blocks
The template uses 2 constructs and nothing else.
- Merge tag -
{{first_name}}is replaced per prospect by your sending tool, from the matching column in your list. - Merge tag with a fallback -
{{first_name | 'team'}}uses the quoted text when the column is empty. Plenty of rows on a real list carry no first name, and "Hi ," is the fastest way to look automated. - Spin block -
{{RANDOM | Hi | Hey | Hello}}picks one option at random per send.
The variables it may use are fixed: {{first_name}}, {{contact_name}}, {{contact_company}}, {{page_title}}, {{page_url}}, {{company}}, {{website}}, {{niche}}, {{competitors}}, {{value_prop}} and {{sender_name}}. It never invents a new variable name, because a tag with no column behind it is a hole in every email you send.
A merge tag can sit inside a spin option, and often has to: a spun sentence about their article still needs to name {{page_title}} in every version. A {{RANDOM}} inside another {{RANDOM}} is forbidden, because 2 levels of randomness are ambiguous to parsers and impossible to proofread.
What the spin count is counting
Above the template sits a count of unique sends: the product of the option counts of every spin block in the subject, the body and the follow-up. 9 blocks with 3 options each is 19,683 emails, not 27. Multiply, do not add.
That number is computed in the browser from the template on screen, never taken from the model, so it cannot disagree with what you are reading. Delete an option and the chip drops immediately.
The preview shows one prospect, and it holds still
Beside the template is a preview of one expanded email. Every {{RANDOM}} resolves to its first option, always, on purpose. A preview that reshuffles on each render cannot be proofread: you can never tell whether a sentence changed because you edited it or because the dice moved.
Prospect fields fill with sample values, so you read a sentence instead of a row of braces. The values you typed into the form appear for real, since company, website, niche, value prop and sign-off name are constant across the campaign. A tag with no value and no fallback stays visible rather than collapsing into a gap, so a missing field shows up before the first send.
The 6 angles, and what each backlink pitch asks for
The angle sets the third paragraph, which is the paragraph that makes the relevance claim.
- Broken link - a page on their site links to something dead and you have a replacement. Highest hit rate of the 6, and the most prospecting work per send.
- Resource page - they maintain a curated list. Cheap to run, easy to ignore when your page is not visibly better than what is listed.
- Guest post - you write for them. Slow, but the only angle where you control the anchor.
- Skyscraper - you built something more thorough than what they link to now. Works when the gap fits in one sentence.
- Unlinked mention - they named you without linking. The easiest yes in link building, because it is a correction rather than a favor.
- Expert quote - you offer a quotable line for something they are writing. Small ask, and the relationship outlasts the link.
What you feed it
- Your company - goes into the second paragraph and, by default, the sign-off.
- Your website - used where the template points at you rather than their page.
- What you do - one clause, like "an AI-powered SEO tool for website owners". It lands in the second line of every email.
- What you offer in return - the reason an editor says yes. Blank gets you a reciprocal feature.
- Angle - one of the 6 above.
- Sign-off name - the fallback inside
{{sender_name}}. Blank falls back to your company name. - Tone - direct, friendly, professional, casual or warm.
You also get a line on why the structure suits that angle, 3 sending tips, 3 moves that get an email filtered, and the variables to map to your columns.
The 5 paragraphs, and a backlink outreach email in full
The body runs in a fixed order: a spun greeting, one clause on who is writing, the specific page and the relevance claim, what you give back, then the ask as a single question. A spun sign-off and the sender name sit on their own lines underneath. Expanded, it lands between 70 and 130 words of plain text.
Subject: {{RANDOM | A resource idea for | An addition to | One more for}} {{page_title | 'your roundup'}}
{{RANDOM | Hi | Hey | Hello}} {{first_name | 'team'}},
{{RANDOM | I run | I'm behind | I work on}} {{company}}, {{niche}}.
{{RANDOM | Your roundup | Your list | Your piece}} "{{page_title | 'your piece'}}" covers
{{competitors}} {{RANDOM | but stops short of | without touching | and leaves out}} the
setup side, which is the part our guide goes deep on.
{{RANDOM | In return | If it is useful | Either way}}, {{value_prop}}, and
{{contact_company}} {{RANDOM | goes in the next batch | gets the next slot | is first in line}}.
{{RANDOM | Worth a look? | Want the link? | Should I send it over?}}
{{RANDOM | Best, | Thanks, | Cheers,}}
{{sender_name | 'BlazeHive'}}
9 spin blocks with 3 options each, so the chip reads 19,683 before the follow-up adds its own multiplier. The follow-up is a single sentence sent days later, written to add something rather than restate the ask. If it has nothing new in it, do not schedule it.
What it refuses to write
There is no crawler, no link index and no SERP access behind this. It will not invent an editor's name, an article title, a publication, a statistic or a broken URL, because it cannot know them. Anything in that category becomes a merge tag, which leaves the research where it was: find the dead link, find the person, then load both into your list as columns.
It is also blocked from a set of openers, and from anything close to them:
- "I hope this email finds you well"
- "I stumbled upon your article"
- "I noticed you have a great blog" and "I love your content"
- "Just wanted to reach out"
- "I hope you don't mind me reaching out"
Bait subject lines like "quick question" are out for the same reason. The first sentence carries the reason for the email, and every sentence after it has to tell the recipient something they did not already know. The pages you are pitching are the other half of this job, and BlazeHive automates SEO content end to end if you would rather not write them by hand.