LeadGrow
← Research Brief

Campaign Architecture

Three-track outbound model. Cold market-intel. Warm active-listing intercept. GovCon contract-win signal. Permissionless value throughout. Objection resolutions baked in.

Three-Track Model

Same client, same ICP, three entry angles. Cold owners haven't decided anything. Warm owners already listed. GovCon winners just validated revenue and are in an emotionally receptive moment. Different signal, different conversation opener, different close.

Track A — Cold
Market Intel Drop
Completely cold owners. No intent signal. Lead with EBITDA multiples + named buyers. Let the market data do the selling. Never mention advisory fees until Email 2.
4,500 emails/day DiscoLike + AI Ark HVAC · Mfg · Distribution · Construction
List Source
DiscoLike lookalike discovery from client's 3 signed customers + known SE HVAC owners
Objection Stack
Email 2: broker fee ROI · Email 3: PE screening + legacy
Track B — Warm Signal
Active Listing Intercept
Owners already listed on BizBuySell or BizQuest. They decided to sell. Objection isn't "why sell" — it's "why not just use my current broker?" Lead with competitive process math.
High intent BizBuySell scraper BizQuest scraper
List Source
BizBuySell + BizQuest active listings, SC/NC/GA/FL/TN, filtered by revenue $1M–$30M
Core Angle
"You're listed. Have you had six buyers compete yet? The ones paying 30–40% above ask aren't on BizBuySell."
Track C — GovCon Signal
Contract Win Intercept
Businesses that just won a federal or state contract. Revenue event = validation buyers underwrite cleanly. Timing window: 30–90 days post-award. Owner is in winning mode. "What's this business worth now?" lands differently when they just closed a $2M contract.
SAM.gov USASpending.gov HVAC · Construction · Industrial · Distribution
List Source
SAM.gov awards feed + USASpending.gov, filtered SE states + ICP NAICS codes + award $200K–$10M, 30–90 day recency window
Core Angle
"You just validated $Xm in contracted revenue. Buyers price that differently than organic revenue. Market's at 10x EBITDA right now."

Signal hierarchy: GovCon winners (Track C) are the highest-intent cold signal — revenue event just happened, public record, emotionally receptive. BizBuySell listings (Track B) are highest intent overall — sell decision already made. Purely cold (Track A) is highest volume. Run all three simultaneously; weight budget toward C > B > A on a per-reply-cost basis once data accumulates.

Cross-pollination insight: BizBuySell/BizQuest listings reveal real transaction context — asking prices, revenue multiples, industry mixes — for warm businesses in our target geography. That data informs the cold track: when we tell a cold owner "businesses like yours are trading at 7.8x EBITDA," we're backing it with actual listing data, not generic reports.

Track A — Cold Sequence

Permissionless value. Lead with market intelligence the owner doesn't have. Zero broker pitch until they ask. Objection resolutions embedded, not bolted on.

Track B — Warm Signal Sequence

Owners already listed on BizBuySell or BizQuest. They decided. Don't re-litigate the sell decision. Lead with competitive process — what they're missing by listing through a broker.

List source note: BizBuySell and BizQuest list businesses publicly — no login required, no scraping friction. Active SE listings (SC, NC, GA, FL, TN) filtered by revenue $1M–$30M give warm signal inventory. Scrapers needed: both sites. This same listing data informs cold track comps (real transaction context, real asking multiples).

Track C — GovCon Signal

Public contract award data from SAM.gov and USASpending.gov. Filtered to SE states + ICP NAICS codes + award recency. Owner just validated revenue — lead with the market implication of that fact.

NAICS codes to target: Filter SAM.gov/USASpending.gov awards by these codes in SC, NC, GA, FL, TN. Award value $200K–$10M. Recency: 30–90 days.

238220 Plumbing, Heating, Air-Conditioning
236220 Commercial Building Construction
237310 Highway, Street, Bridge Construction
332000s Fabricated Metal Manufacturing
493110 General Warehousing & Storage
561700 Services to Buildings / Facility Maintenance
811310 Commercial Machinery Repair
484000s Trucking / Distribution
Data access: SAM.gov has a free public API (api.data.gov). USASpending.gov has a REST API with no auth required. Both return award recipient name, NAICS code, state, award amount, award date. Cross-reference company name → website → owner contact via AI Ark. No scraping friction — these are government transparency datasets.

