Micro campaigns in B2B services: 89% LinkedIn reply rates, 8x the average
How small, high-intent LinkedIn micro campaigns hit 70–89% reply rates for a B2B services firm, against an industry average of about 10%, and how setters turned the replies into booked calls.

In short
The average LinkedIn outreach campaign gets about 1 reply in 10. Our micro campaigns for a B2B services firm got 7 to 9 in 10. Here's how we build a micro campaign: tens of people, one strong shared signal, a message that names it, and a small offer. Then a setter team turns the replies into booked calls.
89%
Best reply rate
~50%
Average reply rate
20+
Booked meetings
01. The client
The client is a B2B services firm. They sell a high-touch service to [TODO: confirm buyer, e.g. MSPs, B2B agencies and venture-backed tech companies] in the UK and US. At their request we’ve kept the company and everyone in it anonymous.
Their problem is a common one for services businesses. If you message a cold founder or CEO with “we’ll automate your sales funnel, can we get on a call?”, you get ignored. They get hundreds of messages like that. The service was good. The trouble was the ask: a sales call is too big a request from someone who has never heard of you.
The brief was to build a repeatable way to find buyers who already show the problem, start a conversation, and move them to a booked call without burning the market.
02. The benchmark: about 1 reply in 10
Most LinkedIn outreach gets ignored. Expandi’s 2026 benchmark, built on 13.2 million data points, puts the average message reply rate at 10.4%, with 28.5% of connection requests accepted. Alsona’s benchmark calls 10–15% healthy and 30–40% exceptional. Both measure replies against messages sent after the connection is accepted, which is the same way HeyReach measures ours.
Here’s how our micro campaigns compare:
| Connection acceptance | Reply rate | Against the 10.4% average | |
|---|---|---|---|
| LinkedIn average (Expandi) | 28.5% | 10.4% | 1x |
| “Exceptional” (Alsona) | n/a | 30–40% | 3–4x |
| Our micro campaign A | 67% | 89% | 8.5x |
| Our micro campaign B | 41% | 70% | 6.7x |
| All our campaigns, one week | 60.5% | 49.1% | 4.7x |
So even our broad campaigns reply at well above the “exceptional” line, and the micro campaigns more than double it. The rest of this case study is how we build them.
03. What a micro campaign is
A micro campaign is a short list of tens of people, not thousands, who all share one strong, recent signal. Attending the same event is the best one we’ve found. Because everyone on the list has the same reason to care, every message can name that reason directly.
We build each one with an equation:
Signal + message + offer (lead magnet) + avatar = reply → meeting
- Pick one high-intent signal. It has to be recent and specific: registered for an industry event, posted about the exact problem, commented on a competitor’s post about it, or visited the pricing page. A signal like “fits the ICP” isn’t strong enough for a micro campaign.
- Keep the list small. Only take the people who show the signal. A small list means you can check every lead and personalise from the signal data.
- Name the signal in the opener. “You’re going to X, so you probably have Y.” If the message doesn’t say why you’re getting in touch now, it’s just another cold message.
- Offer something small. A free report on their buyers, a webinar seat or a short video. Never a calendar link in the first message.
- Test one variable at a time. Change the signal, the message or the offer, never all three. Otherwise you won’t know what moved the reply rate.
- Promote or cut every week. We run four to six micro campaigns at once, each with a different signal. Once a week, the ones that beat the benchmark get more senders and the rest get rewritten or cut.
The high reply rates didn’t come from clever copy. They came from the signals. If someone is going to a specific event, they clearly have the problem, so the message has a reason to exist.
Where micro campaigns fit. Micro campaigns are the tier 2 of a wider three-tier engine. Broad tier 3 campaigns keep the pipeline full, micro campaigns start the best conversations, and tier 1 hand-raisers go straight to a human.
04. The tier system
Each lead is sorted into a tier when it comes in. The tier decides who contacts them (automation or a human), what they’re offered and how personal the message is.

