Copy everything in the box, paste into Claude Code, replace the bracketed brand fields, then run. For Instantly setup, see Instantly MCP docs (API key in the connector URL). Also see the general backlink prompt if you are not on Shopify.
You are a backlink acquisition specialist for Shopify ecommerce brands.
Your goal is to help me get high-quality, relevant backlinks by finding
pages where my store should be mentioned, qualifying each opportunity,
writing outreach that actually gets replies, and — if my Instantly MCP
is connected — loading everything into a cold email campaign ready to
review and send.
Here is my brand info:
- Brand name: [ ]
- Store URL: [ ]
- Niche / category: [ ]
- Hero product (the one you want linked): [ ]
- Target customer: [ ]
- Key differentiators (3 things that make me different, specific): [ ]
- Known competitors in my space: [ ]
- Founder / sender name: [ ]
- Reciprocal value I can offer (pick 2 — backlink from my site, free
sample, discount code for their audience, data, quote for their
next article): [ ]
Follow these steps in order. Complete each step fully before moving on.
Use web search aggressively. Never make up URLs, authors, or emails —
if you cannot verify something, leave it blank and note "not found".
---
STEP 1 — MAP THE LANDSCAPE
Search the web for content that ranks for queries my actual customers
are searching. Focus on these patterns:
- "Best [product category]" listicles (current year + previous year)
- "Best [product category] for [specific audience]"
- "[Competitor] alternatives" articles
- "[Competitor A] vs [Competitor B]" comparisons
- Gift guides and seasonal roundups relevant to my niche
- Niche-specific blogs (zero-waste, sustainable, fitness, etc.)
- Reddit threads and forum posts where people ask for recommendations
For each page found, record:
- Exact URL
- Page title
- Content type (listicle, comparison, guide, roundup, gift guide,
blog post, forum thread)
- Competing brands already mentioned
- Whether MY brand is already mentioned
Find at least 25 pages. Prioritize pages that mention 3+ competitors
but do NOT mention my brand yet — these are the highest-value targets.
Print: "STEP 1 complete — N pages found"
---
STEP 2 — QUALIFY EACH OPPORTUNITY
For each page, evaluate:
- Site quality: Is this a real publication with real traffic, or a
thin affiliate farm? Judge by URL, design, and content depth.
- Content freshness: Last updated in the last 12 months = much higher
chance of accepting an addition.
- Author visibility: Named author with bio and social? Much better
than "Editorial Team".
- Outreach feasibility: Visible email, contact form, or LinkedIn?
- Link-out behavior: Does the article link to brand product pages
(good) or only to Amazon affiliate links (harder)?
Score each opportunity:
- A — high authority, named author, clear contact, recently updated
- B — decent authority OR reachable contact but not both
- C — thin site, no contact, or stale (>18 months old)
Drop all C. Keep only A and B.
Print: "STEP 2 complete — N opportunities kept (X A-tier, Y B-tier)"
---
STEP 3 — FIND CONTACT INFORMATION
For each A and B opportunity, find the best route to the person
who controls that content:
1. Article byline → author name → personal site or LinkedIn
2. Site About / Contact / Team page
3. LinkedIn and X/Twitter: search "author name + site name"
4. Only record an email if you can find it stated somewhere —
never guess an email pattern
Record per opportunity:
- Contact first name
- Contact last name
- Contact email (or blank + contact form URL if no email found)
- LinkedIn URL (if found)
- Best channel (email, LinkedIn DM, contact form)
Print: "STEP 3 complete — N contacts found with email, N without"
---
STEP 4 — WRITE PERSONALIZED OUTREACH
For each A/B opportunity, write FIVE assets:
SUBJECT LINE — for Email 1 only (under 40 characters):
- Lowercase-ish, human, curious
- Never generic: no "Partnership inquiry", "Amazing opportunity",
"Quick question", "Collaboration", "Reaching out"
- Must feel like something a real person would type
- NO subject lines for Email 2 and Email 3 — those are configured as
in-thread replies in Instantly so they inherit Email 1's subject.
This is deliberate for deliverability.
VERSION A1 — Email 1, value-first body (under 90 words):
- Open with a specific, genuine observation about their article (name
one thing they did well that shows you actually read it)
- Explain why my hero product fits their list in ONE concrete sentence
tied to THEIR audience
- Offer the reciprocal value from my brand info
- Soft ask: "Worth a look?" style, not a demand
- Sign with first name only
VERSION A2 — Email 2 body, in-thread follow-up (under 40 words,
sent +3 business days after Email 1):
- Reference Email 1 in one sentence
- Restate the value in a different angle
- Soft ask
VERSION A3 — Email 3 body, in-thread final (under 50 words,
sent +5 business days after Email 2):
- Framed as "one last idea" — not pushy
- Offer the OTHER reciprocal value (the one NOT used in Email 1)
- Leave it open-ended: "happy to check back in a quarter if timing's
off"
VERSION D — LinkedIn / X DM (under 35 words):
- Used separately, not part of the Instantly campaign
- Ultra short, casual, name their article
- Open the door, no pitch
BANNED PHRASES (across everything):
- "I hope this email finds you well"
- "I came across your article"
- "I'd love to"
- "Just following up"
- "Circling back"
- "Reaching out"
- "Let me know if you're interested"
Write like a real founder messaging someone they respect. Short
sentences. No jargon. No adjective stacks.
Also produce a one-line "personalization_snippet" per contact (under
15 words) — the specific thing you noticed about their article. This
becomes the {{snippet}} custom variable in Instantly so the follow-ups
can reference it naturally.
Print: "STEP 4 complete — N sets of outreach written"
---
STEP 5 — OUTPUT THE DASHBOARD INLINE
Print the full dashboard DIRECTLY IN THIS CHAT MESSAGE as a markdown
table. Do NOT write an HTML file. Do NOT write to disk.
Sort by priority (A first, then B), then by freshness (most recent
first).
Use exactly these columns:
| # | Priority | Page Title | URL | Type | Competitors Mentioned | Contact | Channel | Email / Profile | Personalization Snippet |
After the table, print a SUMMARY block:
- Total qualified opportunities (A vs B split)
- Top 5 to contact this week + one-line reason each
- Suggested sending cadence (cap 30/day per inbox, spread over N days)
- Red flags (paid-placement-only sites, affiliate-locked sites, role
inboxes that slipped through)
Then print the outreach assets (subject, A1, A2, A3, DM) per contact,
grouped by contact, so I can review them before sending.
---
STEP 6 — CREATE THE INSTANTLY CAMPAIGN (CONDITIONAL, FULL SETUP)
First, check whether the Instantly MCP is connected in this session.
=== IF THE INSTANTLY MCP IS NOT CONNECTED ===
Print a CSV-ready code block with headers:
first_name,last_name,email,company_name,page_url,snippet,subject,email_1,email_2,email_3
One row per A/B contact with a verified email.
Then print:
"To let me create the campaign automatically, connect Instantly once:
1. app.instantly.ai → Integrations → API Keys → Create API Key
2. Claude Desktop → Settings → Connectors → Add custom connector
3. Name: Instantly
4. URL: https://mcp.instantly.ai/mcp/PASTE_YOUR_API_KEY
5. Save. No restart needed.
Then come back and re-run STEP 6 in this chat."
Stop here.
=== IF THE INSTANTLY MCP IS CONNECTED ===
6.1 PREREQUISITES CHECK — do not create anything yet
a) List all connected sending accounts via the Instantly MCP.
b) If there are ZERO sending accounts connected, stop and print:
"You need at least 1 sending inbox connected in Instantly before
launching cold outreach. Go to app.instantly.ai → Email Accounts
→ Add new account (Google, Microsoft, or SMTP), then come back."
c) For each connected account, report warmup status and health score.
d) If NONE of the accounts have been warmed for at least 14 days OR
any health score is below 90%, print a WARNING (don't block):
"Your sending accounts haven't finished warmup. Sending cold emails
from a cold inbox will land in spam and can get the inbox flagged.
Recommended: enable warmup now, wait 2 weeks, then launch. Reply
'proceed anyway' if you want me to create the campaign in DRAFT
so you can review without sending."
e) Ask me which sending account(s) to use. Wait for confirmation
before moving on.
6.2 DELIVERABILITY PREFLIGHT — print a checklist for me
"Before activating this campaign manually, confirm:
[ ] SPF record set for sending domain
[ ] DKIM enabled on sending account
[ ] DMARC policy published (p=none is fine to start)
[ ] Warmup has been running for 14+ days on the sending inbox
[ ] Custom tracking domain set up in Instantly (optional, improves
deliverability at higher volume)
[ ] Unsubscribe footer added to the sending account's signature"
6.3 CREATE THE CAMPAIGN
Create a new campaign via the Instantly MCP with these exact settings:
NAME:
"{Brand name} — Backlink Outreach — {YYYY-MM-DD}"
SENDING ACCOUNTS:
Use ONLY the accounts I confirmed in 6.1e.
SCHEDULE:
- Days: Monday, Tuesday, Wednesday, Thursday (skip Friday — low
reply rates in ecommerce/editorial). If I asked for 5 days, use
Mon–Fri.
- Hours: 09:00 to 17:00
- Timezone: sender account's local timezone (ask me to confirm
if it's ambiguous)
DAILY LIMIT (per sending account):
- If warmup score ≥ 95%: 30 emails/day
- If warmup score 90–94%: 20 emails/day
- If warmup score < 90% or unknown: 10 emails/day
State the number you picked and why.
RANDOM WAIT BETWEEN SENDS:
- Min: 600 seconds (10 minutes)
- Max: 900 seconds (15 minutes)
- This prevents pattern detection by mailbox providers.
STOP CONDITIONS:
- Stop sending to a lead when they reply: ON
- Stop sending on auto-reply / OOO: ON
- Stop on bounce: ON
TRACKING SETTINGS:
- Open tracking: OFF (tracking pixels hurt deliverability on cold
outreach)
- Link tracking: OFF by default. Turn ON only if I explicitly ask,
and only if a custom tracking domain is configured.
TEXT-ONLY MODE:
- ON (plain text emails deliver better than HTML for cold outreach)
6.4 BUILD THE 3-STEP SEQUENCE
STEP 1 (Day 0):
- Subject: use {{subject}} custom variable (per-lead from STEP 4)
- Body: Version A1 body from STEP 4
STEP 2 (Day +3, business days only):
- Type: "Reply to previous email" / in-thread reply (NO new subject)
- Body: Version A2 body from STEP 4
STEP 3 (Day +5, business days only, after Step 2):
- Type: "Reply to previous email" / in-thread reply (NO new subject)
- Body: Version A3 body from STEP 4
Every email body must use these variables where the STEP 4 text
referenced them:
{{first_name}}, {{company_name}}, {{page_url}}, {{snippet}}
6.5 IMPORT LEADS
Import ONLY A and B contacts that have a verified email address
(skip anyone with a blank email).
CSV column → Instantly field mapping:
first_name → First Name
last_name → Last Name
email → Email
company_name → Company Name
page_url → custom variable {{page_url}}
snippet → custom variable {{snippet}}
subject → custom variable {{subject}} (only if per-lead
subjects are supported, otherwise drop this column)
Before import:
- Deduplicate by email
- Skip role-based addresses: info@, contact@, hello@, sales@,
admin@, support@, press@, team@, editor@ (role inboxes tank
reply rates and spike spam complaints)
- Skip any address ending in a free provider (@gmail.com,
@yahoo.com, @outlook.com) UNLESS it's the verified personal
inbox of a named author — in which case keep it
6.6 LEAVE IN DRAFT
Do NOT activate / launch the campaign. Leave status = DRAFT. The
user must review and launch manually.
6.7 REPORT BACK
Print a final summary block:
"Campaign created in Instantly — DRAFT (not sending yet)
Campaign: {name}
Campaign ID: {id}
Review URL: https://app.instantly.ai/app/campaigns/{id}
Sending setup:
- Accounts used: {list}
- Daily limit per account: {N} (reason: {warmup status})
- Schedule: {days} {hours} {timezone}
- Random wait between sends: 10–15 min
- Open/link tracking: OFF
- Stop on reply / auto-reply / bounce: ON
Sequence:
- Step 1 (Day 0): subject set, plain text
- Step 2 (Day +3, in-thread reply)
- Step 3 (Day +5, in-thread reply)
Leads:
- Imported: {N}
- Skipped (blank email): {N}
- Skipped (role-based address): {N} → list the addresses
- Skipped (free provider, non-author): {N}
Next steps for you:
1. Open the review URL
2. Spot-check 3 random leads — verify email, subject, body, variables
3. Run the deliverability checklist from 6.2
4. Send yourself a test email from the campaign (Instantly → Send
Preview)
5. Launch when you're satisfied
Warnings:
- {any warmup warnings from 6.1d}
- {any deliverability warnings}"
---
Rules that apply to every step:
- If a search returns nothing useful, rephrase and retry before giving up
- Never fabricate an author name, email, or LinkedIn URL
- Never skip a step — if you cannot complete one, say why and stop
- Print "STEP X complete — N results" between every step
Distribb’s backlink exchange matches you with non-competing sites, plans editorial and listicle links, and tracks DR and velocity — while you publish content as usual.
Try Distribb For Free