Offer Suite

Benchmark: free valuation (Viking Mergers) and free consultation (Exit Factor) — the two most common CTAs across competitor sites. We test above and below this floor. Saturated offer = benchmark, not goal.

Test #1 — Lead
Comp Data Drop
"Reply and I'll send you what similar [HVAC / mfg / distribution] businesses in SC/NC/GA sold for in Q1 2025." Info over email. No meeting.
Friction: Near-zero. Receive info, no commitment.
Test #2
Buyer Activity Report
"I'll send you which firms are actively acquiring in [industry] in the SE right now — who they bought, what they paid, how fast they move." Pure intel, no meeting.
Friction: Near-zero. Email response = qualified interest.
Test #3 — Call
Market Timing Call
"15 min. I'll tell you if you're in the window or not — based on your industry, revenue range, and current buyer activity." Specific outcome, no pitch framing.
Friction: Low. Outcome is defined. Not a "discovery call."
Future Build
Niche Calculator
Industry + location + revenue → estimated sale range, current buyer count, market timing score. Built from real BizBuySell/BizQuest listing data. Not generic multiples.
Friction: Zero. Async. Works at scale.
Control — Benchmark
Free Business Valuation
Used by Viking Mergers, Exit Factor. The saturated default. We test against it, not with it as lead. If our offers don't outperform this, revert to valuation with confidentiality framing added.
Friction: Low. But triggers "broker wants a meeting" mental model.

Niche Calculator — Spec

Not a generic "exit readiness score." Industry-specific, location-specific, built from real transaction data. The differentiation is real comps, not formulas.

Inputs

Three fields. Enough to produce a meaningful range. Not a 10-question quiz.

Industry
HVAC · Mfg · Distribution · Construction · Home Services
Annual Revenue
$1M–$5M · $5M–$15M · $15M–$30M · $30M–$120M
State
SC · NC · GA · FL · TN

Output: Estimated sale range (low / mid / high), current active buyer count in that niche/geo, market timing indicator (hot / cooling / slow), and 2 named buyers currently active in their specific intersection. Delivered on-page, no email gate needed.

Data source: BizBuySell + BizQuest listing data (real asking prices + revenue multiples, SE filtered) + Calder Capital / PKF O'Connor Davies research already in this brief. Calculator refreshes when scraper runs.

Test Matrix

Single-variable tests. Sequence then offer. Don't change both at once.

Test Variable Variant A Variant B Hypothesis
Test 1 Email 1 CTA "Reply and I'll send comps data" "Worth a 15-min conversation?" Info-pull outperforms meeting-pull on cold first touch. No-meeting frame = less broker resistance.
Test 2 Email 1 CTA alt Comp data drop Buyer activity report Industry-specific buyer names convert better than generic comps. Buyer names = FOMO.
Test 3 Offer type Async info (email back comps) Market timing call (15 min) Async reduces friction at top of funnel. Call converts higher-intent leads. Volume vs. quality tradeoff.
Test 4 Track Cold track (market intel) Warm signal track (BizBuySell) Warm outperforms cold on reply rate but smaller list. Cold carries volume. Compare reply-to-signed ratio, not just reply rate.

Foundational Q&A

LeadGrow's answers to the core questions on infrastructure, signal targeting, copywriting, offer strategy, and campaign management — specific to this engagement.

Infrastructure & Deliverability