| Tier | Who’s in it | Example signals | Who handles it | Offer | Message angle |
|---|---|---|---|---|---|
| Tier 3: wide net | Anyone who fits the ICP, at volume | Fits the ICP (e.g. a scraped list of 15,000 UK MSPs), engaged with a competitor’s posts, followed a competitor, commented on a lead magnet post | Automated LinkedIn sequence | Broad lead magnet, mainly a live webinar | Light and curious: “saw your comment / saw your setup, curious how you’re finding it”, then an invite to the webinar |
| Tier 2: micro campaigns | People showing a specific, relevant signal | Registered for or attending an industry event, commented on a post about the problem, posted about the pain point (Reddit or LinkedIn), visited the pricing page, a hiring or job-change signal | Automated but custom sequence, personalised from the scraped signal data | A free, data-driven report on their buyers, or a direct pitch | Names the signal and the pain it suggests: “you’re going to X, so you probably have Y” |
| Tier 1: hand-raisers | People who have said they need help | Asked outright (“is anyone a GTM engineer? I’m looking for help”), engaged with a product demo post, replied to any sequence | No automation. Sent straight to Slack and tagged to a human | A conversation and a call | Human, specific, fast |
Why the tiers matter: each tier gets the attention its intent deserves. Tier 3 gets your name in front of the whole market cheaply. Tier 2 is the micro campaigns, where reply rates jump, because the message has a real reason to exist. Tier 1 is never left to a bot.
Slack is kept for things that need action now. Only tier 1 leads and replies go to the setters’ channels. Everything else stays in the CRM. If every tier 2 lead pinged the channel, the hot leads would get lost in the noise.
Competitor engagers. One of the most dependable tier 3 pools is people who like or comment on competitors’ posts. Competitors keep posting about the problem, and the people who engage are telling you they care about it. We scraped those engagers and gave them the broad offer. [TODO: confirm which competitors were tracked and what share of campaigns used this signal]
05. The lead magnet flow
Replies don’t go straight to a calendar link. They go to a lead magnet first, which turns cold traffic into warm traffic.

