How a B2B Agency Booked 47 Calls in 30 Days with Cold Instagram DMs
A breakdown of the targeting, scripts and cadence a lead-gen agency used to turn 3 warmed Instagram accounts into 47 booked calls in a month.
A B2B lead-gen agency ran cold Instagram DMs across 3 warmed accounts for 30 days. They worked one tight list of about 1,500 hand-checked prospects, opened with a reply-first message that referenced each prospect's own content, and booked 47 sales calls. Zero accounts were banned. The result came from list quality and warmup discipline, not volume.
The starting point
The agency was not new to outbound. They ran cold email and cold calling for B2B clients, and both channels were getting harder. Inboxes filtered more aggressively. Calls went to voicemail and stayed there.
So they tested a channel their prospects actually checked daily: Instagram.
They came in skeptical, which is the right way to come in. The plan was small on purpose. Three accounts, one niche, one offer, 30 days. If it worked, they would scale. If it flopped, they would have lost a month and learned something.
Everything below is anonymized at the client's request. No company name, no screenshots. The numbers are what the client reported from this one campaign.
Who they targeted, and how
This is the part most people get wrong, so it goes first.
They did not buy a list. They did not scrape 50,000 handles and blast them. They built a list of roughly 1,500 prospects around a single signal: people actively posting about the exact problem the offer solved.
That signal matters. A founder complaining about the problem this week is a warmer prospect than a founder who simply fits a job title. The agency hand-checked every account: real person, active in the last 30 days, decision-maker or close to it, clearly in the niche.
That filtering is slow. It is also the whole reason the campaign worked. A tight, qualified 1,500 will out-convert a sloppy 15,000 every time, and it keeps the accounts safer because you are not messaging dead or irrelevant profiles.
The exact message sequence
The script was built to start a conversation, not close a deal. Nobody books a call off a cold pitch in a DM. They book a call after a short, human exchange.
Three touches, spaced out. Here is the shape of each one. The bracketed parts are personalization the agency filled in per prospect.
Day 0, the opener. Referenced the prospect's own content, then asked one easy question.
Hey [name], saw your post on [specific thing they posted about]. Quick one: are you handling [the problem] in-house right now, or is that on someone else's plate?
No link. No pitch. One question a real person can answer in five seconds.
Day 2, the nudge. A single specific insight, then a soft re-ask.
Reason I asked: most [niche] folks we talk to are stuck on [specific bottleneck]. We found [one concrete insight]. Worth a quick chat or not really your focus right now?
Day 5, the close. Short, no pressure, easy to say yes to.
No worries if the timing's off. If it's useful, I can walk you through how [peer type] is handling it in 15 minutes this week. Want me to send a couple of times?
That was it. Three messages. If someone replied at any point, a human took over and the sequence stopped.
The 4-week timeline
The campaign was not flat. It ramped. Here is roughly how the four weeks ran.
Week 1: warmup only, zero cold DMs. All three accounts spent the week warming up. Light activity, normal-looking behavior, gradual volume. No prospect got a message yet. This is the step people skip and then wonder why they get banned.
Week 2: first sends and early replies. They opened the taps slowly, a small number of openers per account per day. Replies started landing within 48 hours. The day-2 nudge picked up a second wave of responses from people who had read the opener but not answered.
Weeks 3 to 4: scaling to 47. With accounts behaving and reply rates holding, they raised daily volume carefully and worked the full 1,500. The follow-ups did real work here. A meaningful share of booked calls came from the day-2 and day-5 touches, not the opener alone.
One thing nearly went sideways. Around week 3, one of the three accounts got a soft warning from Instagram. They did not panic and they did not push through it. They cut that account's daily volume hard, let it cool off, and leaned on the other two. It recovered and finished the campaign. None of the three accounts was banned.
The numbers
What the client reported across the 30 days:
| Metric | 30 days |
|---|---|
| Prospects reached | 1,500 |
| Accounts used | 3 (warmed) |
| Reply-to-call rate | 6.2% |
| Calls booked | 47 |
| Accounts lost to bans | 0 |
The math
This is arithmetic, not magic.
Start with 1,500 prospects across the full three-touch sequence. A solid chunk replied, which is normal when the list is hand-qualified and the opener references real content. From everyone who entered the conversation, about 6.2% of the total list converted into a booked call.
1,500 prospects times roughly 6.2% reply-to-call equals about 47 calls.
Move any input and the output moves with it. A worse list drops the reply rate. A weaker offer drops the call rate even when replies are fine. The 47 was a function of the list, the offer, and the follow-ups, in that order.
Why it worked
Three things did the heavy lifting.
- Warmup discipline. A full week of warmup before any cold DM, and the willingness to throttle an account at the first soft warning. That is why bans stayed at zero. See the Instagram warmup schedule for the pacing.
- Targeting over volume. A hand-checked 1,500 beat the instinct to blast thousands. Quality of list set the ceiling for everything downstream.
- Reply-first messaging. The opener asked a question instead of pitching, and the follow-ups added value instead of nagging. That is the approach behind tripling reply rates on cold DMs.
Running three accounts in parallel without tripping limits is its own skill. The agency's setup mirrors what is covered in multi-account Instagram outreach, and the end-to-end structure maps to the cold DM playbook.
Is this typical?
Honest answer: no single number is guaranteed.
6.2% reply-to-call is a good outcome, not an average you should bank on. It came from a specific niche, a specific offer that people actually wanted, and a list that was hand-built rather than scraped.
Change those inputs and the result changes:
- Weak offer. Good DMs cannot save a product nobody wants. If the offer does not land, you will get polite replies and no calls.
- Loose list. Broad targeting drops reply rates fast and raises ban risk because you message irrelevant accounts.
- No warmup. Skip it and you trade a slower start for a faster ban.
Treat 47 calls in 30 days as proof the channel can work when the fundamentals are right, not as a quota you will hit by copying the templates.
InstaOutreach handled the unglamorous parts of this campaign: the account warmup, the daily sending limits, and the three-touch sequencing across all three accounts. The targeting and the offer were the agency's. That split is the point. The tooling keeps accounts safe and the messages on schedule. The results still come from who you message and what you offer.