Sales intelligence and ABM products live and die on what they can say about an account domain. Classic firmographics answer "what is this company"; the harder question — the one ICP definitions actually turn on — is "who does this company reach and sell to." A 102M-domain database of pre-computed audience segmentation answers both from one join key: LinkedIn-standard firmographic bands (company size, seniority mix, job functions) plus the demographics, interests, purchase-intent segments and personas of the audience each domain serves — every value an enumerated code from fixed vocabularies aligned with the IAB Audience Taxonomy 1.1, with no PII anywhere in the pipeline.
The account domain is already your platform's primary key. This layer makes it say more.
Two companies with identical size and industry codes can serve completely different markets. The audience attributes on an account's domain — interests, PI.* intent segments, personas — describe who the company reaches, so an ICP can name a market ("sells to e-commerce operators") instead of only a shape ("SaaS, 51–200 employees").
Curated firmographic databases are strongest on companies large enough to be curated. A 102M-domain corpus reaches the long tail — the niche manufacturers, regional agencies and bootstrapped SaaS companies that appear in your customers' account lists but return empty enrichment panels today.
Because every attribute is an enumerated code from a versioned vocabulary, ICP fit becomes a deterministic, auditable rule set rather than an opaque model score. A rep can see exactly which conditions an account satisfied — and the same account scores identically on every run.
One row per registrable domain (eTLD+1) — joinable against account websites and work-email domains after a single normalization step. Full value lists live on the taxonomy page.
| Layer | Fields | What it tells a seller |
|---|---|---|
| Firmographic | audience_type, b2b_company_size_employees, b2b_seniority, b2b_job_function | Whether the domain is b2c / b2b / mixed, and LinkedIn-standard bands for company size, seniority mix and job functions — the shape filters every prospecting UI needs. |
| Audience demographics | age_bracket, gender_skew, income_level, education_level, life_stage | Who the account's site reaches: 8 age brackets, 5-point gender skew, 6 income bands, 7 education levels, 14 life stages — the market the company monetizes. |
| Interests & intent | interests, purchase_intent | INT.* codes (29 groups / 285 sub-interests) and PI.* codes (34 groups / 283 segments) describing what that audience researches and buys — the sharpest ICP conditions available at domain level. |
| Personas | personas | Deterministic personas from a 1,667-entry catalog ("E-commerce Manager", "DevOps Engineer") — readable labels for account tiers and messaging plays. |
| Quality | confidence, vocab_version | Banded confidence (low / medium / high) to gate scoring, and the vocabulary release for audit trails. |
An ICP written against enumerated codes compiles directly to SQL — no model training, no black box, same result every run.
-- Each condition is one enumerated-code test; the score is the weighted sum. SELECT acct.id, acct.domain, ( (a.audience_type = 'b2b') * 2 + (a.b2b_company_size_employees IN ('51_200','201_500')) * 2 + (a.b2b_job_function && ARRAY['marketing','engineering_software']) * 1 + (a.purchase_intent && ARRAY['PI.software.computer_software']) * 2 + (a.interests && ARRAY['INT.shopping']) * 1 ) AS icp_score FROM accounts acct JOIN audience_domains a ON a.domain = acct.normalized_domain WHERE a.confidence IN ('medium','high') ORDER BY icp_score DESC;
Platforms expose the same logic as product UI: ICP conditions become saved filters, the weighted sum becomes a fit badge on the account page, and the fired conditions become the explanation tooltip. The practitioner-side version of this workflow — building and prioritizing a target-account list by hand — is documented in ABM account-domain profiling; agencies run a variant of it for pitch research in agency new-business research. For accounts outside a licensed file, the real-time API returns the same coded attributes per domain on demand.
A rep opens an account for a checkout-optimization SaaS. The platform's audience layer renders the row behind the fit badge:
cartlift-commerce.example
account record · ICP fit 7/8 · vocab v1.0
b2b51_200marketingengineering_softwaremanagerINT.shoppingINT.business_finance.businessPI.software.computer_software25_34 35_44The badge explains itself: b2b (+2), 51–200 employees (+2), marketing + engineering functions (+1), software intent (+2) — only the e-commerce interest condition at partial weight kept it from a perfect score. The rep also gets messaging context for free: this account sells to e-commerce managers, so the platform surfaces the retail-oriented sequence. No contact-level data was used to produce any of it.
| Question | Firmographic-only enrichment | With the audience layer |
|---|---|---|
| What is this company? | Size, location, industry code | Same — LinkedIn-standard size, seniority and function bands from the domain |
| Who do they sell to? | Inferred manually from the website | Explicit: demographics, INT.* interests, PI.* intent and personas of the audience the domain reaches |
| Long-tail accounts | Often unmatched | 102M-domain corpus extends coverage deep into the tail |
| ICP scoring | Shape filters only | Shape + market conditions, deterministic and explainable per account |
| Privacy surface | Varies by source; contact data adds obligations | No PII — domain-level market context only |
Run a match-rate test against your account universe with a self-serve file — Top 100k at $490 or Top 1M at $1,990 (instant download), refreshed quarterly at $190 / $590. Embedding the data in your product for customers is a data licensing agreement: 5M up to the full 102M domains, custom feeds and enrichment, quoted individually with custom licensing from $15,000/year — contact us with your coverage requirements. Compare tiers on the pricing page.
The practitioner workflow: profiling and prioritizing a target-account list with the same fields your platform would productize.
How CDPs ship the same reference table as a native enrichment source — trait builders, workspace joins and licensing mechanics.
The buyer's side of this page: how in-house teams use account-domain audience data for targeting and planning.
Classic firmographics answer "what is this company" — size, location, industry code. The audience layer answers "who does this company reach": the demographics, interests, purchase-intent segments and personas of the audience its website serves, plus LinkedIn-standard firmographic bands (company size, seniority mix, job functions) inferred from the domain. Together they support ICP definitions that name a market, not just a company shape — and because the corpus covers 102M domains, the layer extends to long-tail companies curated firmographic databases often miss.
An ICP becomes a set of code conditions: audience_type = 'b2b', b2b_company_size_employees in chosen bands, b2b_job_function overlapping target functions, interests or purchase_intent overlapping chosen INT.* / PI.* codes, confidence at medium or high. The score is a weighted count of satisfied conditions. Because every value is an enumerated code from a fixed vocabulary (browse them on the taxonomy page), the same account gets the same score on every run, every reviewer can see exactly which conditions fired, and scores remain comparable across quarterly refreshes.
Yes — that is a data licensing agreement: you host the dataset, expose audience attributes and ICP-fit filters in your product, and receive refresh feeds. Licenses are quoted individually by corpus size (5M up to the full 102M domains), refresh cadence and product surface; custom licensing starts from $15,000/year. Self-serve tiers — Top 100k at $490 or Top 1M at $1,990 with instant download — are licensed for internal use and are the fastest way to run a coverage and match-rate evaluation against your account universe. Start on the pricing page or contact us.
No. There is no PII anywhere in the pipeline. Attributes describe the audience a domain reaches, inferred from the domain's content — statements about websites and the markets they serve, never about named individuals. Enriching an account record with "this domain reaches a B2B audience of software-engineering functions" adds market context without contact-level data, which keeps the enrichment outside the consent and subject-rights machinery that contact databases require.
Look up any account domain in the demo dashboard, then pull the Top 1M file — instant card checkout — and measure match rate against your platform's account universe this week.