Glossary
Data clean room
A controlled environment where two parties analyse their combined data without either seeing the other's raw records. Aggregate answers come out; row-level data does not.
Also called: clean room
A retailer and a brand both want to know whether the brand’s advertising drove the retailer’s sales. Answering it means joining their customer data, and neither can hand the other a customer list.
A clean room is the compromise. Both upload data into an environment neither fully controls. Queries run across the joined set, and only aggregated results come out — never rows. The overlap is computed on hashed identifiers, so the matching happens without either side reading the other’s records.
What it genuinely solves. A measurement question that is otherwise unanswerable, in a form the legal teams on both sides can approve. That last part is most of its value.
The constraints that surprise people.
- Only the overlap is visible. You learn about customers you have in common and nothing about the rest, which is usually the majority.
- Aggregation thresholds hide small groups. Results below a minimum size are suppressed, deliberately, to stop anyone reconstructing an individual by slicing until only one person remains. Narrow segments come back empty.
- You cannot export the join. The answer leaves; the linked data does not. Anything you want to know later has to be asked inside the room.
- The operator matters. Several are run by the same platforms whose advertising is being measured, which is a governance question rather than a technical one.
It is not a way to acquire someone else’s data. It is a way to answer a question over data you will never hold — and the difference is the entire point.
Do not confuse with
Close enough to get mixed up, different enough that the mix-up costs something.
- Identity resolution Deciding that separate records — a click, a session, an order, an email — belong to the same person. Everything downstream inherits whatever this gets wrong.
- Hashing Converting a value into a fixed-length string that cannot be reversed, so two systems can check whether they hold the same value without either sending the value itself.