In short
- One profile worked by hand sends about 700 connection requests a month, and everything downstream is multiplication from that ceiling.
- LinkedIn does not publish its invitation limit, so the design rule is headroom and an even pace.
- Keep one profile in one place. A consistent sign-in history is part of the setup.
- A month of outreach is a small sample, and most A/B results at that size are noise.
- Follow-ups are timers. Put them in a scheduler and not in someone's memory.
Outreach has a capacity, so plan like it
Many outreach plans start from the goal, say ten new clients, and work backwards to a message count nobody can send. A better start is the capacity of one profile. A person working a profile by hand at a safe pace sends about 700 connection requests a month. That number is a ceiling set by LinkedIn's limits and by how much a human can personalise in a working day, and it does not stretch because a target needs it to.
Everything downstream is multiplication. At the rates I plan with, half of the requests are accepted, which is 350 people you can message. Add 60 InMails and 80 Open Profile messages, which reach people without a connection, and about 490 people get a message. At a 4% meeting rate that is 20 meetings, and closing 10 to 15% of them gives two or three clients.
Swipe sideways to see the whole figure
Because the stages multiply, an improvement at any stage moves every stage after it by the same percentage. Raise acceptance from 50% to 60% and meetings go from 20 to 22. Raise the meeting rate from 4% to 5% and they go to about 25. The meeting rate has more room to move, and it depends on the message and on who you picked.
These are planning numbers for one managed profile, not guarantees. They come from the rates I work to, and your list, your offer and your market will move them.
A limit you cannot see
LinkedIn limits how many invitations an account can send, and it does not publish the number. The ceiling is hidden, it can change, and it is not the same for every account. That makes it an unknown rate limit, and the standard way to live with one is headroom: stay well under where you think the line is, and spread the work evenly.
Spreading matters as much as the total. The same 700 requests sent in four heavy days and the same 700 spread at 35 per working day look nothing alike to a system that counts a rolling seven days. The burst puts 700 inside one window, and the steady schedule never puts more than 175 in any window. It is the logic of a token bucket, which any API client uses: capacity refills at a steady rate and you spend from it evenly.
Swipe sideways to see the whole figure
One profile, one place
Security systems commonly watch for impossible travel: a sign-in from one country followed minutes later by a sign-in from another. If an operator in a different country opens a client's profile directly, the account's history can look exactly like that.
That is the reason we buy a dedicated IP in the account owner's own country and work the profile only from there. The history then shows one consistent place, the same as if the owner had been working. It is a small piece of infrastructure, and it removes a signal that can get an account flagged.
Swipe sideways to see the whole figure
Access is agreed with the owner before we start, they can revoke it at any time, and they can see every message sent from the profile.
Small samples and the A/B test that proves nothing
A message template is a hypothesis, and a month of outreach is a small experiment. Say template A is accepted 45% of the time and B 55%. With 20 sends each, a test will pick the wrong winner about one time in four. The noise in a measured rate is roughly the square root of p times (1 minus p), divided by n. At 50% and 20 sends that is 11 percentage points, as big as the gap you are trying to see.
Swipe sideways to see the whole figure
To separate a ten point difference with 80% power you need about 390 sends per version. Two versions is 780 sends, which is more than one profile sends in a month, so a single profile cannot finish even one honest test of that size in the time.
So test fewer things and test bigger differences. Compare two clearly different openings and not two phrasings of the same one. Treat a small-sample result as a hint about what to try next, and say so when you report it. Several profiles pool their samples, which is one of the real reasons to run more than one.
Follow-ups are a scheduler
A lead who says to try again in two months is a timer. Without a system the timer lives in someone's head and never fires. A delayed queue fixes it: when the lead is marked, write the due date, and each morning read everything that is due today. The operator's list is the result.
-- run each morning
SELECT lead_id, note
FROM follow_ups
WHERE due_on <= CURRENT_DATE
AND done_at IS NULL
ORDER BY due_on, priority;Swipe sideways to see the whole figure
It is also how the Lead Tracker works for the profiles we run: mark a lead to resurface in two weeks or two months, and it lands on the operator's list that morning.
What I would measure
- Acceptance rate by template and by segment, with the number of sends next to every rate.
- Replies and meetings per 100 messages sent, so months of different size can be compared.
- Days from acceptance to first message, because a long gap lowers replies.
- Follow-ups due against follow-ups done each week.
- Restriction or warning events, which should be zero and are worth an alert.
Sources
- Managed LinkedIn outreach: the planning numbers used in this article
- Evan Miller, Sample size calculator for A/B tests
The animated figures are simplified illustrations that use the numbers stated in the text. Where a figure is modelled on a real incident, the sources above are the full accounts.