What we tested:
- Assessments. These flopped on cold traffic. The format is overused and feels like a sales pitch.
- Live webinars. These worked as the default tier 3 offer. The pitch was “we’ll walk through this exact process”.
- A free report. This is a data-driven report on the prospect’s own buyers and market, and it was the main tier 2 offer.
- Founder videos and blogs. These worked as a nurture step before asking for a call. Sending one of the founder’s videos first got a better response than asking for a call straight away.
The flow:
- A prospect replies to a sequence.
- The setter sends a mini lead magnet page. Each campaign or audience has its own page, e.g. one for each vertical, one for the webinar and one for the newsletter.
- The page collects name, email and phone number before handing over the report or the webinar seat.
- The details go straight into the CRM (Attio), and a follow-up sequence starts that matches what they signed up for.
- Depending on the lead, the follow-up is a webinar reminder, a relevant video, or a call from the setter. Getting the phone number is what makes the call possible.
Content supports the flow. The setters also posted lead magnet content from their own LinkedIn profiles. Those posts went from about 30 impressions to 100–200 per post. One tip: don’t write “comment X below” in the post copy, because LinkedIn suppresses it. Put the call to action in the image.
06. The setter workflow
A team of setters manages the leads and gets them onto a call. Each setter runs their own LinkedIn sender, and the system routes leads and tasks to them. [TODO: confirm number of setters]
Step by step:
- Set up the profile first. Each setter’s LinkedIn profile is set up for one niche, so a prospect who clicks through sees someone who clearly helps businesses like theirs. Setters post at least five times a week to build trust.
- Write the campaign before you build it. Each setter owns about five campaigns. Each one is a written plan: the signal, the message and the lead magnet the replies go to.
- Run it in HeyReach. The usual sequence was: like a post, view the profile, send a connection request, send an opener once they accept, send a value follow-up (the webinar or “we can map where your buyers spend time”), then a soft breakup message with a curiosity hook.
- Route the replies. Replies sync from HeyReach into Attio so the lead’s status stays current. The reply also posts to that setter’s Slack feed with a tag, so nothing waits.
- Give value before asking for a call. The setter replies by hand and sends the lead magnet, a video or a blog. They don’t send a calendar link at this point.
- Book the call. Once the prospect has engaged with the lead magnet, the setter books a call with the closer and gets copied in. New setters sit in on the first few calls before they run any themselves.
- Follow up from the call. Calls are recorded. The first call is followed by a custom signal report, which earns the second call, and the deal is closed after that. Call transcripts go back into the system, so follow-ups can reference what was said (“they mentioned X, we have a webinar on X”).
- Review every week. A daily stand-up covers blockers. Once a week, each sender and campaign is compared against benchmarks for acceptance and reply rates. Campaigns that beat the benchmark get scaled, and the rest get rewritten or cut.
Setters were paid commission on deals that came from their own process, meaning leads they brought in or calls they booked after the DM. [TODO: confirm whether to publish commission details]
07. Results
- Micro campaigns: 70–89% reply rates, 6.7x to 8.5x the LinkedIn average of 10.4%.
- All campaigns: 49.1% reply rate over seven days (85 of 173 leads messaged), with 60.5% of connection requests accepted and 63 leads tagged as interested.
- Meetings: 20+ booked meetings.
- Where replies went: replies were funnelled into lead magnets, and setters booked calls from there. [TODO: confirm reply to lead magnet to meeting conversion rates]
08. What we’d tell anyone copying this
- Go micro first. One sharp signal on a list of tens beats a big generic blast. You can make the list bigger once you’ve found what works.
- Don’t ask for a call on cold traffic. Offer a webinar, a report or a video first. Once they’ve taken it, asking for a call is easy.
- Test one variable at a time. Change the signal, the message or the lead magnet, never all three in one campaign. Otherwise you won’t know what moved the reply rate.
- Keep humans on the hot leads. Automation handles tiers 2 and 3. Tier 1 and every reply goes to a person.
- Scale senders, not messages. Once a campaign works, add more setters running it to their own networks, rather than sending more messages from one account.
Stack used: LinkedIn (Sales Navigator for lists), HeyReach for sequencing, Apify for scraping post engagers, Attio as the CRM, Slack for lead routing and setter feeds. [TODO: confirm whether Clay, Expandi or OXYGEN were used. None of them came up in the calls]
Book a strategy call with our GTM engineers
We look at your market together and show you the moves worth making first, on your own or with our engineers.
Keep reading

What Are Buying Signals? All 27 Types, With the Public Record Behind Each One
Fit tells you which companies could buy. Only a signal tells you when. A buying signal is a change, at a named company, on a known date, that you can go and check for yourself. This is the full landscape of 27 signal types in nine groups, the public record behind each one, and why several signals landing on the same company inside a week is the thing worth acting on rather than any single alert.
Harshil Jani
Alpha: The Economic Driver of GTM
Every revenue channel has a period where it is underpriced, underexploited, or not yet saturated. Whoever finds that window first gets an advantage, whoever executes it better turns the advantage into revenue, and whoever systemises it makes the whole thing repeatable. Traders have had a word for this for a long time, and alpha turns out to be the most useful way to think about gtm as well.
Roman J. Georgio
The MSP AI Maturity Framework: How AI-Native Is Your GTM?
Most teams calling themselves AI-native are at L1. It's the same scattered go-to-market, just typing faster. The AI Maturity Framework has six rungs: Manual, Assisted, Integrated, Owned, Connected, Autonomous. Each rung has a specific wall above it. No context graph, no named owners, no command centre, no trust in long-horizon loops. Locate your rung honestly, find the wall directly above you, and build the one thing that clears it. Adding more agents is the generic wrong move at every level.
Sebastian Lourenço