Build this audience in Segmentloom →
Request accessIdentity resolution is one of those concepts that gets pitched as a major infrastructure problem requiring a sophisticated graph database, a dedicated engineering team, and a probabilistic matching vendor. For some organizations — enterprise retailers with tens of millions of users across hundreds of touchpoints — that framing is accurate. For a growing SaaS or e-commerce company trying to stop double-counting users and build cleaner audiences, most of that complexity is optional. The basics that actually matter are much simpler, and understanding them precisely is more valuable than investing in infrastructure you don't yet need.
The Core Problem: One Person, Multiple Identifiers
The identity resolution problem exists because the same human generates events under multiple identifiers across a single session and across sessions. Before a user logs in, their browser assigns them an anonymous_id — a cookie-based or device-based identifier that tracks their pre-authentication behavior. When they sign in or sign up, they get a user_id — a persistent, authenticated identifier tied to their account. These two identifiers exist in your event stream as separate entities unless you explicitly stitch them together.
The consequence: a user who visited your pricing page three times as an anonymous visitor and then signed up looks like two different users in your event data — an anonymous user with three pricing page views, and a new authenticated user with no historical behavior. If you're building a behavioral audience for pricing-intent retargeting, that authenticated user won't qualify for your audience because their pricing views are attributed to their anonymous ID, which is now orphaned.
This isn't hypothetical. It's the default state of any event tracking setup that doesn't implement an explicit alias call at the moment of authentication.
The Alias Call: The Most Important Identity Resolution Mechanism You Might Be Missing
Most modern analytics SDKs — including the one popularized by tools in the Segment ecosystem — provide an alias method specifically to handle this transition. When a user authenticates (signs up or logs in), you fire an alias call that tells the system: "the anonymous_id abc123 and the user_id user_456 are the same person. Merge their histories."
In a JavaScript SDK, this typically looks like:
// At the moment of signup or login:
analytics.alias(userId);
analytics.identify(userId, {
email: user.email,
plan: 'free',
signed_up_at: new Date().toISOString()
});
The alias call is often missing or incorrectly placed in implementations built by engineers who are instrumenting events for product analytics purposes, not for identity resolution. The common mistake is firing the alias call on a server-side event handler (which has access to the authenticated user_id) but not associating it with the specific anonymous_id from the browser session that preceded login. The result: the alias call fires, but it aliases the wrong anonymous session, or it aliases nothing because the anonymous_id wasn't passed through.
Before assuming your identity resolution is broken, audit the alias call in your SDK implementation. This single call, correctly implemented, resolves the majority of the pre-authentication/post-authentication split that affects behavioral audience quality for most growing companies.
Cross-Device: Where It Actually Gets Complicated
The anonymous-to-authenticated alias problem is solvable with a code change. Cross-device identity resolution — recognizing that the same person browsed on mobile Safari yesterday and is now on desktop Chrome — is genuinely harder.
Deterministic cross-device resolution works when the same user authenticates on multiple devices. When they log in on mobile, their mobile session's anonymous_id gets aliased to their user_id. When they log in on desktop, the desktop session's anonymous_id also gets aliased to the same user_id. After both alias calls, the platform can stitch mobile and desktop behavior under the same profile. This works well and requires no additional infrastructure beyond the alias call described above.
Probabilistic cross-device resolution — inferring that two devices belong to the same person without a login event — is where the identity graph vendors earn their complexity premium. IP address correlation, device fingerprinting, behavioral pattern matching: these are legitimate signals but come with accuracy tradeoffs (typically 60-80% accuracy for probabilistic matching, depending on the vendor and dataset) and privacy implications that are worth understanding clearly before investing in them.
We're not saying probabilistic identity resolution is unnecessary — for marketing mix modeling at scale, it matters. We're saying that for most growing teams, deterministic resolution (alias calls + email-based matching for ad platforms) gets you 80-90% of the identity quality you need, without the infrastructure investment or privacy surface area of probabilistic graph systems.
Email as the Cross-Platform Identity Bridge
The most practical identity resolution mechanism for connecting product behavior to ad platform audiences is email address. When you sync a behavioral audience to Google Ads customer match or Meta custom audiences, the match is done against hashed email addresses. If the email your user signed up with is the same one on file with Google or Meta, the match succeeds and you can reach them with ads.
This means your identity resolution for ad targeting purposes is largely handled outside your CDP: it's the ad platform's ability to match your user's email against their identity graph. Your job is to ensure the email is clean (normalized, no typos from manual entry), current (updated when users change their email address in your product), and correctly attributed (associated with the right user_id, not an orphaned anonymous ID).
A practical scenario: consider a growth team at an early-stage SaaS product with about 8,000 active users. When they built their first customer match audience for retargeting and uploaded it to Google, the match rate was 42% — far below the 65-80% they expected. Investigation found that roughly 30% of their user accounts were created with email addresses that didn't match the user's primary Google account (corporate email vs. personal Gmail). The remaining discrepancy came from accounts with email addresses that had bounced and been invalidated in their system but never cleaned. Neither of these is an identity resolution failure — they're data hygiene issues that no amount of identity graph investment would fix.
The Profile Merge Cascade: Getting It Right Matters Later
One underappreciated consequence of identity resolution is what happens to behavioral history when profiles merge. If an anonymous user accumulated 45 days of behavioral data before authenticating, and that behavioral data is correctly aliased to their authenticated profile, then behavioral audience conditions with 30-day lookback windows will include those 45 days of anonymous history. That's the right behavior — it means your pricing intent audience correctly captures users whose pricing research started before they logged in.
If the alias call is missing or broken, that anonymous behavioral history is orphaned. The authenticated user appears to be a brand-new user with no pre-signup engagement, and they'll be excluded from behavioral audiences that rely on pre-authentication events. This is a silent failure — no error appears in your event stream, but your high-intent retargeting audience is systematically missing the users who did the most research before signing up, which are typically your highest-conversion candidates.
What You Actually Need to Audit
For most growing companies, an identity resolution audit has three steps:
- Verify the alias call fires at authentication. Check that your SDK implementation calls
aliasor its equivalent at every authentication event (signup and login), using the correct anonymous_id from the pre-authentication session. - Check anonymous-to-authenticated profile merge rate. In your event data, compare the percentage of authenticated users who have pre-authentication events on their profile versus users who appear to start fresh at signup. A rate below 70% suggests alias call issues.
- Audit email address quality for ad platform syncs. Clean your email list — normalize case and whitespace, validate format, remove known bounced or inactive addresses. Match rate improvement from email hygiene is often more impactful than additional identity resolution tooling.
None of these three steps require a new vendor or a significant engineering investment. They require looking at what's already in your event stream and confirming it's correct. For most growing teams, that's where the highest-return identity resolution work lives.
Build audiences from your own events →
Request access to Segmentloom

