Your enrolled patient data already contains a precision geotargeting map — you just have not extracted it yet. Pull the ZIP codes of every patient who enrolled and completed a visit in the past 12 months. Plot them. What you will see is a non-circular pattern: clusters of high-productivity ZIP codes and gaps where your radius advertising is generating impressions but no enrolled patients. ZIP code targeting lets you concentrate spend exactly where that map shows results and withdraw it from where it does not.
Why ZIP Codes Outperform Radius as a Targeting Unit
Radius targeting treats all points within a circle as equally valuable. ZIP code targeting reflects actual patient behavior, condition prevalence, and transportation patterns. A ZIP code 12 miles north of your site might produce 30% of your enrolled patients. A ZIP code 8 miles south might produce zero — because the population skews younger, condition prevalence is lower, or transit connections make your site difficult to reach. Radius cannot distinguish these two zones. ZIP code targeting can.
Building Your Priority Catchment Map: Step by Step
- Export patient ZIP codes: Pull ZIP codes from your study management system, CRM, or patient intake forms for all patients who completed at least one screening visit in the past 12 months. Include both enrolled and screened-only patients.
- Map them: Go to batchgeo.com (free) or Google My Maps. Paste your ZIP code list. The tool generates a visual map showing where your patients come from. Screenshot and save it — this is your catchment map.
- Rank ZIP codes by enrolled patients: Create a spreadsheet with three columns: ZIP code, screened count, enrolled count. Sort by enrolled count descending. Your top 10 ZIP codes by enrolled patients are your Tier 1 targets.
- Identify Zero-Yield ZIP codes: Any ZIP code inside your current ad campaign radius that appears in your ad spend data but not in your patient ZIP code list is a candidate for exclusion or reduced bidding.
Condition Prevalence Layering
Once you have your historical patient map, layer condition prevalence data on top of it to identify ZIP codes you are not yet reaching but should be. The CDC’s PLACES dataset (CDC.gov/places) provides condition prevalence estimates at the ZIP code level for conditions including diabetes, hypertension, COPD, obesity, and depression — the most common clinical trial therapeutic areas. ZIP codes with high prevalence of your condition that do not appear in your current patient data represent untapped catchment territory.
Implementing ZIP Code Lists in Google Ads and Meta
Google Ads: Campaigns → Locations → Add location → enter ZIP codes individually or upload a CSV. Create a “Priority” location group with your Tier 1 ZIP codes at +20% bid adjustment. Create an “Exclude” location group for zero-yield ZIP codes.
Meta Ads: Ad Set → Locations → Bulk add by ZIP code. Paste your Tier 1 list. Meta processes ZIP codes and maps them to its internal geographic targeting system. Limit each ad set to 50–100 ZIP codes for manageable performance analysis.
48-Hour Action List
- Hour 1: Export enrolled patient ZIP codes from your study management system. Create a frequency table (how many enrolled patients per ZIP code). Identify your top 10 and bottom 10 producing ZIP codes.
- Hour 2: Go to CDC PLACES at cdc.gov/places. Select your primary condition. Download the ZIP code-level prevalence data for your state. Cross-reference against your enrolled patient map to identify high-prevalence ZIP codes you are not yet reaching.
- Hour 3: In Google Ads, add your Tier 1 (top 10 enrolled patient) ZIP codes as targeted locations with +20% bid adjustments. Add your zero-yield, high-spend ZIP codes as excluded locations.
- Day 2: Implement the same ZIP code list in Meta Ads. Set a 30-day review: compare cost-per-inquiry from Tier 1 ZIP codes against your previous broad-area baseline.
