Identity Resolution
Merge sessions, devices, and identifiers into unified profiles — your way, with YAML.
💡 What is Identity Resolution?
When events come in — whether from anonymous sessions, logged-in users, or mobile numbers — Growcado helps you decide who’s who and what belongs together.
You define the identifiers that matter (like user_id, anonymous_id, email, mobile_number) and set up a priority system. Growcado builds a flexible identity graph based on your rules.
No assumptions. No vendor magic. Just your config, your logic.
🧩 Why it matters
Tie anonymous sessions to logged-in behavior
Resolve data across devices (web, mobile, app)
Handle cases like user account merges or mobile-first users
Keep your tracking consistent and human-centric
⚙️ Config: Defining Customer Identifiers
In your YAML config, you’ll define which identifiers Growcado should look for — and how to prioritize them if multiple exist.
Here’s an example:
customer_identifiers:
- name: user_id
path: user_id
priority: 10
- name: email
path: context_traits_bsn
priority: 20
- name: mobile_number
path: context_traits_mobile_number
priority: 30
- name: anonymous_id
path: anonymous_id
priority: 40
🧠 How it works:
Path: Tells Growcado where to find this value in the event payload
Name: Used for identity graph linking — e.g.,
user_id,mobile_numberPriority: Lower number = higher authority. If two events conflict, the one with higher-priority ID wins.
🧪 Example in action
Let’s walk through a real-world identity resolution story. Three events, three contexts — one unified customer profile.
🧍 Event 1: Anonymous visit
{
"anonymous_id": "anon_123",
"event": "Page Viewed"
}The user is browsing anonymously. No login, no traits — just a session.
🙋 Event 2: Logs in with email
{
"user_id": "user_789",
"anonymous_id": "anon_123",
"context_traits_email": "sarah@example.com",
"event": "User Logged In"
}Now they log in. Growcado sees both user_id and the original anonymous_id, and links the two. Bonus: we now know their email, too!
📨 Event 3: New anonymous session, joins newsletter
{
"anonymous_id": "anon_456",
"context_traits_email": "sarah@example.com",
"event": "Newsletter Signup"
}A few days later, they return (on a different device or cleared cookies), so they have a new anonymous ID. But they enter the same email as before.
Growcado detects the matching context_traits_email and connects this session to the existing profile — even without user_id.
📋 Final Result: One Unified Identity — Multiple Views in Your Warehouse
After these events are resolved, Growcado generates the following materialized outputs directly in your data warehouse:
🔗 identity_graph
A table that shows clusters of connected identifiers — for example, all the user_id, anonymous_id, and email values that belong to the same person.
cluster_001
user_id
user_789
cluster_001
anonymous_id
anon_123
cluster_001
anonymous_id
anon_456
cluster_001
email
sarah@example.com
👤 unified_profile
One row per resolved profile — this is your master view of each customer.
e602c827d11
false
2024-10-17 15:20:09
2024-10-17 16:06:52
3
a45436cd9992
true
2024-10-18 16:39:03
2024-10-18 16:54:41
1
🔍 identity_lookup
Need to find someone fast by any ID? This table gives you instant profile lookup by any known identifier.
user_id
user_789
profile_abc
email
sarah@example.com
profile_abc
anonymous_id
anon_456
profile_abc
🎟 enriched_events
Your original events — but now with a profile_id attached, so you can join or segment with ease.
Page Viewed
2025-05-10T10:15Z
profile_abc
...
User Logged In
2025-05-10T10:20Z
profile_abc
...
Newsletter Signup
2025-05-12T08:44Z
profile_abc
...
Last updated