Q
How do you structure sending infrastructure between Google and Outlook? Which providers?
All sending runs through EmailBison with inboxes on Google Workspace and Microsoft 365. Standard ratio is 70% Google, 30% Outlook for diversity — avoids single-provider pattern recognition. Domain registration via Namecheap or GoDaddy with forwarding to the client's real domain. Each domain gets 2–3 mailboxes max. New domains warm for 3–4 weeks (Instantly Warmup or native Bison warmup) before any campaign send. No shared IP pools — dedicated sending only.
Q
Do you send Google to Google and Outlook to Outlook, or mix it up?
Mixed by default. Same-provider-to-same-provider at scale creates correlation patterns that spam filters can learn. Mixing Google senders to Outlook recipients and vice versa is standard. No evidence of inbox penalty from cross-provider sends; the content and domain reputation matter far more than provider matching.
Q
How about Proofpoint, Mimecast, Barracuda inboxes? Do you send to those, or how do you make those work?
We send to them — but with adjusted copy. MX record lookup on the list before send identifies which recipients sit behind enterprise gateways. Proofpoint and Mimecast are the most aggressive: strip all links from Email 1 for those recipients, use plain text only, keep under 90 words, avoid trigger phrases ("free", "guaranteed", "opportunity"). Barracuda is less strict — standard copy usually lands. We don't suppress gateway recipients; we segment them and send a cleaner variant. Volume into Proofpoint/Mimecast environments gets capped lower per day until open rate confirms delivery.
Q
How do you monitor deliverability on an ongoing basis? What tools and metrics, how frequently?
Daily: Bison dashboard for bounce rate, spam complaint rate, and reply rate trend. Google Postmaster Tools for domain reputation (checked daily on active sending domains — anything below "Good" triggers investigation). Weekly: open rate trend per inbox (a sudden drop signals filter change). Tools: Bison native, Google Postmaster Tools, Mailreach warmup scoring for inbox health between campaigns. Key metric hierarchy: domain reputation → bounce rate → spam complaint rate → open rate → reply rate. A falling open rate with stable bounce is a content/spam filter issue. A rising bounce rate is a list quality issue. Different diagnosis, different fix.
Q
What's your acceptable bounce rate threshold, and what do you do when you exceed it?
Hard bounce threshold: 2%. Above 1.5% triggers a list audit before the next send. Above 3% = pause the campaign, investigate list source, re-verify the segment with a bulk email validator (NeverBounce or ZeroBounce) before resuming. Soft bounces monitored separately — a spike in soft bounces often precedes a domain reputation hit. When we exceed threshold: (1) stop sending from affected domain, (2) scrub the list segment that generated the bounces, (3) re-warm the affected inbox for 5–7 days before resuming at reduced volume.
Q
When a campaign starts hitting spam, what's your diagnostic process?
Diagnostic order: (1) Domain reputation — Google Postmaster Tools first. If domain is flagged, stop sending immediately. (2) Volume — did we exceed safe daily limits? Standard cap is 40–50 per inbox per day; anything above that accelerates reputation damage. (3) Content — run the email body through a spam checker (Mail-Tester), look for link count, spam trigger words, HTML formatting. (4) List quality — are we hitting honeypots or invalid addresses that are feeding spam trap networks? (5) Engagement ratio — low open + zero reply = filter learning signal. We check in this order. Skipping to "the copy is bad" without checking infrastructure first wastes time.
Q
What's your decision framework for rotating or retiring a domain or mailbox?
Retire: domain reputation hits "Bad" in Postmaster Tools, sustained bounce rate >5%, or domain appears on major blacklists (MXToolbox check). Once retired, the domain is not reused — reputation damage is permanent. Rotate: after 6–9 months of active campaign sending, or when open rates drop more than 40% from baseline without a content explanation. Rotation means pulling the inbox out of active sends and running it on warmup cadence for 3–4 weeks before reactivating. We always have 20–30% of the inbox pool in warmup at any given time so rotation doesn't kill send volume.

Signal-Based Targeting & Timing

