ZIP Code Targeting for DTC Brands: Improve ROAS Without Cutting Spend
Learn how direct-to-consumer brands use ZIP code demographic targeting to improve return on ad spend without reducing budget or narrowing creative strategy.
The DTC ROAS Plateau
Every DTC brand hits it. You have optimized your creative, tested dozens of audiences, refined your landing pages, and your ROAS has flatlined. You are stuck at 2.5x or 3x, and every attempt to scale past $50,000/month in spend pushes ROAS down instead of up.
The conventional wisdom says you either cut spend to maintain efficiency or accept lower returns to grow. But there is a third option that most DTC brands overlook entirely: geographic optimization using ZIP code demographic data.
Here is the insight that changes the math: when you scale spend on Meta or Google, the platforms push your ads into progressively lower-quality geographic segments. Your first $20,000 reaches your best audiences. The next $20,000 reaches incrementally worse ones. By the time you hit $80,000/month, a significant portion of your budget serves impressions in ZIP codes where the median household income makes your product a stretch purchase rather than a comfortable one.
ZIP code targeting lets you scale spend while keeping it concentrated in areas where people can afford what you sell.
How Geographic Waste Happens in DTC Advertising
Consider a DTC cookware brand selling a $350 pan set. On Meta, you target women aged 28-45 interested in cooking, home decor, and food media. Great audience definition. But within that audience, Meta's algorithm does not distinguish between:
- A 34-year-old in Scottsdale, AZ (ZIP 85254, median income $112,000) who comfortably buys premium cookware
- A 34-year-old in Mesa, AZ (ZIP 85201, median income $42,000) who engages with cooking content but will not spend $350 on pans
Both users match your interest targeting perfectly. Both will probably click your ad. Only one will buy. You paid for both clicks.
Across a national campaign, this pattern plays out thousands of times per day. Our analysis of DTC ad accounts shows that 25-40% of ad spend typically goes to ZIP codes where the median household income is below the threshold needed for comfortable purchase of the advertised product.
The ZIP Code ROAS Framework
Step 1: Define Your Affordability Threshold
Your product's price determines which income levels represent comfortable purchases versus stretch purchases. Use this formula as a starting point:
Minimum target median income = AOV x 100
- $50 AOV = $50,000 minimum median income
- $150 AOV = $75,000 minimum median income (cap at $75K since this is a moderate purchase)
- $350 AOV = $85,000 minimum median income
- $800 AOV = $100,000 minimum median income
This is conservative. A median income of $85,000 means a large portion of households in that ZIP earn $100,000-$150,000+. You are not excluding everyone below your threshold — you are ensuring the concentration of qualified buyers is high enough to justify ad spend.
Step 2: Build Your Geographic Tiers
Pull median household income data for all U.S. ZIP codes (or your target geography) and create three tiers:
- Tier 1 — Premium: Median income 1.5x your threshold or above. These ZIPs have the highest density of comfortable buyers.
- Tier 2 — Standard: Median income between 1.0x and 1.5x your threshold. Solid audiences with good conversion potential.
- Tier 3 — Marginal: Median income between 0.75x and 1.0x your threshold. Some buyers exist but conversion rates will be lower.
- Exclude: Median income below 0.75x your threshold. Not worth the ad spend for your price point.
Step 3: Implement Tiered Geographic Campaigns
On Meta, create separate ad sets for each geographic tier:
Tier 1 Ad Set:
- 50% of total budget
- Your highest daily budget
- Broadest audience targeting (let Meta optimize within affluent geography)
- All creative variations
Tier 2 Ad Set:
- 35% of total budget
- Standard daily budget
- Interest-based targeting layered on top
- Best-performing creative only
Tier 3 Ad Set:
- 15% of total budget
- Lowest daily budget
- Tightest interest targeting plus lookalike overlap
- Highest-converting creative only
On Google, apply the same tier structure using ZIP code location targeting with bid adjustments: +25% for Tier 1, baseline for Tier 2, -20% for Tier 3.
Step 4: Optimize by Tier Performance
After 14 days, compare ROAS across tiers. You will likely see:
- Tier 1: ROAS 15-40% above your blended average
- Tier 2: ROAS near your blended average
- Tier 3: ROAS 20-35% below your blended average
Use this data to shift budget. If Tier 1 ROAS is 4.2x and Tier 3 is 1.8x, moving $5,000 from Tier 3 to Tier 1 could add $12,000 in revenue without any additional total spend.
Scaling Without ROAS Decay
The real power of geographic tiering shows up when you scale. Without geographic controls, increasing spend from $50K to $100K/month typically causes ROAS to decline 20-30% as algorithms push into lower-quality audiences.
With geographic tiering, you scale within tiers:
- First, increase Tier 1 budget until frequency hits 2.5-3.0 per week
- Then increase Tier 2 budget until frequency hits 2.0-2.5 per week
- Only expand to Tier 3 (or add new geographic regions) after Tier 1 and 2 are saturated
This approach lets you scale to 2-3x your current spend while maintaining within 10% of your current ROAS, because every incremental dollar goes to the next-best geographic segment rather than a random one.
What the Data Shows
DTC brands that implement geographic tiering typically report:
- Blended ROAS improvement of 25-45% within 30 days at the same total spend
- Successful scaling to 2x spend with ROAS declining less than 10% (versus 25-30% decline without geographic controls)
- Customer LTV increase of 15-25% because customers from affluent ZIP codes have higher repeat purchase rates and higher average basket sizes
- CAC reduction of 20-30% as algorithms optimize within higher-converting geographic segments
Common Objections (and Why They Are Wrong)
"This limits our total addressable market." Yes, it limits your ad-reachable market. It does not limit who can buy from you. Organic, referral, and direct traffic still come from everywhere. Paid advertising should be directed where it produces the best returns.
"Meta's algorithm already optimizes for conversions." It does, but within the geographic boundaries you set. If you set no boundaries, Meta will optimize across all geographies, including low-income areas where it can find cheap impressions that occasionally convert. Your overall ROAS suffers because those cheap impressions dilute the pool.
"We should not exclude people based on income." You are not excluding anyone from purchasing. You are making a business decision about where to allocate a finite advertising budget. Every brand does this implicitly when they target certain age ranges, interests, or behaviors. Geographic income targeting just makes it explicit.
Getting Started This Week
You do not need to overhaul your entire ad account. Start with a single test:
- Take your best-performing Meta campaign
- Duplicate it
- In the duplicate, add location inclusions for the top 2,000 ZIP codes by median household income in the U.S. (roughly the top 5%)
- Run both campaigns at equal budget for 14 days
- Compare ROAS, CPA, and AOV
The ZIP-targeted version will almost certainly outperform. Use that data to build the business case for a full geographic rollout across all campaigns.
Ready to target smarter?
Stop wasting ad spend on broad targeting. Start with 5 free queries.
Calculate Your ROAS ImprovementRelated Articles
The $800 Product Problem: Why Your Ads Reach People Who Can't Afford You
Learn why high-AOV e-commerce brands waste 30-40% of their ad spend reaching audiences who cannot afford their products, and how demographic targeting fixes it.
How Luxury Brands Can Exclude Low-Income ZIP Codes on Facebook Ads
A step-by-step guide for luxury e-commerce brands to use ZIP code exclusions on Facebook and Instagram ads to focus spend on affluent audiences and improve ROAS.
Why Meta Ads Lookalike Audiences Include Low-Income Users (And What to Do About It)
Meta's lookalike algorithm optimizes for engagement, not purchasing power. Learn how to layer demographic filters to fix this.