Cardinality is the number of distinct values in a set. Applied to a column of data, it counts how many different entries appear. A device category field holding desktop, mobile and tablet has a cardinality of three; a field holding page URLs on a large retail site can hold millions. Volume is irrelevant: a billion rows have a cardinality of two if only two values appear in the column examined.
It matters in advertising because nearly every number a marketing team looks at is a count of distinct things: unique users, sessions, reached households, active SKUs, referring domains, creative variants. The cost of producing each rises with the number of distinct values involved, and two opposite failures follow. Too many distinct values and reporting systems collapse detail or slow down. Too few distinct people behind a result and privacy systems refuse to return it at all.
How platforms count distinct values
Counting exactly means holding every value already seen, so memory grows with the number of distinct values, not the number of records. At web scale that is impractical, so large systems estimate.
Google Analytics 4 estimates. A Google developer post published in October 2022 by Minhaz Kazi, an Analytics developer advocate, states that the platform approximates cardinality for its most used metrics, Active Users and Sessions among them, using HyperLogLog++. The documented precision parameter is 14 for Active Users and Total Users, with a sparse precision of 25, and 12 for Sessions, with a sparse precision of 17.
BigQuery exposes the same machinery. COUNT(DISTINCT) is exact and expensive, APPROX_COUNT_DISTINCT applies HyperLogLog++ at a fixed default precision of 15, and the HLL_COUNT functions accept precision between 10 and 24 while producing sketches that can be stored, merged and re-aggregated without rereading source rows.
Where it binds in reporting
In Analytics, cardinality decides what a report may show. Google treats any dimension carrying more than 500 unique values in a day as high cardinality. Tables combine dimensions multiplicatively: device, with three values, against age, with six groups, needs up to eighteen rows, and substituting page path for device makes the row count track the size of the site. Once the underlying table passes its row limit, the surplus is condensed into one row labelled (other), and the detail inside cannot be retrieved through the interface. Google's guidance states a cardinality limit of 50,000 values, after which cardinality control applies.
The constraint spreads with each new surface. Documentation for the drag-and-drop dashboards released for Analytics properties links out to Google's cardinality article. A reporting playbook Google published in November 2025 treats the difference between high cardinality and sampling as a common point of confusion, both producing approximate tables for unrelated reasons.
Escaping the ceiling means leaving the interface. The BigQuery export carries raw event rows with no row limit, and each schema addition raises the combinations available: a session_traffic_source_last_click record in July 2024, three manual fields for creative format, tactic and source platform days earlier, and a batch_page_id identifying the events from a single page visit, maximal cardinality by design. Item data import, capped at one or two dimensions in total, holds the line in the other direction.
Roku made cardinality a configuration option in its metrics layer, capping a dimension to its top 20 or 30 values, while Airbnb adopted LightGBM in its listing lifetime value model to handle high-cardinality geographic variables.
Reach is a cardinality estimate
Reach is the number of distinct people exposed to a campaign, which makes every reach figure a cardinality. Combining it across publishers is a union cardinality problem, and doing so without moving user-level data between parties is the hard case.
The World Federation of Advertisers built its cross-media measurement design around that problem. Its evaluation framework for a Private Reach and Frequency Estimator compared three private cardinality estimators: Vector of Counts, at a fixed 4,096 random buckets; secure Bloom filters, scaling linearly with identifier count; and non-uniform Bloom filters, scaling logarithmically. The plan set an accuracy bar of 95% of runs within 5% relative error, simulated up to 100 publishers, and used campaign sizes from 3,000 to 300 million against a universe of up to a billion identifiers. It defines a cardinality ratio, the larger set divided by the smaller, varied from 1 to 100, because estimators pairing a large publisher with a small one lose accuracy in ways equal-sized tests never show. A later evaluation recommended a multi-party protocol built on Liquid Legions sketches, whose accuracy holds as sets are added, at higher compute cost.
Identity vendors use the word more narrowly. Adstra's ID Connection Strength framework, from a July 2026 study of internet protocol based connected TV targeting, scores signals on five criteria including cardinality, meaning how many other identifiers a signal is tied to.
The privacy floor
The second failure mode runs the other way. Clean rooms and audience systems withhold results below a minimum distinct-user count, a cardinality test applied for privacy rather than performance. Google's Ads Data Hub drops result rows describing fewer than roughly 50 unique users, falling to about 20 with noise injection and 10 for queries touching only clicks and conversions, and its measurement methodology sets the same bar for MRC-accredited metrics. Amazon Marketing Cloud applies a comparable floor, where the threshold is the binding constraint on granularity, emptying reports when one detailed dimension splits results too finely.
The same arithmetic governs targeting. Google standardised its minimum audience size at 100 active users across Search, Display and YouTube, down from 1,000, and audiences managed through the Data Manager API became eligible at 100 members from version 1.3. These are floors on the cardinality of a list rather than on the values inside it, formalised as k-anonymity.
Origin and evolution
The mathematics arrived first. Georg Cantor's set theory, developed from 1874, made cardinality the formal measure of the size of a set, defined through one-to-one correspondence rather than counting. Relational database practice, following Edgar Codd's 1970 model, adopted the word for a table's row count, and Peter Chen's entity-relationship model of 1976 applied it to relationships between entities.
Estimation is the branch advertising depends on. Philippe Flajolet and G. Nigel Martin published probabilistic counting for database applications in 1985, inferring cardinality from leading zeros in hashed values, and Marianne Durand and Flajolet cut the memory requirement with LogLog in 2003. HyperLogLog, published by Flajolet with Eric Fusy, Olivier Gandouet and Frederic Meunier in 2007, substituted a harmonic mean, reporting a standard error near 1.04 divided by the square root of the register count and estimating cardinalities beyond a billion using about 1.5 kilobytes. Google engineers published HyperLogLog in Practice in 2013, the revision behind the HLL++ code in BigQuery and Analytics.
Why it matters for marketing teams
A dimension chosen during tagging determines whether a report will ever be readable, months before anyone notices an (other) row; unique identifiers and full query strings registered as custom dimensions are the usual cause. The same metric computed in an interface and a warehouse can legitimately disagree, one being approximate and one not. Campaign structure meets the floors from the other side: narrow geographies, small product lines and short flights produce rows too thin to return, so the report arrives empty rather than inaccurate.
The term also frames where automation is being pointed. Anthony Katsur, chief executive of the IAB Tech Lab, named high cardinality problems such as discrepancy resolution and creative troubleshooting across connected TV partners as the plausible use for agentic systems. A study of what language models infer from names found mean precision above 0.9 for low-cardinality attributes such as sex or date of birth and below 0.1 for open-ended ones.
Limitations and disputes
Approximation cannot be reconciled. HLL++ figures do not match exact counts, and platforms rarely flag which numbers are estimated at all.
Suppression is the sharper complaint. The (other) row hides how much sits inside it, and Google describes the 500-value figure as guidance rather than a limit, leaving practitioners unable to predict when a report will degrade. Clean room floors drop rows silently, a filtered row summary the only signal anything was removed. Whether those floors deliver privacy is contested: Federal Trade Commission staff wrote in November 2024 that most clean room services are not privacy-preserving by default, and the legal status of processed data rests on conditions rather than a technical test. A minimum count per row constrains one query, not a sequence of overlapping ones, which is why difference checks and noise sit on top.
Not the same as
Sampling reduces the events processed and scales the estimate up; cardinality control reduces the rows displayed. A sampled report can show every dimension value, while a cardinality-limited report shows the top values and one bucket.
Aggregation thresholds are floors on distinct users per output row, set for privacy. Cardinality is a property of the data; the threshold uses a measurement of it to decide disclosure.
Relationship cardinality in data modelling describes whether a link between two entities is one-to-one, one-to-many or many-to-many, a question of structure rather than counts.
Deduplication decides that several records describe one person, and identity resolution supplies the key that makes the merge arithmetic. Cardinality is what that process outputs.
Recent developments
Movement through 2025 and 2026 has run toward lower privacy floors and more raw export. Audience minimums settled at 100 users and Analytics documentation kept pushing high-cardinality work into BigQuery. The interface ceiling has not moved: the 500-value guidance and the 50,000-value limit stand where they were, while the number of dimensions teams want keeps growing, leaving the export path as the only durable answer.
Timeline
- 1874 onwards: Georg Cantor develops set theory, establishing cardinality as the formal measure of set size
- June 1970: Edgar Codd publishes the relational model of data, the basis for describing a table's cardinality as its row count
- March 1976: Peter Chen publishes the entity-relationship model, applying cardinality to relationships between entities
- 1985: Philippe Flajolet and G. Nigel Martin publish probabilistic counting algorithms for database applications
- 2003: Marianne Durand and Philippe Flajolet publish LogLog counting of large cardinalities
- 2007: HyperLogLog is published, reporting standard error near 1.04 over the square root of the register count using about 1.5 kilobytes
- 2013: Google engineers publish HyperLogLog in Practice, the basis for HLL++
- 2020: The World Federation of Advertisers publishes its cardinality and frequency estimation evaluation framework, targeting August 2020 for a completed report
- October 2022: Google documents the HLL++ precision values behind Analytics user and session counts
- November 2024: Federal Trade Commission staff state that most clean room services are not privacy-preserving by default
- December 2025: Google standardises a 100-user minimum audience size across Search, Display and YouTube
- July 2026: Adstra publishes an identity scoring framework using cardinality as one of five criteria
Related PPC Land coverage
- Google Analytics gains drag-and-drop dashboards limited to 15 cards - Documentation for the new dashboards points back to Google's cardinality guidance.
- Google publishes analytics reporting playbook for marketers - Treats high cardinality and sampling as separate causes of approximate reporting.
- GA4 BigQuery Export enriched with Session Traffic Source Data - The session_traffic_source_last_click record added to the raw export schema.
- Google Analytics bolsters BigQuery Export with additional UTM fields - Three manual traffic source fields covering creative format, tactic and source platform.
- Understanding Google Analytics 4 BigQuery event ordering changes for Web Properties - The batch_page_id identifier assigned to each group of events from a single page visit.
- Google Analytics enhances item data import with custom dimensions support - The one-to-two dimension cap governing what catalogue data enters reporting.
- Roku cuts KPI rollout time from weeks to under 2 days - Cardinality made a configuration option, with dimensions capped to their top values.
- Airbnb unveils advanced lifetime value framework to measure listing performance - LightGBM adopted to handle high-cardinality geographic variables.
- IP-based CTV targeting fails 3 in 4 times, Adstra study finds - Cardinality scored as one of five identity connection criteria.
- Explaining clean room - Ads Data Hub aggregation checks and the silent dropping of rows below threshold.
- Google updates Ads Data Hub methodology with expanded metrics scope - The 50-user requirement applied to MRC-accredited metric rows.
- Explaining AMC - Why the aggregation floor is the binding constraint on report granularity.
- Google slashes audience targeting thresholds to 100 users across all networks - The unified minimum list size replacing the previous 1,000-user bar.
- Explaining Data Manager - The API threshold that fell from 1,000 members to 100 at version 1.3.
- Explaining k-anonymity - The privacy model behind minimum-count rules in auctions and clean rooms.
- Explaining de-identification - Why the legal status of processed data rests on conditions rather than a technical test.
- Explaining deduplication - How identity resolution supplies the key that turns distinct counting into arithmetic.
- IAB Tech Lab CEO warns industry chasing 'shiny pennies' in agentic AI - High cardinality problems named as the plausible use for agentic systems.
- Your name tells GPT-4o more about you than you think - Precision measured separately for low-cardinality and open-ended attributes.
Summary
Who. Analytics and data teams meet cardinality when reports degrade; measurement bodies including the World Federation of Advertisers meet it in cross-publisher reach; platform operators including Google, Amazon and Adstra set the thresholds that turn a distinct count into policy.
What. Cardinality is the number of distinct values in a set or column. High cardinality strains reporting systems into approximation or suppression; low cardinality triggers privacy floors that withhold results entirely.
When. The term comes from Cantor's set theory of the 1870s, entered database practice after Codd's 1970 relational model, and acquired its practical estimation tools between 1985 and 2013 through the Flajolet line of work culminating in HyperLogLog++.
Where. It binds inside analytics interfaces through row limits and the (other) row, inside data warehouses through approximate aggregate functions, inside clean rooms through minimum user counts per output row, and inside audience tools through minimum list sizes.
Why. Counting distinct things exactly costs memory that grows with the number of distinct things, so platforms estimate; and a result describing too few distinct people identifies them, so platforms suppress. Nearly every reporting discrepancy and empty clean room row a marketing team encounters traces back to one of those two facts.
Discussion