Q
Beyond owner age or years in business, what less intuitive signals correlate with M&A transaction readiness?
Six signals we use or are building for this engagement: (1) GovCon contract wins — revenue just validated on public record, owner is in a winning moment. (2) LinkedIn job postings for "General Manager" or "Operations Manager" — owner delegating operational control = classic exit prep behavior. (3) Recent debt payoff via UCC filing update — cleaning the balance sheet before a sale. (4) LinkedIn Ads spend spike — investing in growth signal = either confident in business or preparing for sale at higher multiple. (5) BizBuySell/BizQuest active listing — explicit sell signal, sell decision already made. (6) Google Reviews volume push — owner actively building a presentable reputation score, often pre-sale. The common thread: any action that makes the business look better to a third party can be a preparation signal.
Q
How do you operationalize those signals?
Each signal becomes a list segment with its own campaign. Signal → list source → specific email variant. GovCon: SAM.gov/USASpending.gov API → filter by NAICS + state + recency → AI Ark for owner contact → Track C campaign. BizBuySell: scraper → active listings → Track B campaign. LinkedIn job postings: Apify actor → company list → normalize → qualify → custom copy mentioning the hiring pattern. Signal stacking: a company that appears in both LinkedIn jobs data AND GovCon awards gets highest-priority treatment — multi-signal = higher intent, shorter sequence, more direct CTA.
Q
When you layer signals into segmentation, how does that change copy, sequence length, or send timing?
Signal strength inversely controls sequence length and offer friction. Cold, no signal → 3-email sequence, 2-day / 5-day gaps, info-pull CTA. BizBuySell listed (explicit signal) → 2 emails, direct CTA, faster gap (2 days only). GovCon winner → 2 emails, contract-specific opener, 30-day timing window (must send within 90 days of award). Copy changes by signal: cold email never references why we're reaching out; signal-based email opens with the specific trigger ("I saw the contract award…", "I noticed you're listed on BizBuySell…"). Signal recipients expect personalization — cold recipients don't. Different grammar for different trust levels.

Copywriting & Sequence Architecture

Q
When you sit down to write cold email for a new vertical, what's your actual process?
Five steps, always in order. (1) Voice of Market — Reddit, forums, review sites. Pull exact language: what they fear, what they want, what they distrust. This is the raw material. (2) Market data — what's actually moving in this vertical right now. Multiples, deal volume, named active buyers. Numbers that will surprise them. (3) Objection mapping — identify the top 2 fears from VoM. These get resolved in Email 2 and Email 3, not Email 1. (4) Permissionless value framework — Email 1 delivers intelligence with no ask. No pitch. No mention of fees. Just data they don't have. (5) CTA ladder — Email 1: info-pull ("reply and I'll send you comps"). Email 2: soft ask (process walkthrough, no obligation). Email 3: direct ask (confidential call). The ladder earns the direct ask instead of opening with it.
Q
What does your typical sequence look like? How many emails, how much time between?
3-email standard sequence. Email 1 → wait 2 days → Email 2 → wait 5 days → Email 3. No fourth email. After three touches with no reply, the contact exits the sequence — no "bumping" the thread, no "just checking in." That's the LeadGrow standard: 3 emails at 2d/5d cadence. For warm/signal tracks, 2 emails with a 2-day gap only — they're already primed, extra touches feel like pressure. Sequence length reflects confidence in the list: long sequences are a hedge for weak targeting. Strong targeting = shorter sequences.
Q
What's your philosophy on personalization?
Signal-level personalization scales. Individual-level personalization doesn't. We don't write bespoke emails for each prospect — that's a different service and a different price point. What we do: industry-specific copy (HVAC owner reads different from manufacturing owner), geography-specific data (SE multiples, named SE acquirers), trigger-specific openers (contract award, active listing). AI Ark produces per-lead personalization fields (situation line, value line) for highest-intent segments — but that's reserved for the top 10% of the list, not the full send. Personalization hierarchy: vertical > geography > signal > individual. Most lift comes from vertical + signal. Individual hyper-personalization adds cost without proportional return at this list size.
Q
For audiences drowning in PE outreach, how do you structurally differentiate beyond just better copy?
Four structural choices that PE blasts don't make: (1) Plain text, no HTML. PE sends formatted templates. Plain text looks like an individual reaching out. (2) No links in Email 1. Every PE/aggregator email has a calendar link or website link. Email 1 with zero links looks nothing like acquisition outreach. (3) Sender identity. Send from a personal-style domain (firstname@[client-domain-variant].com), not a corporate brand. Feels like a person, not a firm. (4) Lead with data, not intent. PE email structure: "We're interested in acquiring businesses like yours." Our structure: "HVAC businesses in SE are trading at 10x EBITDA — here's the data." The structure communicates a different relationship before a single word is read.
Q
What's your testing methodology and cadence for copy performance?
Single variable at a time, minimum 100 sends per variant before reading, 500 before calling a winner. Test order by impact: (1) offer/CTA — highest leverage, changes who replies; (2) subject line — changes open rate, not reply quality; (3) Email 1 body — once subject is locked; (4) sequence gaps — lower impact, test last. Review cadence: weekly check at day 7 and day 14, call winner at day 30 or 500 sends, whichever comes first. For this campaign: first test is Email 1 CTA (info-pull vs. market timing call). Control is free valuation — the saturated benchmark we're testing against. Don't blend losing elements into a new variant; kill the loser cleanly and move on.

