Audience coverage
Enrichment only matters if it changes who platforms can match
Customer lists do not become strong ad audiences just because the CSV is big.
Google Customer Match and Meta Custom Audiences still need matchable identifiers: email, phone, name, country, postal code, city, state, and platform-specific IDs.
That makes enrichment a coverage problem, not a generic CRM cleanup project. The useful question is simple: how many more reachable people do we create per dollar of enrichment spend?
Here is the practical workflow:
- Start with a source-only baseline.
- Add existing CRM-held personal identifiers.
- Add low-cost audience identifier enrichment.
- Add mobile enrichment only for high-value gaps.
- Upload platform-specific permutations.
- Compare coverage, invalid rows, match readback, cost, and delivery.
In one anonymized B2B test, the priority segment gained substantial uploadable coverage after adding personal-email and mobile identifiers. The full list also gained meaningful uploadable coverage after the mobile layer.
Those numbers are examples, not benchmarks. Your lift depends on source quality, geography, consent, provider coverage, and the audience platform.
| Audience layer | Coverage change | What changed | Decision |
|---|---|---|---|
| Source baseline | Reference point | Work emails or known first-party identifiers | Always run |
| CRM-held personal IDs | Often large lift | Personal emails or phones already in your CRM | Include when allowed |
| Low-cost enrichment | Usually worth piloting | Hashed personal emails or audience identifiers | Scale if cost per new row works |
| Mobile enrichment | Useful for priority gaps | Phone identifiers for high-value contacts | Cap by budget and segment value |
| Identity graph append | Potentially expensive | Address, household, or onboarding partner data | Use only with a strong measurement case |
The lesson is not that every extra field improves the visible match-rate percentage.
The lesson is that enrichment can increase the count of uploadable, reachable records. Match rate must be read beside uploaded rows, invalid rows, audience size, spend, and downstream delivery.
What to upload
Start with email and phone, then test attributes you already have
Google’s Customer Match documentation supports customer-list identifiers such as email, phone, first name, last name, country, and postal code. Meta’s customer-list Custom Audiences support similar matching fields, including email, phone, first name, last name, city, state, zip, country, and external IDs.
That does not mean every list should buy every field. In practice:
- Hashed email is the cheapest baseline when the list already contains work or personal emails.
- Hashed phone is usually the next useful layer when the audience is high-value enough to justify mobile enrichment.
- Name, country, postal code, city, and state are worth including when already present.
- Location fields should be tested carefully because connector schemas and platform requirements are stricter.
- External IDs are useful for stable deduplication and future CRM joins, not as a standalone substitute for contactable identifiers.
Run permutations instead of guessing. Keep each upload narrow enough that you can tell which added fields changed the outcome.
| Permutation | Why run it | What to watch |
|---|---|---|
| Email only | Baseline for both platforms | Uploaded rows, invalid rows, match readback |
| Email + phone | Tests whether phones add incremental matchable IDs | Duplicate rate and marginal cost |
| Email + phone + name | Adds free context when already present | Whether acceptance stays clean |
| Email + phone + name + geography | Tests postal/city/state lift | Schema errors and platform-specific formatting |
| Max coverage | Best current version for activation | Total reach, delivery, and spend efficiency |
Keep a separate audit file with source row number, external ID, company, provider, and identifier type. Do not publish that file. It exists so you can trace coverage and update the CRM later.
Compliance gate
Check privacy and platform rules before you spend
Audience enrichment uses personal data. Treat every run as a compliance workflow before it becomes a matching workflow.
This is not legal advice. It is the operating checklist your marketing, legal, and data teams should clear before upload.
For GDPR and UK GDPR, identify the lawful basis before processing. Consent or legitimate interest may be available for advertising, but the decision depends on context, expectations, opt-out handling, and the balancing test.
Do not assume “performance of a contract” covers targeted advertising. The European Data Protection Board gives advertising as an example where that basis usually does not apply.
For Google Customer Match:
- Use customer information collected in a first-party context.
- Make sure the privacy policy discloses sharing with third parties that perform services on your behalf.
- Obtain consent where law or Google policy requires it.
- Use an approved Google upload interface or API.
- Populate consent fields where required, especially for EEA users.
- Do not upload data from children or child-directed properties.
- Do not use Customer Match to infer or target sensitive categories.
- Keep the account eligible with good policy and payment history.
For Meta customer-list Custom Audiences:
- Use the correct ad account and accept Meta’s Customer List Custom Audiences terms.
- Upload only data you are allowed to use and share for advertising.
- Use accepted identifiers such as email, phone, name, location fields, and external IDs.
- Normalize and hash identifiers according to the upload path.
- Avoid audience names or ads that reveal sensitive traits.
- Review Special Ad Category rules before using housing, employment, credit, political, social-issue, or other restricted campaigns.
- Keep suppression lists current for opt-outs, deletions, customers, employees, and recent converters.
The safest default is to enrich only first-party, consented, high-intent segments. If the source list is a scraped TAM or the opt-out state is unknown, do not upload it.
Business impact
The business case is marginal reach, not prettier records
Audience enrichment makes sense when the extra matched people change campaign economics.
For high-ACV account-based marketing, incremental reachable buyers can matter. If your average deal is worth six figures and the audience is a narrow list of buying-committee members, enrichment can be rational when the added reach is worth more than the Deepline spend.
For broad, low-intent campaigns, the same enrichment is usually waste. You may be better off building a larger first-party audience, improving creative, or using broader platform targeting.
Use enrichment when:
- The list is already high intent: pipeline accounts, event attendees, product-qualified accounts, open opportunities, target-account buying committees, customer expansion pools, or suppression lists.
- The audience is below platform scale thresholds and needs more matchable identifiers.
- The creative and offer are specific to the segment.
- You can compare baseline versus enriched delivery, not just upload success.
Avoid enrichment when:
- You only have a broad TAM scrape with weak permissioning.
- The campaign cannot measure lift.
- You are enriching because the CRM “should be complete,” not because the audience will be activated.
- The remaining gap has already failed cheap provider pilots.
The first enrichment layers are often worth scaling. The hard gap usually is not.
If a pilot against the remaining gap produces only a small number of new uploadable identifiers, stop. The next move is usually not “run more email providers.” It is a different data category: consumer identity graphs, address append, or onboarding partners.
Those options are more expensive and require a stronger compliance and measurement case.
Use cases
Three anonymized examples
Developer infrastructure company
A developer-infrastructure GTM team has strong technical usage and account research signals, but the buyer committee is scattered across data, engineering, and platform teams. Audience enrichment makes sense for narrow retargeting and lookalike seed audiences when the source list is product usage, event attendance, or scored account research. It does not make sense to enrich the whole TAM.
The practical move: create segment-specific audiences from high-intent users and adjacent buying-committee contacts, then suppress customers and active opportunities.
Industrial engineering software company
An engineering software company sells to a niche market where standard firmographic data is too blunt. The better signal is domain-specific: job posts, CAD/tooling context, technical hiring, and account-level fit. Deepline can build the account map, but ad enrichment should stay conservative unless there are enough consented contact identifiers.
The practical move: upload existing CRM work-email audiences and only enrich priority segments. If net-new contact pilots are too small, keep the audience conservative instead of buying a broad identity graph.
Vertical software company
A vertical software team may have strong customer, lead, and account-stage data, but weak paid-channel reach. Enrichment is valuable for lifecycle audiences: customer exclusions, expansion pools, event follow-up, and open-opportunity suppression.
The practical move: enrich known lifecycle lists, not the full market. The most valuable audience is often the one you exclude from spend.
Operating model
Run it as an experiment ladder
The right operating model is a ladder with explicit stop rules:
- Build a source-only baseline.
- Add existing CRM-held personal identifiers.
- Add low-cost audience identifier providers.
- Add mobile enrichment for priority rows.
- Upload Google and Meta permutations.
- Wait for platform processing.
- Compare uploaded rows, invalid rows, match reads, delivery, CPM, CAC, and pipeline movement.
- Stop when the marginal lift turns into a different provider category.
Use this checklist before every upload:
- Confirm the source list can be used for paid ads under the applicable lawful basis.
- Confirm enrichment identifiers can be used for platform matching.
- Confirm Google and Meta terms have been accepted in the correct ad accounts.
- Remove people who opted out, requested deletion, or should be suppressed.
- Normalize and hash raw identifiers exactly once.
- Keep raw provider responses in a private CRM-enrichment archive.
- Upload only fields accepted by the platform.
- Store external IDs for dedupe and future joins.
- Read back platform status after upload.
- Wait before treating empty size fields as zero.
Keep the private archive separate from the public or customer-facing report. That gives marketing better reach now without exposing raw enrichment data.
The biggest mistake is treating match rate as a single number. There are multiple upstream coverage states: source coverage, enrichment coverage, uploadable-hash coverage, platform acceptance, platform match, and campaign delivery. Each can fail independently. Measure them separately.