ICP Definition to List-Building SOP
Turn a target customer definition into a sourced, enriched, verified, and segmented prospect list. Covers ICP criteria setup, database filter templates, enrichment waterfalls, email verification, and segmentation before activation.
Before You Begin
Prerequisites: database, enricher, sequencer
First-run setup takes 60 to 90 minutes. Repeat runs against a saved ICP segment take 20 to 30 minutes.
A B2B contact database (Apollo, LinkedIn Sales Navigator, or equivalent), an enrichment tool (Clay, Findymail), and an outbound sequencer or CRM. One completed ICP document, or a working list of firmographic and persona criteria to document in Step 1.
Workflow Overview
The 7-step SOP at a glance
| Step | Action | Tool type | Output |
|---|---|---|---|
| 1 | Define ICP attributes and scoring criteria | Notion, Google Sheet (internal) | ICP criteria document |
| 2 | Translate ICP to a saved database filter template | Apollo, LinkedIn Sales Navigator | Named saved search |
| 3 | Source the raw contact list | Apollo, Lusha, Hunter | Raw list (unverified) |
| 4 | Enrich missing fields (email, phone, title) | Clay, Findymail, Apollo Enrich | Completed contact records |
| 5 | Verify email deliverability | Findymail, Bouncer, Emailable | Verified list (bounces removed) |
| 6 | Segment by tier, persona, or intent signal | Clay logic columns, CRM tags | Segmented and tagged list |
| 7 | Export to sequencer or CRM and activate | Instantly, Smartlead, HubSpot | Active campaign list |
Step by Step
7 steps from ICP criteria to activated list
Complete steps in order. Skipping enrichment or verification before activation is the single most common cause of high bounce rates on otherwise well-sourced lists.
- Define your ICP attributes in a criteria document
Capture every firmographic and persona attribute for this segment: industry vertical, headcount range, geography, funding stage, technologies used, job title or function, seniority level, and any behavioral signals planned for tiering. Any team member should reproduce this exact list from the doc alone six months from now.
- Translate ICP attributes into a saved database filter template
Map each ICP attribute to an available filter in Apollo (industry, headcount, job title, seniority, geography, technology) or LinkedIn Sales Navigator (50-plus filters including growth signals and hiring activity). Save the combination as a named search matching the ICP segment label in your criteria doc.
- Source the raw contact list
Apply your saved filter template and build the raw list, targeting 20 to 30 percent above your intended send volume to account for verification removals. Tag the list "raw" in your tracking sheet and move directly to enrichment without activating.
- Enrich missing fields with a waterfall
Run the raw list through Clay (waterfall across 150-plus providers, stops on first match) or Findymail (verified email by LinkedIn URL, with verification built in) to fill missing emails and titles. Remove any record with no email from the cold email campaign and route those contacts to a LinkedIn-only sequence.
- Verify email deliverability before activation
Run the enriched list through Findymail, Bouncer, or Emailable to remove invalid addresses, high-risk catch-all addresses, and disposable providers. Target a projected bounce rate under 2 percent before any send.
β οΈDo not skip verificationEven reputable databases carry 8 to 15 percent catch-all or invalid addresses. Activating an unverified list is the most common cause of inbox placement failures in the first two weeks of a campaign.
- Segment the verified list by tier, persona, or signal
Tag each contact by ICP tier (Tier 1 fits all core criteria, Tier 2 fits most, Tier 3 is borderline) and add persona or signal tags where enrichment returned job-change or hiring-activity data. These tags drive sequence routing before the list enters your outbound tool.
- Export to CRM or sequencer and activate
Push the segmented, verified list to your sequencer or CRM, creating one campaign per ICP tier in Instantly or Smartlead so reply rates are tracked by segment independently. Confirm sending infrastructure is warmed and no contacts appear on your suppression list before activating.
π‘Name campaigns by segmentUse the ICP segment label from your criteria doc as the campaign name (e.g., "Tier1-VPSales-SaaS-50to200"). This prevents contact pool mixing when you re-run the SOP next month.
Before Activation
5-point activation checklist
Run this checklist before activating any list. If any item is incomplete, return to the relevant step.
- ICP criteria doc written, named, and version-controlled
A shared document captures all firmographic and persona attributes. Any team member can reproduce this list from the doc without clarifying questions.
- Database filter saved as a named search template
The filter combination is saved under a name matching the ICP segment label. Future pulls use the saved template, not a reconstructed filter set.
- Enrichment completed, gaps filled or contacts removed
No blank email fields remain in the active list. Contacts with no email after enrichment are removed from cold email or rerouted to LinkedIn-only sequences.
- Verification run, projected bounce rate under 2 percent
The list has passed through a verification tool with high-risk catch-all and invalid addresses removed. Projected bounce rate is under 2 percent.
- Contacts segmented and mapped to correct campaigns
Each contact carries a tier or persona tag mapped to a specific campaign. No mixed-tier campaign exists for this list.
When Things Break
4 breakdowns that kill list quality
Most list-building failures trace back to one of four points. Each has a targeted fix that does not require rebuilding the full workflow.
Common Questions