Offer Strategy & Conversion Path

Q
How do you decide what offer to lead with for a given audience?
Offer friction must match intent signal. The framework: (1) What does this person have to give up to take the offer? (2) What's the minimum commitment required? First touch for a cold prospect should require nothing except a reply. "Reply and I'll send you the data" requires zero scheduling, zero trust, zero commitment. That's the floor for cold Email 1. As intent signal strengthens, CTA can ask for more: BizBuySell-listed prospects can be asked for a call in Email 1 because they're already in sell mode. The mistake is leading with high-friction offers (book a call, schedule a valuation) to cold audiences — it reveals you're optimizing for your pipeline, not their interest.
Q
For long-cycle, high-trust sales like M&A advisory, do softer entry points outperform direct meeting requests?
Yes, for cold — no, for warm. Cold first touch: info-pull (send me comps, send me buyer data) outperforms meeting request. The mental model a cold owner has is "broker wants to pitch me." A request for a meeting confirms that model. A request to send them data breaks it. For warm (BizBuySell listed): they've already decided to sell. A direct CTA asking who's buying in their sector converts fine because the trust threshold is lower — they want to be found. The free valuation (industry standard) performs worse than both because it's saturated — every broker offers it, so it triggers "this is a sales funnel" recognition before they've read the email.
Q
Do you ever build multi-channel sequences where email triggers a LinkedIn touch or vice versa?
Yes — email-first, LinkedIn as reinforcement. Sequence: Email 1 sent → if no reply after 3 days → LinkedIn connection request (no message, no note — just presence). If they accept → Email 2 references the connection as social proof of identity ("connected on LinkedIn" adds legitimacy). If they reply to email → LinkedIn message as a secondary channel to confirm meeting or share a resource. Technical coordination for this engagement: manual for the first 90 days at this list size. Scaling to Expandi or Lemlist for automation once the email sequence is proven. LinkedIn is supplementary for M&A — founders of $10M+ businesses are not monitoring LinkedIn the way salespeople do. Email remains primary. LinkedIn makes the name familiar before the second email hits.

Measurement, Optimization & Campaign Management

