March 20, 2026 • 7 min read
🔗 Meet Sarah.
Sarah is your best prospect right now. She found you online, loved what she saw, and sent you an email three weeks ago asking about pricing. You replied. She went quiet — the way prospects do. Classic buying behavior. She's thinking.
Then this morning: a Shopify notification. Someone named "S. Chen" just placed an order. Phone number on file: (347) 555-0192.
Your CRM doesn't know it's Sarah.
Your CRM sees: a cold prospect from three weeks ago, and a brand new customer with a phone number and no email history. Two entries. Two follow-up sequences. And somewhere in the near future, Sarah's inbox is going to get two separate onboarding emails — one for the prospect version of her and one for the customer version — both written as if she's never heard of you.
She has heard of you. She bought from you. And you just made her feel like a stranger.
This is the multi-channel identity problem. And it's been quietly destroying customer relationships for as long as CRMs have existed.
The World Doesn't Contact You Through One Door
Think about how leads actually come in today.
Someone discovers you via your website and fills out a form. A week later, they email you directly from a different address — their work email, not the Gmail they used on the form. Their partner places a Shopify order using a phone number that was never in any field anywhere. Their colleague sends a referral email mentioning the same company. A CTM call comes in from a number you've never seen before.
Same family. Same buying intent. Four or five different signals. And in a traditional CRM? Four or five different records, or worse — a mishmash of partial merges that somebody half-heartedly attempted on a Tuesday afternoon before giving up.
The problem isn't that your team is careless. The problem is that CRMs were built around a single assumption: one person, one record, one source of truth. But people aren't tidy. They use multiple emails. They switch devices. Their partners handle purchases. Their phone number changes but their email doesn't. Real people leak across systems in unpredictable ways, and traditional CRMs have no mechanism to handle any of it gracefully.
So what happens in practice?
Without AI: The Identity Tax
Here's what cross-channel deduplication looks like in a world without AI.
Step 1: Hope.You hope that every lead comes in through the same channel, with the same email address, every time. You know this won't happen, but you hope anyway.
Step 2: Notice the duplicates (eventually).Months pass. Your "new leads" count keeps climbing even though your traffic hasn't changed. A rep mentions, offhandedly, that he's been following up with someone who seems really familiar. A customer calls support confused about receiving two welcome sequences. You look at the CRM and realize you have the same person under three different records.
Step 3: The manual merge campaign.Someone on the team volunteers (or is volunteered) to go through the CRM and merge duplicates. This takes an afternoon, then a day, then "we'll finish it next week." Field conflicts: which phone number is the right one? Which stage is accurate? Whose notes get kept? Nobody knows. The merge button gets clicked with a prayer.
Step 4: Write the integration rules.You build a transformer. A custom script that tries to normalize phone numbers, match emails across sources, flag potential duplicates. Forty lines of code that works perfectly until Shopify updates their webhook schema, or your new VA starts entering names differently, or someone adds a hyphen to a phone number that your normalizer didn't account for.
Step 5: Accept that it will never be fully clean.The CRM is never quite right. Some duplicates live forever. "We know about those, just ignore them." Reports are approximate. Forecasts are guesses based on approximate data. And every few months, someone does another cleanup run that makes things a little better and a little worse at the same time.
This is the Identity Tax. You pay it in wasted engineering hours, confused customers, bad data, and deals that fall through the cracks because the CRM never connected the dots.
How Slokoto Solves It: The Enrichment Engine
When a lead first arrives in Slokoto — through any channel — something important happens before anything else: their identity is normalized and indexed.
Not stored. Indexed.
Every email address is normalized (lowercased, trimmed, deduplicated) and stored in an identity aliases table. Every phone number is stripped to digits-only and indexed — because (347) 555-0192 and 3475550192 and +1-347-555-0192 are the same number, and the system needs to know that.
Now the interesting part: when a new signal arrives — a Shopify order, a Gmail thread, a webhook payload — Slokoto doesn't just ask "does this email exist in the CRM?" It runs a full identity resolution:
- Email lookup — Does any existing lead have this exact email, or any known alias of it?
- Phone lookup — Does any existing lead have this normalized phone number?
- Gmail cross-reference — If we got a phone number from Shopify, did this phone number ever show up in a Gmail thread we've seen? (Searching multiple format variants to be sure.)
- Conflict detection — What if the email points to lead A and the phone points to lead B? That's a conflict, and the system flags it rather than guessing. It follows the merge chain to find the canonical record.
- Priority resolution — If multiple potential matches exist, the system picks in priority order: an active lead beats a closed one, a direct identity match beats a Shopify customer history match, a known customer beats a newly created record.
The result: one lead, fully enriched, regardless of how many channels the person touched.
Sarah's Story, Told by the System
Let's walk through what actually happens — under the hood — when Sarah interacts with your business across two channels.
Week 1 — Sarah emails you:
"Hi, I found you through a friend. Can you tell me more about the Growth plan? We're a team of about 15."
Slokoto's Gmail sync picks this up within minutes. It extracts Sarah's email (sarah@acme.co), her name, and signals from the thread content: team size, plan interest, inbound intent. A lead is created. Her email is indexed in the identity aliases table. A todo surfaces for your team: "Sarah from Acme is asking about the Growth plan — follow up today."
Week 3 — Sarah buys on Shopify:
A Shopify order comes in. Name: "S. Chen." Email: left blank (she checked out as a guest). Phone: (347) 555-0192.
Here's what the system does in the next few seconds:
- Normalize the phone →
3475550192 - Query existing leads with this normalized phone → no direct match found
- Cross-reference Gmail history — search Gmail threads for this phone number in multiple formats:
3475550192,(347) 555-0192,347-555-0192,+1-347-555-0192 - Match found — Sarah mentioned her cell number in a Gmail reply two weeks ago. The thread is linked to her existing lead.
- Enrich the lead — Shopify order data (order value, product purchased, order ID) is merged into Sarah's existing lead record
- Stage updated — The AI detects a completed purchase and moves Sarah's deal forward automatically
- Todo created — "Sarah just placed her first order — send a personal thank-you and check in on onboarding"
No duplicate created. No merge required. No manual cleanup. The system read both signals, recognized they came from the same person, and updated one complete record.
One Sarah. Full picture.
What Happens When It Gets Complicated
Real life isn't always clean. Sometimes a phone number and an email genuinely belong to two different people. Sometimes a family shares a Shopify account but has separate email threads. Sometimes someone's email changed and you have two leads for the same person from different periods.
Slokoto doesn't paper over these edge cases. When an incoming signal's email points to one lead and the phone points to a different lead, the system detects the conflict explicitly — rather than silently picking one and hoping. It follows the lead merge chain (up to five resolution hops) to find the true canonical record. If the leads were previously merged, it knows which one is the source of truth.
The philosophy here is: better to surface a real conflict than to silently create bad data. Garbage in, garbage out — Slokoto would rather flag the ambiguity for a human decision than manufacture a false certainty.
Before vs. After
| The Old Way | The Slokoto Way |
|---|---|
| One email = one record (always) | One person = one record (regardless of channel) |
| Duplicate detection is manual | Identity resolution runs automatically on every signal |
| Phone numbers stored as text, never matched | Phones normalized to digits-only and indexed |
| "Merge duplicates" is a recurring calendar event | No merges needed — duplicates never created |
| Shopify customer ≠ Gmail contact (different systems) | Shopify + Gmail + webhook signals enriched into one lead |
| Integration breaks when schema changes | AI reads data in any format and extracts identity |
| CRM says you have 400 leads | CRM reflects 400 real people, not 400 data events |
| Customer gets two onboarding emails | Customer gets one coherent experience |
| Sales rep follows up with a "new lead" who already bought | Sales rep follows up with full context of what they bought |
| Identity cleanup = quarterly nightmare | Identity is clean by design, continuously |
One Lead. One Person. One Conversation.
The reason cross-platform enrichment matters isn't technical. It's human.
Your lead is a person. They've been thinking about you, researching you, talking to you. They don't experience themselves as a "Gmail contact" on Monday and a "Shopify customer" on Thursday — they experience themselves as someone who's been having an ongoing relationship with your business.
When your CRM fragments that relationship into multiple records, you lose the thread. You lose the context. You follow up with the wrong urgency, the wrong message, the wrong timing — because you're working from an incomplete picture.
Slokoto's job is to give you the complete picture. Not by asking you to set up field mappings or run deduplication scripts or build identity resolvers. Just by watching every channel, normalizing every identity, and making sure that every signal about the same person lands in the same place.
Because Sarah is still Sarah, whether she emailed you, texted you, or bought from your Shopify store at 11pm on a Wednesday.And the next time your team reaches out to her, they should know exactly who she is and everything that's happened.
— The Slokoto Team ❤️
P.S. — If you've ever sent a "Thanks for your interest!" email to someone who already bought from you yesterday, this one's for you. It doesn't have to happen again.