You can see both datasets because this is a demo. In real life each company sees only its own side. IDs are hashed emails (shortened), and every record here is made up.
- d82b…
- e6c2…
- aaf9…
- 6ae2…
- a806…
- 1da2…
- 969f…
- 3057…
- 5a91…
- 9f10…
- 1009…
- 3992…
- bf35…
- a5e8…
- 1bb4…
- da49…
- 4e09…
- c631…
- ec9c…
- c4b5…
- b0dc…
- 9723…
- 71b3…
- f83e…
- 2a06…
- 83e2…
- 35e0…
- f07d…
- 7e87…
- d638…
- 4e6e…
- 40f2…
- 2a23…
- db68…
- f511…
- 650d…
- 91ff…
- c408…
- 984d…
- 7e4c…
Results appear here. Only aggregates ever leave the room.
- 1c25…
- c4b5…
- 4e09…
- 2a23…
- 22a1…
- 0e5c…
- f147…
- 5a91…
- 40f2…
- 6855…
- e229…
- d82b…
- ff53…
- 35e0…
- 0494…
- 7433…
- 2501…
- a806…
- ec9c…
- d638…
- 9723…
- 614e…
- 4e6e…
- 1009…
- 4066…
- 8220…
- 969f…
- 8669…
- 5c4f…
- c408…
- aa5e…
- 7e4c…
- 3992…
- 7d24…
- 6ae2…
- 650d…
- 71b3…
- a3ee…
- 1bb4…
- 91ff…
- 14c2…
- 6350…
- ebed…
- 164f…
- e22c…
- cbc8…
- 984d…
- dddc…
- 0cac…
- b0dc…
Its own CRM, plus the aggregate results it asked for.
Its own ad logs, plus the audit log of which queries ran.
The other side's rows, or which specific people matched.
A brand knows who bought. A publisher knows who saw the ad. Neither should hand the other its customer list. A clean room lets both put their data in one place, join it on a hashed ID, and run only the queries they agreed on in advance. What comes out is aggregates: counts, rates and averages over groups big enough that nobody can be singled out. Every query is logged.
That's the whole trick, and it's a genuinely useful one for campaign measurement and audience overlap. What it isn't: a data warehouse, a real-time system, or a way to make a weak measurement design strong. The lift number above is a correlation — people who saw the ad were not chosen at random. And if your question involves one company's data, you don't need a clean room at all.
Real products use far bigger thresholds (tens or hundreds of people, not 5) and more safeguards against clever query combinations. A simplified illustration — not how any specific product works.
Read the longer take: Most clean rooms pitches are lying to you →
- Run the spend-by-category analysis, then slide k up and watch small groups vanish.
- Push k above 10 on the exposure analysis: no lift can be published at all.
- Ask for the matched customers. The room refuses, and the refusal is logged.
- Turn on noise and re-run a few times. The answer wobbles, but the story holds.
- Notice the faded IDs: customers outside the match never enter the result.