Q
What does your reporting cadence look like for an active campaign?
Daily: bounce rate, spam complaint rate, domain reputation via Postmaster Tools. Flags anything infrastructure-related before it compounds. Weekly: open rate per inbox, reply rate, positive reply rate, meetings booked. This is the performance layer — copy and offer decisions come from here. Monthly: cost per meeting booked, sequence drop-off analysis (where in the 3-email sequence are people exiting?), list segment performance comparison (which industries / geographies are converting?). Reporting lives in the Bison dashboard + a shared Google Sheet with weekly snapshots. Client gets a weekly summary: sends, opens, replies, meetings. No vanity metrics — everything ties to meetings booked.
Q
What benchmarks do you hold yourself to, and do they vary by vertical?
Yes, they vary. For M&A advisory to LMM owners specifically: open rate 35%+ (plain text, good subject), positive reply rate 1–3% of sends (high-trust sale, long cycle, normal to be lower), meeting booked 0.3–0.8% of sends. Warm track (BizBuySell listed): positive reply rate 4–8% — they're already in sell mode. GovCon track: targeting 2–5% positive reply — specific trigger opener earns more attention. For comparison, SaaS cold email benchmarks 5–10% reply rates — M&A advisory is lower because the decision is irreversible and high-stakes. Holding a lower benchmark for this vertical isn't underperformance; it's the nature of the sale. What matters is meetings booked, not raw reply rate.
Q
When a campaign is underperforming, what's your triage process? What do you change first?
Change order: infrastructure → list → subject → copy body → offer. Most underperformance is blamed on copy when it's actually a list or deliverability problem. Diagnostic: (1) Are emails landing in inbox? (Check open rate — if <20%, it's a deliverability problem, not a copy problem.) (2) Are opens converting to replies? (Open rate healthy but reply rate low = copy or offer problem.) (3) Is the segment right? (Low open rate on a specific industry/state segment = list quality, not copy.) (4) Is the subject working? (A/B test subject before touching body.) (5) Is the offer right? (Replies to E1 but no meetings = offer mismatch in the CTA.) Never change copy and list simultaneously — you can't read the result. One variable, one change, minimum 200 sends before re-evaluating.
Q
At what point do you kill a campaign versus iterate on it?
Kill criteria: positive reply rate below 0.3% after 1,000+ sends AND three copy iterations exhausted AND list has been scrubbed. If all three are true — the audience doesn't respond to this approach at scale, or the ICP is wrong. Never kill before 1,000 sends — sample size is too small for M&A advisory where the universe is smaller and decision cycles are longer. Never kill after one iteration — the first version of any campaign is a hypothesis, not a final answer. Iterate when: there are green shoots (some replies, some meetings) but volume is low. Green shoots mean the message works; the problem is scale or targeting precision. Kill when there are no green shoots after a full test run. For this engagement: warm tracks (B and C) get 500-send kill threshold; cold track (A) gets 1,500 sends minimum before kill consideration.

Action Items

Prioritized. P0 = blocks campaign launch. P1 = blocks full track activation. P2 = enhances but not required for first send.

01
Client intake call — 2 questions
What separates them from Topsail, Purpose Equity, Viking Mergers? (unlocks "why us" copy in E2+E3) · Preferred first-step offer — comp data drop, market timing call, or free valuation? (finalizes Email 1 CTA)
Blocks: E2, E3 final copy · E1 CTA
P0 — Now
02
BizBuySell + BizQuest scrapers
Scrape active SE listings (SC/NC/GA/FL/TN), filter revenue $1M–$30M. Two outputs: (1) Track B warm list with owner contact, (2) real transaction comps for cold track messaging and niche calculator data.
Blocks: Track B launch · Calculator
P0 — Now
03
SAM.gov / USASpending.gov GovCon feed
Pull awards via public API. Filter: SE states + ICP NAICS codes + award $200K–$10M + 30–90 day recency. Cross-reference company → owner via AI Ark. Output: Track C warm list, refreshed weekly.
Blocks: Track C launch
P0 — Now
04
Track 2 voice-of-market — advisor language
Reddit deep-dive targeting CPA/attorney/wealth manager communities: how they think about client exits, referral partnership language, what they distrust about M&A brokers. Needed before advisor track copy is written.
Blocks: Track 2 (1,500/day advisor) copy
P1 — Next
05
Niche calculator — 3-input, real comps, named buyers
Industry + state + revenue range → sale range estimate, active buyer count, timing indicator, 2 named active acquirers. Built from BizBuySell/BizQuest data (action item 02). Host on Vercel, link from email CTA as async offer alternative.
Blocks: Calculator offer variant
P1 — Next
06
PE cold email audit — what's already landing in owners' inboxes
Source examples of PE/aggregator cold outreach to SE business owners (Reddit, LinkedIn, forum posts). Map their patterns — subject lines, CTAs, angles. Structural differentiation requires knowing what we're differentiating from.
Informs: E3 PE screening angle
P2 — Later
07
Finalize pipeline brief and run gtm-orchestrator
Once items 01–03 complete: freeze brief, run DiscoLike on seed domains from client's 3 signed customers, configure Stage 4 (AI Ark people), Stage 7 (dual-agent copy with final emails). Campaign → Bison. Gate at 9g before send.
Campaign launch gate
P1 — After 01–03