Matching
Matching attaches each row of a client file to a person in the consumer graph. It is deterministic: a row attaches only when its details agree with one person. See Identity resolution for how the permanent person ID works.
Accepted identifiers
Section titled “Accepted identifiers”| Identifier | Notes |
|---|---|
| Primary key in most files. An exact primary-email match is accepted at every strictness setting. | |
| Phone | Normalized to E.164 before matching. |
| Postal address with a name | Never matches on an address alone. |
| Moonbrush ID | For files that came from Moonbrush and are coming back. |
A file can carry several identifiers per row. Each agreeing detail counts toward strictness.
Strictness
Section titled “Strictness”Strictness counts the distinct details that agree. It is a count, not a probability.
| Setting | Distinct details that must agree | Use when |
|---|---|---|
| Broad | 1 | Reach matters more than certainty, such as a prospecting seed |
| Standard (default) | 2 | Most files |
| Strict | 3 | A wrong match is costly, such as a suppression check you want to be exact |
Normalization
Section titled “Normalization”Identifiers are normalized the same way on intake and on delivery, so a person matched on the way in is the same person on the way out.
- Email: trimmed and lowercased.
- Phone: normalized to E.164.
- Names: trimmed and lowercased for matching.
- ZIP: used as a plain value, never hashed.
- Empty values: ignored, never hashed.
Send identifiers as they exist in your system. Moonbrush normalizes them on intake. Files travel and rest encrypted. See What leaves the platform.
Match rate
Section titled “Match rate”The match rate is the share of rows attached to a person. It is shown in the upload preview, by identifier, before the paid build runs. The rate depends on the file: how current it is, which identifiers it carries and which strictness you choose.