Lead Lists
lead-lists
Organize leads into static groups for targeted campaigns—filter once, save the snapshot, and control membership manually or through refresh.
What are Lead Lists?
Lead Lists are static groups of leads captured at a specific point in time based on filter criteria. Unlike dynamic segments that update automatically, lists create a frozen snapshot of matching leads that you control when to refresh.
Lead Lists provide:
- Static Grouping: Membership frozen at creation time (doesn't change unless you refresh)
- Filter-Based Creation: Build lists using any combination of filters (status, source, job title, company, enrichment data)
- Manual Control: Add or remove specific leads from lists manually
- Refresh on Demand: Re-run filters to update membership when ready
Campaign Targeting: Use lists as stable audiences for email campaigns
Export Capability: Export list members to CSV for external use
- High Performance: Fast loading because membership is pre-computed
Lists are ideal for one-time campaigns, curated segments, or when you need membership control.
Before You Begin
- Leads imported into your project (from Lead Search, manual import, or API)
- Understanding of filter criteria (status, source, job title, company name)
- Clear use case for the list (campaign audience, export target, curated segment)
Understanding Lists vs Segments
Before creating lists, understand the key differences from segments:
Lead Lists (Static)
How they work:
- Membership frozen at creation time
- Filter criteria stored but not auto-applied
- Manual refresh required to update membership
Performance:
- ✅ Fast loading (pre-computed memberships)
- ✅ No database query overhead
Use cases:
- One-time email campaigns (e.g., "Black Friday Promo Q4 2024")
- Curated groups requiring manual oversight (e.g., "VIP Enterprise Prospects")
- Exported lists for external tools (e.g., "Leads for Sales Navigator import")
- Frozen snapshots for A/B testing (e.g., "Test Group A" vs "Test Group B")
Limitations:
- ❌ Doesn't auto-update when new leads match filters
- ❌ Requires manual refresh to sync with current data
Lead Segments (Dynamic)
How they work:
- Membership evaluated live on every view
- Filter criteria applied in real-time to leads table
- Always shows current matching leads (no refresh needed)
- No static membership storage
Performance:
- ⚠️ Slower loading (live database query)
- ⚠️ Query overhead increases with complex filters
Use cases:
- Behavior tracking (e.g., "All leads replied in last 7 days")
- Dynamic nurture campaigns (e.g., "All qualified leads not yet contacted")
- Real-time dashboards (e.g., "New leads this month")
- Conditional targeting (e.g., "Enriched leads with phone numbers")
Advantages:
- ✅ Always current (auto-updates as leads change)
- ✅ No size limit (performance-dependent)
- ✅ No manual refresh required
When to Use Lists vs Segments
Use Lists when:
- Running one-time campaign (membership shouldn't change mid-campaign)
- Need to manually add/remove specific leads (override filters)
- Exporting to external tools (need static snapshot)
- Performance is critical (instant loading required)
- Membership needs manual oversight (QA before campaign send)
Use Segments when:
- Need real-time membership (always show current matching leads)
- Tracking behavior over time (e.g., "replied leads")
- Running ongoing nurture campaigns (audience updates automatically)
- Complex conditional logic (e.g., "enriched AND contacted AND not replied within 7 days")
Pro Tip
Navigate to Lead Lists
From your dashboard, click Lead Generation in the sidebar, then click Lead Lists in the submenu.
Loading image...
You'll see your existing lists with member counts, last refreshed dates, and actions.
Create a New List
Click the "Create List" button to open the creation dialog.
Loading image...
List Creation Form
Required fields:
- List Name: Descriptive name (max 255 characters)
- Filter Criteria: At least one filter condition
Optional fields:
- Description: Explain list purpose (max 500 characters)
Build Filter Criteria
Filter builder interface:
- Click "Add Filter" to add conditions
- Multiple conditions use AND logic (all must match)
- Each filter shows preview count ("X leads match")
- Real-time count updates as you adjust filters
Loading image...
Common filter patterns:
Pattern 1: Campaign-ready leads
Status = New OR Contacted Enrichment = Enriched Job Title contains "CEO" OR "Founder"
Pattern 2: Geographic targeting
Company Name contains "London" OR "UK" Enrichment = Enriched Source = B2B Leads Search
Pattern 3: Re-engagement list
Status = Contacted Last Contact Date > 30 days ago Enrichment = Enriched
Note
Preview Matching Leads
Before creating the list, review the preview:
- Match Count: "X leads match your filters"
- Sample Leads: First 5 matching leads shown
Loading image...
Complete List Creation
Click "Create List" to finalize.
What happens:
- System evaluates filter criteria against leads database
- Creates list record in database
Success message shows:
- "List created successfully with X members"
- List appears in lists table immediately
View List Details
Click on any list to view full details.
Loading image...
List detail page shows:
Header Section
- List Name
- Description
- Member Count: Total leads in list
- Last Refreshed: Timestamp of last refresh
- Created Date: When list was originally created
- Created By: User who created the list
Actions Bar
- Refresh List: Re-run filters to update membership
- Add Members: Manually add specific leads
- Export List: Download members as CSV
- Edit List: Update name, description, or filters
- Delete List: Permanently delete list and memberships
Members Table
Columns: Name, Email, Company, Job Title, Status, Source
Checkboxes: Select members for bulk actions
Search: Filter visible members by name/email/company
- Search: Filter visible members by name/email/company
- Sort: Click column headers to sort
Loading image...
Remove Members from List
Remove specific leads from the list.
Loading image...
When to Remove Members
Use cases:
- Bounced emails: Remove leads with invalid emails after campaign
- Opted out: Remove leads who unsubscribed
- Contacted elsewhere: Remove leads already contacted through other channels
- Quality control: Remove low-quality or irrelevant leads before campaign
Remove Members Process
Steps:
- In list detail view, select members using checkboxes
- Click "Remove Members" button (appears when members selected)
- Confirm removal in dialog
- Members deleted from list
What happens:
- System deletes memberships from database
- Member count updates immediately
- Leads remain in your project (only removed from this list)
- Action is permanent (can't undo)
Bulk removal:
- Select multiple members (use checkboxes)
- Click "Remove Members" once to remove all selected
- Maximum 100 members per removal action
Refresh List Membership
Re-run filter criteria to update list membership based on current leads.
Loading image...
When to Refresh Lists
Scenarios requiring refresh:
- New leads imported: Leads matching filters added since list creation
- Lead data updated: Enrichment, status changes, or field updates
- Filter criteria changed: You edited the list's filters
- Stale data: List created weeks/months ago and leads have changed
- Pre-campaign QA: Refresh before launching campaign to ensure current membership
Typical refresh cadence:
- One-time campaigns: Refresh once immediately before send
- Recurring campaigns: Refresh weekly or bi-weekly
- Curated lists: Refresh monthly or as needed
Refresh Process
Steps:
- Click "Refresh List" button in list detail view
- Confirm refresh in dialog (warns about membership changes)
- System re-evaluates filter criteria
- New membership replaces old membership
Refresh Impact Examples
Example 1: New leads added
- Before refresh: 100 members
- New leads imported: 25 match filters
- After refresh: 125 members
Example 2: Leads updated (no longer match)
- Before refresh: 100 members
- Lead status changed: 15 leads now "Lost" (filter excludes Lost)
- After refresh: 85 members
Example 3: Manual additions removed
- Before refresh: 100 members (90 from filters, 10 added manually)
- Manual leads don't match filters
- After refresh: 90 members (manual additions removed)
Pro Tip
Edit List
Update list name, description, or filter criteria.
Loading image...
Editable Fields
Name: Update list name
- Example: "Q1 Campaign" → "Q1 2024 Enterprise ABM Campaign"
Description: Update list purpose or notes
- Example: Add campaign results, notes, or context
Filter Criteria: Modify filters
- Add new conditions
- Remove existing conditions
- Change filter values
Loading image...
Note
Why manual refresh required:
- Prevents accidental membership loss (you might be adjusting filters without wanting to change members)
- Allows you to test filters before committing to membership changes
- Gives control over when campaign audiences update
Export List Members
Download list members as CSV for external use.
Loading image...
Export Use Cases
Common scenarios:
- CRM import: Import leads into Salesforce, HubSpot, Pipedrive
Sales Navigator: Upload to LinkedIn for social selling
External email tools: Use in Mailchimp, SendGrid, Constant Contact
Data analysis: Analyze in Excel, Google Sheets, Tableau
Backup: Archive list snapshots for record
keeping
Export process
- Open the list (or segment) detail page.
- Click the “Export CSV” button (or “Export” on mobile).
- The CSV file downloads immediately (no second dialog or click).
Exported fields
- Name
- Phone
- Company
- Job Title
- Source
- Status
File format
- CSV with header row; values in double quotes.
- Filename: {list_name}_export.csv (list/segment name sanitized to safe characters; no date in filename).
Example: Enriched_Leads_export.csv.
Pro Tip
Delete a List
Permanently delete a list and all its memberships.
Loading image...
When to Delete Lists
Scenarios:
- Campaign complete: One-time campaign finished, no longer needed
- Obsolete filters: Filter criteria no longer relevant
- Duplicate lists: Consolidating multiple lists into one
- Test lists: Removing test/sandbox lists
- Stale data: Lists created months/years ago with outdated membership
Delete Process
Steps:
- Click "Delete" button (in list detail or lists table)
- Confirm deletion in dialog
- List and all memberships permanently deleted
Warning message:
- "This action cannot be undone."
- "All list memberships will be permanently deleted."
- "Leads themselves will NOT be deleted (only removed from this list)."
What happens:
- List record deleted from database
- Leads remain in your project (only membership deleted)
Using Lists in Email Campaigns
Target lists as stable audiences for email campaigns.
Loading image...
Campaign Targeting Options
When creating email campaigns, you can target:
- Single List: Send to one specific list
- Multiple Lists: Combine multiple lists (union, recipients in any list)
- List + Filters: Further filter list members (e.g., only "New" status)
- List Exclusions: Exclude another list (e.g., "All Leads" minus "Already Contacted")
Why Lists Are Better Than Segments for Campaigns
Stability:
- List membership doesn't change mid-campaign
- Prevents duplicate sends if leads enter segment after campaign starts
- Allows QA of exact audience before sending
Performance:
- Fast loading (no database query overhead)
- Campaigns start immediately (no filter evaluation delay)
- Scales to 10,000 recipients with instant targeting
Audit trail:
Export list before campaign to record exactly who was targeted
Compare pre/post export to measure response rates
- Historical record of campaign audiences
Campaign Workflow with Lists
Recommended flow:
- Create segment with campaign filters (explore and refine)
- Convert segment to list when ready to launch (freeze audience)
- QA list members (review members, remove/add as needed)
- Export list (backup snapshot of campaign audience)
- Create email campaign targeting list
- Launch campaign (stable audience, no mid-campaign changes)
- Track results (compare export to campaign results)
Best Practices
Naming Conventions
Use descriptive, structured names:
Pattern: [Campaign Type] - [Audience] - [Time Period]
Examples:
- ✅ "ABM Q1 2024 - Enterprise SaaS CEOs - US/UK"
- ✅ "Nurture - Qualified Leads Not Contacted - Jan 2024"
- ✅ "Re-engagement - Cold Leads 90+ Days - EMEA"
- ❌ "List 1"
- ❌ "Test"
- ❌ "Leads"
Benefits:
- Easy to find lists months later
- Clear purpose at a glance
- Sortable by campaign type or time period
When to Refresh vs Create New
Refresh existing list when:
- Same campaign, updated audience (e.g., weekly newsletter)
- Minor membership adjustments needed
- Filters unchanged, just need new leads
Create new list when:
- New campaign with different filters
- Need to preserve old list for historical tracking
- A/B testing different audiences (create "Test A" and "Test B" lists)
Optimize List Performance
Keep filters simple:
❌ Complex filters: 10+ conditions with nested JSONB queries
✅ Simple filters: 2-5 conditions on indexed fields
status, source
Batch operations:
- Add/remove members in batches of 100 (faster than one-by-one)
- Schedule large refreshes during off-peak hours
Archive old lists:
- Export to CSV before deleting
- Store in "List Archives" folder
- Keeps active lists list clean and fast
Troubleshooting
Members Not Appearing in List
Problem: Leads that should match filters aren't in list
Diagnosis:
1. Check filter logic
- Issue: Filters use AND logic (all must match)
- Example:
Status = NewANDJob Title = CEOrequires BOTH conditions - Solution: Review each filter, ensure leads meet ALL conditions
2. Verify lead data
- Issue: Leads missing required field values
- Example: Filter for "Job Title = CEO" but lead has null job_title
- Solution: Enrich leads first, or use "Job Title IS NOT NULL" filter
3. Refresh required
- Issue: Leads added after list creation
- Solution: Click "Refresh List" to include new leads
Can't Delete List (In Use by Campaign)
Problem: "Cannot delete list: currently used by active campaign"
Solution:
Option 1: Pause/complete campaign first
- Go to campaign, pause or complete it
- Then delete list
Option 2: Remove list from campaign targeting
- Edit campaign, change target to different list/segment
- Then delete list













