Most direct mail fails before the postcard is ever printed.
Not because the design was off. Not because the offer was weak. Because the list was garbage.
You can have the best postcard in the world โ real pen and ink, compelling offer, trackable QR code โ and if you're mailing to wrong addresses, dead leads, or people who have zero reason to care, you're burning money. Period.
Here's how to build a mailing list that actually works.
Step 1: Know Exactly Who You're Targeting
Before you pull a single record, get specific about who your ideal prospect is.
For real estate investors, that might be:
- Absentee owners with 10+ years of equity
- Probate properties in a specific county
- Pre-foreclosure homeowners 60โ90 days behind
- Free-and-clear properties (no mortgage)
For home services (roofing, solar, HVAC), it might be:
- Homeowners in specific zip codes with homes built before 1995
- Recent movers (high intent, just moved in, haven't picked vendors yet)
- Households above a certain income threshold
The more specific you get, the less you waste. Shotgun approaches kill ROI. A 10,000-record list of vaguely relevant homeowners will almost always underperform a 2,000-record list of hyper-targeted prospects.
Step 2: Where to Get Your List
There are four main sources. Each has tradeoffs.
County Assessor and Public Records
This is the starting point for almost every real estate investor list. County assessor data is public, often free or very cheap, and includes:
- Owner name and mailing address
- Property address (different if they're absentee)
- Last sale date and price
- Assessed value
- Mortgage status (in some counties)
The downside: it's raw and unclean. Addresses may be outdated. No phone numbers. You'll need to run it through cleaning tools before mailing (more on that below).
Most counties offer this data through their GIS or assessor website. Some charge a nominal fee. Others let you export directly.
List Data Providers
Data providers compile and maintain consumer and property databases so you don't have to pull and clean raw public records yourself. Common ones used by direct mailers:
- PropStream โ popular with real estate investors, lets you filter by equity, liens, foreclosure status, vacancy, and more
- BatchLeads โ similar feature set, includes skip tracing built in
- ListSource (CoreLogic) โ broader consumer data, commonly used for home services and financial products
- DataTree โ deep property and ownership data, good for complex filters
- USPS Every Door Direct Mail (EDDM) โ route-based, no individual targeting, better for awareness plays than conversion
Expect to pay anywhere from $0.05 to $0.25 per record depending on the provider and filters applied. More filters = smaller, more accurate list = better response rates.
MLS Data
If you're targeting homeowners who've recently listed, expired, or withdrawn from the market, MLS data is gold. Realtors have direct access. Investors often partner with agents or use services that aggregate this data legally.
Key MLS-based lists:
- Expired listings โ sellers who tried and failed, still motivated
- FSBOs (For Sale By Owner) โ didn't want to pay commission, may still need help
- Recently withdrawn โ pulled their home off market, still may need to sell
Freshness matters here. An expired listing from 90 days ago is dramatically less valuable than one from last week. Set up automated pulls if you're working these lists consistently.
Skip Tracing
Skip tracing is how you fill in the blanks โ turning a name and property address into a phone number and verified mailing address.
If your list came from county records and you want to do multi-channel follow-up (mail + phone + text), you need to skip trace it first. Services like BatchSkipTracing, Skip Genie, and REISkip can process bulk lists for $0.08โ$0.18 per record.
For direct mail purposes specifically, skip tracing is most valuable when:
- The owner's mailing address is unclear (absentee owners especially)
- You want to verify the address before spending money on postage
- You're building a multi-touch sequence that includes calls or texts alongside mail
Step 3: Clean Your List Before You Mail
This is the step most people skip. It's also why their mail doesn't land.
Two things you need to run every list through:
CASS Certification
CASSstands for Coding Accuracy Support System. It's a USPS process that standardizes and verifies addresses โ making sure "123 Main St" is formatted correctly, the zip+4 is accurate, and the address actually exists in the USPS database.
Why it matters: CASS-certified mail qualifies for presort postage discounts (you can save 2โ5 cents per piece at scale). More importantly, it reduces undeliverable mail. If the address doesn't exist, CASS flags it before you spend money mailing to it.
Most list providers and mail shops can run CASS for you. Tools like Melissa Data and SmartyStreets do it in bulk.
NCOA (National Change of Address)
The USPS maintains a database of people who've filed change-of-address forms. Running your list through NCOA updates addresses for people who've moved in the last 48 months.
If you skip NCOA, you're mailing to people who no longer live there. The mail gets forwarded if it's within 12 months, returned if it's not, or just trashed. None of those outcomes help you.
NCOA processing typically costs $0.02โ$0.05 per record. For a 5,000-record list, that's $100โ$250. Worth every cent.
Combined, CASS + NCOA typically reduces a raw list by 5โ15%. That's not a bad thing. That's money you didn't waste on bad addresses.
Step 4: How Many Records Do You Actually Need?
This is where most people either over-invest in giant lists they can't afford to mail consistently, or under-invest and never get enough volume to see results.
Here's the math:
Across tracked Mailbots.ai campaigns, the average response rate is 1.89% (range: 0.98%โ4.39% depending on targeting quality and message). Let's use 1.5% as a conservative estimate.
At 1.5%, to get 10 responses, you need to mail roughly 667 pieces.
To get 50 responses, you need about 3,300 pieces.
But here's the thing โ direct mail is not a one-touch game. Most campaigns require 3โ7 touches before someone responds. So if your list has 1,000 records and you're running a 5-touch sequence, you're mailing 5,000 pieces total.
Minimum viable list size: 500โ1,000 records if you're testing. 2,000โ5,000+ if you're running a real campaign.
Smaller lists aren't inherently bad โ they just need to be higher quality to compensate for lower volume. A 500-record list of perfectly targeted probate leads will outperform a 5,000-record list of generic homeowners.
Step 5: How Often to Refresh Your List
Lists decay. The USPS estimates roughly 10โ15% of Americans move every year. That means if you built your list 12 months ago and haven't refreshed it, 10%+ of it is already stale.
Here's a practical refresh schedule based on list type:
High-Turnover Lists (refresh every 30โ60 days)
- Expired MLS listings
- Pre-foreclosure / NOD (Notice of Default) lists
- Recent movers
- Probate filings
These change constantly. What was fresh last month is cold this month. If you're working these, set up automated weekly or monthly pulls.
Medium-Turnover Lists (refresh every 90โ180 days)
- Absentee owner lists
- High-equity homeowner lists
- Tax delinquent properties
These are more stable but ownership can change. Pull fresh data quarterly if you're mailing consistently.
Low-Turnover Lists (refresh annually)
- Geographic demographic lists (age, income, homeowner status by zip)
- Long-term owner lists (owned 10+ years)
These are relatively stable. Annual refresh is usually sufficient, though running NCOA every 6 months keeps addresses clean even when the targeting data hasn't changed.
Suppression Lists: Don't Skip This
Before every mail drop, run your list against:
- Do Not Mail registries (DMA's Mail Preference Service) โ legally important in some industries
- Your own customer list โ don't mail people who already bought from you
- Recent responders โ if someone called you last week, remove them from the next batch
- Returned mail โ track USPS returns and suppress those addresses permanently
Not just for legal compliance. Mailing your existing customers with a pitch for something they already bought from you looks bad and costs money. Suppress aggressively.
What Good List Management Looks Like in Practice
Here's a simple system:
- Pull raw list from county records or a data provider
- Run through CASS + NCOA
- Suppress against your existing customer list and previous responders
- Load into your mail campaign and track deliveries per-piece
- After each campaign: flag returned mail, note which addresses responded, update suppression list
- Refresh the core list on your designated schedule
This isn't complicated. It's just consistent. Most people do steps 1 and 4 and skip everything in between. Then they wonder why their response rate is 0.2%.
For context: in a split test of 16,434 postcards, pen-and-ink postcards from Mailbots.ai hit a 2.16% response rate versus 0.40% for standard printed mail. That's 5.4x higher. But that gap only matters if your list is clean enough to actually reach real people.
The postcard is the last mile. The list is the foundation.
The Bottom Line
Building a mailing list for direct mail isn't glamorous work. It's pulling data, cleaning it, suppressing the right people, and refreshing it on a schedule. But it's the difference between a $122 cost per lead and a $214 cost per lead โ real numbers from real campaigns.
Get the list right. Then mail it consistently. Then track everything.
If you want postcards that actually get opened and read โ real pen and ink, per-piece tracking, no platform fees โ Mailbots.ai is where to start.

