The core idea: a list of 25 well-matched, well-researched contacts that actually gets worked will outperform a list of 500 that gets abandoned after the first page. Build for follow-through, not volume.
Step 1
Define your ICP in one sentence
Before opening any tool, write one sentence describing exactly who you sell to. Not "small businesses" or "sales leaders" — specific enough that you could hand the sentence to someone else and they'd build the same list you would.
Specific enough: "VP of Sales or Head of Sales at B2B SaaS companies, 20–200 employees, in the US, who don't already have a dedicated SDR team."
The qualifying detail at the end matters most. It's the difference between a list that's technically correct and a list where every contact actually needs what you sell.
Step 2
Pick 2–3 firmographic filters, not ten
It's tempting to filter on everything you can think of: industry, size, location, funding stage, tech stack, growth rate. Each additional filter narrows the list — and in a small dataset, over-filtering quietly removes good-fit prospects along with bad ones.
Pick the two or three filters that actually predict fit. For most small teams, that's industry, company size, and geography. Everything else is better handled in Step 6, when you're researching a specific person, not filtering a whole list.
Step 3
Search in plain language before you touch a filter tree
If your tool supports it, state your ICP as a sentence and search on that directly, rather than starting from an empty filter builder and reconstructing the same sentence one dropdown at a time. It's faster, and it keeps you anchored to the actual person you're looking for instead of the fields a database happens to have.
Step 4
Reveal in small batches and check quality before spending more
Whatever tool you're using, resist revealing your entire monthly allowance in one search. Pull 10 to 20 contacts first, and actually check them: are the titles current, is the company right, does the seniority match what you asked for. If the batch looks off, adjust your search before you spend the rest of your budget on the same mismatch.
Step 5
Score and prioritize before you write anything
Not every contact on a qualified list deserves the same effort. Before drafting a single message, rank what you have:
- Seniority — someone who can actually decide or strongly influence the purchase, not just someone with an adjacent title
- Verified contact info — a confirmed email or phone beats a guessed one; don't spend your best message on a contact you might not reach
- Fit to your ICP sentence — how closely this specific person and company match what you wrote in Step 1, not just whether they cleared the filters
Work the top of that ranking first. A short list worked in the right order beats a long list worked in the order it happened to load.
Step 6
Research each contact before the first message
This is the step most small teams skip, and it's the one that determines whether the list produces replies. Before reaching out, spend two minutes on each contact: what does their role actually involve day to day, what are they likely measured on, and what's one thing about their company right now that gives you a real reason to write to them.
A message that references something specific about the person gets answered. A message that could have been sent to anyone with the same job title gets ignored, no matter how good the list underneath it was.
Step 7
Keep the list somewhere it won't die in a spreadsheet
The most common failure mode isn't a bad list — it's a good list that gets built once, worked halfway through, and then buried in a spreadsheet tab nobody reopens. Whatever you use to hold the list, make sure it tracks status per contact (not contacted, contacted, replied, no response) so prospecting has a state you can pick back up instead of starting over from a blank search every time momentum stalls.