B2Metric · Identity Resolution
One customer. One profile. Every channel.
Your customer is one person — your data says they're six. B2Metric stitches cookies, device IDs, emails, phone numbers and CRM records into a single resolved identity that every segment, journey and model can trust.
- duplicate records before resolution
- 3.4×
- duplicate records before resolution
- match precision on deterministic keys
- 99.2%
- match precision on deterministic keys
- to resolve an identity at event time
- <200ms
- to resolve an identity at event time
anon_8f21c4iOS appidfv_3d9e17Androidaaid_7b02d5CRMu_44192Emailsha256:9c1d…Call centertkt_20714- Cookie ID
- IDFV
- AAID
- Customer ID
- Hashed email
- Phone E.164
- 4.8Capterra
- 4.9Product Hunt
- 4.6G2
- 5.0Gartner
Why it matters
Fragmented identity quietly breaks everything downstream
Every analysis, campaign and model inherits the mistakes in your identity layer.
Inflated audience counts
The same person counted three times turns every reach, conversion and CAC number into fiction.
Contradictory messaging
A customer who just bought on the app still gets the acquisition campaign meant for strangers.
Models learn the wrong thing
Churn and LTV models trained on fragmented records learn from noise instead of behavior.
Consent gets missed
An opt-out captured in one system doesn't reach the others — a compliance risk, not just a UX one.
How it works
From scattered records to one resolved person
01
Ingest every signal
Web, mobile, CRM, call center, POS and warehouse events land in one stream — no schema rewrite required.
02
Match on your rules
Deterministic keys first, then optional probabilistic matching for the records exact keys can't reach.
03
Build the golden profile
Survivorship rules pick the winning value per field, so one person resolves to one trusted record.
04
Activate everywhere
The resolved profile feeds segmentation, journeys, churn models and every downstream channel.
Your rules, your confidence threshold.
Start with deterministic keys — user IDs, normalized emails, E.164 phone numbers — where a match is a fact. Then decide whether probabilistic matching should reach the records exact keys can't. Toggle a rule and watch the identity count settle in real time.
- Order rules by precedence; higher-confidence keys win first.
- Tune the probabilistic threshold instead of accepting a black box.
- Every merge is logged with its rule, score and timestamp — and reversible.
Match rule set
Applied in order
- Exact user ID (applied)
user_id = user_id100%Exact - Normalized email (applied)
lower(trim(email)) match99%Exact - Phone number (E.164) (applied)
+90… normalized match98%Exact - Device ↔ login session (applied)
device_id seen with user_id96%Exact - Name + address similarity (off)
jaro_winkler > 0.9287%Fuzzy - Household grouping (off)
shared address or network74%Fuzzy
Resolved people
44,400
Duplicates collapsed
65.4%
from 128,400 raw records
Person by person
What resolution actually looks like
Each of these customers arrived as several disconnected records. After resolution, one profile — with the full history attached.
- resolved
Elif Demir
Champions · ₺18.4K LTV
6records1profile
- Web cookie
- iOS IDFV
- CRM ID
- Phone
- Loyalty
- resolved
Can Aydın
Loyal · monthly buyer
4records1profile
- Android AAID
- POS card
- Support ticket
- resolved
Zeynep Kaya
New · first session
3records1profile
- Web cookie
- Push token
- resolved
Mert Çelik
At risk · dormant 34d
5records1profile
- Web cookie
- iOS IDFV
- Phone
- CRM ID
Golden profile
When sources disagree, survivorship decides
Two systems hold two different emails for the same person. Pick the policy — the winning value updates everywhere the profile is used.
- Most trusted source
- Most recent update
- Most complete value
Email
3 sources
- elif.demir@corp.com.trCRM · 118d agowinning value
- elif.d@gmail.comWeb form · 4d ago
- elif.demir@corp.com.trMobile app · 27d ago
Phone
2 sources
- +90 532 118 44 07Call center · 9d agowinning value
- 0532 118 4407Web form · 61d ago
Full name
2 sources
- Elif DemirCRM · 210d agowinning value
- Elif Demir YılmazMobile app · 12d ago
City
3 sources
- AnkaraCRM · 300d agowinning value
- İstanbulWeb form · 6d ago
- İstanbul / KadıköyPOS · 18d ago
Marketing consent
2 sources
- Granted — email onlyCRM · 95d agowinning value
- Granted — email, pushMobile app · 8d ago
Elif Demir
1 person · 6 identifiers · 3 devices
person_0x4fa19c- Champions
- LTV ₺18.4K
- Push opted-in
- iOS + Web
- TR / Istanbul
- One canonical ID every downstream system references.
- Field-level lineage: see which source won and why.
- Re-resolves automatically as new evidence arrives.
Downstream
Resolve once, benefit everywhere
Identity isn't a feature you look at — it's the layer everything else quietly depends on.
Segmentation
Every micro-segment counts people, not records — so reach numbers finally match reality.
Flowly journeys
One journey state per person, whichever device or channel they show up on next.
Churn & LTV models
Models train on complete behavioral histories instead of three partial ones.
Campaigns & push
Frequency caps, suppression and consent apply to the human being, not the cookie.
Governance
Built for regulated data teams
Hashed & encrypted
PII is hashed at collection; matching runs on hashes, never raw identifiers.
Consent-aware
Consent and opt-out states resolve with the profile and propagate to every channel.
KVKK & GDPR ready
Right-to-be-forgotten deletes the whole identity graph, not just one record.
Auditable
Every merge keeps its rule, confidence score and timestamp — and can be unmerged.
See how many customers you actually have.
Run identity resolution on a sample of your own data and find out how much of your audience is duplicate.