Case study: how an agency manages 200 LinkedIn outreach accounts
Case study: how an agency manages 200 LinkedIn outreach accounts
this case study is based on a setup I helped architect for a B2B lead generation agency in late 2024. the agency runs outreach campaigns on behalf of SaaS and professional services clients across Southeast Asia and the UK. their model is simple: they take over LinkedIn prospecting entirely, delivering qualified meeting-ready leads to clients on a monthly retainer. when I got involved, they had about 40 accounts running and were about to try scaling to 200. what followed was six months of iteration, tool changes, one major account ban wave, and a system that now runs reasonably well.
the headline result: 200 accounts active across 18 client campaigns, generating an average of 22 qualified meetings per client per month, at a fully-loaded cost of about SGD 380 per month per account. connection acceptance rates sit between 26 and 31 percent. reply rates on first messages after acceptance average 8.4 percent. those are the real numbers.
i want to be upfront: running LinkedIn automation at this scale sits in a grey area. LinkedIn’s User Agreement explicitly prohibits automated tools that scrape data or send messages without prior consent. every operator in this space knows this. the agency accepted the risk, built in redundancy to handle ban waves, and structured client contracts accordingly. this case study explains what they built, not whether you should replicate it.
the setup
the core stack as of Q1 2025:
accounts and identity layer - 200 LinkedIn accounts, mix of aged (2+ year old profiles bought from brokers, USD 40-80 each) and freshly warmed accounts (built in-house over 8-10 weeks) - each account assigned a unique residential proxy via Smartproxy’s residential rotating pool, locked to a single exit IP per account using sticky sessions. cost: roughly USD 0.10-0.14 per GB, with each account consuming around 1-2 GB per month - GoLogin as the antidetect browser, managing separate browser profiles per account. annual plan works out to about USD 2.40 per profile per month at the 200-seat tier. for more detail on how antidetect browsers handle LinkedIn fingerprinting, the antidetectreview.org/blog/ has done comparative testing across GoLogin, Multilogin, and AdsPower that’s worth reading before you pick one.
automation layer - Expandi as the primary sequence tool. pricing at scale (200 seats) was negotiated to USD 49 per seat per month, down from the standard USD 99. every account runs inside its own Expandi workspace - sequences are built per campaign, not per account. one campaign might have 15 accounts running identical message sequences to different prospect segments - Phantombuster used for scraping Sales Navigator search results into CSV, which then feeds Expandi. Phantombuster’s Growth plan at USD 56/month handles the volume across all campaigns
operations layer - Airtable as the campaign management hub. one base per client, with tables tracking account health (last login date, weekly connection limits hit, ban status), prospect lists (LinkedIn URL, enrichment data, sequence status), and meeting outcomes - a part-time VA in Manila (USD 600/month) handles daily account health checks, flags accounts showing warning signs, and manually logs any replies that come through outside of Expandi’s tracking - Make (formerly Integromat) for automating Airtable updates from Expandi webhooks. roughly USD 18/month at their Pro plan
total monthly cost for the 200-account operation: - proxies: ~USD 320 - GoLogin: ~USD 480 - Expandi: ~USD 9,800 - Phantombuster: ~USD 56 - Make: ~USD 18 - VA: ~USD 600 - Airtable: ~USD 45 (Teams plan) - total: ~USD 11,319/month, or ~USD 56.60 per account per month
account acquisition (aged profiles, new SIM cards for verification, Gmail creation) runs as a one-time cost of roughly USD 120-180 per account, amortized over a 12-month expected lifespan.
what worked
1. account segmentation by campaign type, not by client
early on, the agency assigned accounts to clients one-to-one. client A got accounts 1-15, client B got accounts 16-30. when one client’s campaign hit a bad patch of ICP targeting and their accounts got flagged, it created a concentrated ban event. the fix was to segment accounts by warm/cold status and sequence aggressiveness, not by client. now the 200 accounts sit in three tiers: Tier 1 (low-volume, high-trust accounts used for warm outreach and client-facing brand names), Tier 2 (medium-volume workhorse accounts), and Tier 3 (high-volume accounts that absorb the most risk). any given client’s campaign runs across accounts from all three tiers.
2. connection request limits that are actually conservative
LinkedIn’s Professional Community Policies have tightened repeatedly since 2022. the agency’s current ceiling is 18-22 connection requests per account per day, with a hard stop on weekends. that puts a single account at roughly 80-90 requests per week. most LinkedIn automation guides still cite 50-100/day. at those rates, you will burn accounts. the conservative limit means each account yields about 22-27 accepted connections per month (at ~30% acceptance), and each accepted connection gets a first message within 48 hours. no immediate pitch. first message is a 2-3 sentence contextual opener, no CTA. second message 5-7 days later if no reply, with a soft question. third message (and last) at day 14.
3. proxy hygiene as a first-class concern
every account has a dedicated sticky residential IP that does not rotate during a session. the VA checks for IP changes each morning using a simple ping script. if an account’s exit IP changes unexpectedly, the account is paused and not logged into until the proxy is reassigned. this sounds obvious but it’s where most small operators cut corners. for a deeper look at residential proxy sourcing and rotation logic, the proxyscraping.org/blog/ covers vendor comparisons and technical setups that informed the agency’s initial configuration.
4. aged account warm-up before campaign deployment
newly created accounts (not aged purchases) go through an 8-week warm-up protocol before carrying any client campaign load. week 1-2: profile completion, endorsements, posting one piece of content. week 3-4: 3-5 connection requests per day to 2nd-degree connections. week 5-6: ramp to 10/day, engage with 3-4 posts per day. week 7-8: ramp to 15/day, one InMail-style message per day. only at week 9 does the account enter a Tier 2 campaign slot. aged accounts bought from brokers still go through a 2-week re-warm (reduce activity for 3 days, then gradually restore) before campaign deployment. this protocol reduced first-month ban rates from 18% (when they launched accounts cold) to under 4%.
5. message copy rotated every 3 weeks per campaign
LinkedIn’s spam detection has pattern-matching on message content at the platform level. the agency rotates message templates every 3 weeks per campaign, with at least 40% word-level variation between versions. Expandi’s A/B testing handles the rotation. campaigns that didn’t rotate copy saw a steady decline in reply rates over 60-90 days, even with stable acceptance rates. campaigns on rotation held reply rates flat.
what broke
the June 2024 ban wave
in late June 2024, LinkedIn ran a broad enforcement sweep that took out 31 accounts in a single week. post-mortem analysis (checking Expandi logs, proxy logs, and GoLogin profile data) pointed to two accounts that had been sharing a residential IP due to a Smartproxy configuration error. LinkedIn appears to correlate accounts sharing connection graphs and IP history. those two accounts got flagged, and because they had overlapping connection lists with other accounts in the same campaigns, the flag spread. the fix: added an automated check in Make that compares assigned IPs across all 200 accounts daily and alerts the VA if any duplicates exist. cost of that ban wave: 31 accounts at ~USD 150 average replacement cost = USD 4,650, plus 2 weeks of missed campaign volume on affected clients.
Expandi’s reliability at scale
at 200 seats, Expandi’s web interface becomes genuinely painful to manage. there is no bulk account health view. checking the status of 200 campaigns means clicking into 200 workspaces. the agency built a thin dashboard in Airtable, pulling data via Expandi’s webhook outputs into Make, then into Airtable records. it works, but it’s duct tape. a proper multi-seat operator dashboard is the one feature missing from Expandi at this price point. if you’re running under 50 accounts, this isn’t a problem. at 200, plan an extra 10-15 hours of setup time to build your own monitoring layer.
Sales Navigator search result quality degradation
starting around November 2024, the agency noticed that Phantombuster scrapes of Sales Navigator results were returning increasing numbers of stale or incorrect profiles, people who had changed roles, left companies, or whose titles no longer matched the search criteria. this inflated apparent prospect list sizes and reduced real acceptance rates. the fix was adding an Apollo.io enrichment step (USD 49/month for their Basic plan) that validates job title and company data against Apollo’s database before importing into Expandi. this added cost but improved first-message relevance, and reply rates went up by approximately 2 percentage points in the following 60 days.
the numbers
at the 200-account scale (as of March 2025, the most recent full month of clean data):
- total connection requests sent per month: ~16,000 (80 accounts active per day, 20 requests each, across 30 days, minus weekends and paused accounts)
- acceptance rate: 28.4% average, range 22-35% depending on ICP and geographic target
- accepted connections per month: ~4,544
- first-message reply rate: 8.4%
- replies per month: ~382
- meetings booked from replies: ~34% conversion (this varies a lot by client’s SDR quality and offer)
- meetings per month across all campaigns: ~130
- clients: 18 active campaigns
- average meetings per client per month: ~7.2 (range: 3-22, highly campaign-dependent)
- agency revenue: clients pay SGD 4,000-8,500/month depending on volume tier and ICP complexity
- blended agency revenue per meeting delivered: approximately SGD 650-900
the CAC per meeting (counting only operational cost, not account acquisition amortization) is approximately USD 87. including account amortization it rises to around USD 105-115. for B2B SaaS clients with ACV above USD 15,000, that’s a workable CAC. for clients with smaller deal sizes it’s tight, and two clients churned in Q1 2025 citing ROI concerns.
for more on how these economics compare to other multi-account outreach channels, the /blog/ index has adjacent pieces on cold email and SMS outreach cost benchmarks that are worth reading alongside this.
lessons
1. account replacement is a cost of goods, not an emergency. budget for a 5-8% monthly account attrition rate from day one. if you’re not provisioning replacements automatically, you’ll always be scrambling.
2. the automation tool is not the hard part. Expandi, Waalaxy, Meet Alfred: they all work at a basic level. the hard part is proxy discipline, IP hygiene, and account segmentation. operators who spend most of their time comparing automation tools are optimizing the wrong variable.
3. aged accounts are worth the premium for Tier 1 use. a 2-year-old account with 300+ connections has noticeably better deliverability and acceptance rates than a fresh account, even after warm-up. for your highest-value campaigns, don’t use fresh accounts. for details on sourcing aged LinkedIn accounts and what to check before deploying them, the multiaccountops.com guide on managing multi-account setups covers verification steps the agency uses.
4. message copy matters more than most operators think. the agency’s best-performing campaigns spend as much time on message copy iteration as on ICP targeting. reply rate variance between good and mediocre copy, same list, can be 4-5 percentage points. that’s meaningful at scale.
5. clients need to understand the risk profile. this is a grey-area operation. two clients pulled out after LinkedIn published updated enforcement guidance in early 2025. structure contracts so account bans and campaign pauses are accounted for in SLAs. the agency now offers a 20% volume buffer in its delivery guarantees to absorb ban-wave disruption.
6. start with 20 accounts, not 200. the agency’s biggest mistake was trying to go from 40 to 200 in one jump. infrastructure that works at 40 breaks at 200 in non-obvious ways (Expandi UX, proxy management complexity, VA bandwidth). a staged ramp, 40 to 80 to 120 to 200, over four months, would have caught the June ban wave patterns earlier. for a breakdown of how multi-account operations scale across different channels, the /blog/multi-account-scaling-guide/ is a practical starting reference.
would I do it again
yes, with modifications.
the economics work if the client ACV justifies the meeting CAC. for high-ticket B2B (USD 15K+ ACV), LinkedIn outreach at this scale delivers qualified pipeline at a cost that competes with paid acquisition. for anything below that, the margin is thin and the operational overhead is constant.
what I’d change: I would not run this on a per-seat SaaS pricing model if starting fresh today. at 200 seats, Expandi costs nearly USD 10K/month. there are self-hosted or lower-cost alternatives (Wiza, LinkedHelper 2) that could cut that line item by 60-70% at the cost of more technical maintenance. whether that trade-off makes sense depends on whether the team has the engineering time.
I would also build the monitoring dashboard before launching, not after the first ban wave. the VA time saved by having clean account health data in one view pays for the build cost within the first month.
the hardest thing to accept about this type of operation is that LinkedIn can change enforcement patterns at any time. LinkedIn’s parent company Microsoft has consistently grown LinkedIn’s revenue through premium subscriptions and advertising, which means the platform has real incentive to suppress automation that bypasses their paid products. the risk is structural and permanent. if you’re building a business that depends on this channel, build in the contingency plans from day one.
Written by Xavier Fok
disclosure: this article may contain affiliate links. if you buy through them we may earn a commission at no extra cost to you. verdicts are independent of payouts. last reviewed by Xavier Fok on 2026-05-19.