Loading...

MCP Visitor vs User Profile: When the Platform Merges Identities

Marketing Cloud Personalization keeps two profile types per person: an anonymous visitor profile and an identified user profile. Knowing when MCP merges them and when it does not is the foundation of every behavioral signal the platform records.

MCP Visitor vs User Profile: When the Platform Merges Identities

Marketing Cloud Personalization keeps two distinct profile types for each real person who interacts with a site. The visitor profile is everything the platform learns before it knows who someone is. The user profile is what it knows about the same person once they have signed in, signed up, or otherwise identified themselves. Most production issues with personalization quality come down to one of these two profiles being wrong, or the merge between them happening at the wrong moment.

The two profiles, in plain terms

A visitor profile is keyed by a cookie. The first time a browser arrives at the site, MCP issues a visitor ID and starts attaching behavioral data to it: page views, items viewed, searches, cart adds, dwell time, affinity signals. The visitor profile lives as long as the cookie does, which in practice is the cookie expiry set by the integration (typically 12 to 24 months) or until the user clears storage.

A user profile is keyed by an identifier the site provides when a person identifies themselves. Most commonly this is an email address or an internal customer ID. The user profile is durable across devices and sessions because it is keyed off something stable.

The platform treats these as separate records on purpose. Two browsers that share a household share visitor profiles only by accident. The same person in two browsers shares a user profile if and only if both browsers have at some point identified the same person.

When MCP merges visitor into user

The merge happens at the moment the integration tells MCP "this visitor is now this user." Concretely, that is a setUser call (legacy Evergage SDK) or the equivalent identity beacon on the modern client.

The trigger has to be explicit. Logging in is the obvious case. Newsletter signup with email capture is another. Adding an email to a checkout flow before account creation often is. Any moment the site newly learns who the visitor is should fire an identify call.

Once that call lands, MCP merges the visitor's behavioral history into the user profile. Every product view, every affinity signal, every cart add the visitor recorded becomes part of the user's history. Recommendations, segments, and cross-device coordination all start working from the merged record.

When the merge does not happen, even when it should

Three patterns silently break identity merge in production.

First, the identify call fires before MCP loads. On pages with deferred SDK loading, the login event runs against an SDK that has not initialized. The call is a no-op. The visitor never gets associated with the user. The fix is to queue identify calls and replay them once MCP confirms ready.

Second, the integration uses the wrong identifier. A site that uses email as the user ID at the front end but customer-ID as the user ID in the catalog feed will produce two disconnected user profiles for the same person. Pick one identifier system-wide, lock it in, document it. Every system that touches MCP user records uses the same key.

Third, the identify call has no user ID at the moment of execution. A common bug: the page fires identify with userId: "" or userId: undefined because the auth state had not hydrated yet. MCP either rejects or, worse, accepts the empty value as a valid identity. Guard the call. Skip it if there is no real ID.

The cross-device case

The user profile is the cross-device anchor. A person who logs in on their phone, then later logs in on their laptop, ends up with two visitor profiles (one per device cookie) but one user profile shared between them. The merge happens device-by-device the moment each device fires its identify call.

What does not transfer cleanly: behavioral data accumulated on a device before that device ever identified. If a user browsed anonymously on the laptop for three weeks, then signed in for the first time, the prior three weeks of laptop behavior get retro-merged into the user profile. That is good. But if the user later clears cookies on the laptop and never signs back in, the next anonymous session on that laptop is a fresh visitor profile, disconnected from the user profile that already exists.

For programs that depend heavily on cross-device continuity, the rule is to encourage signed-in browsing. Every additional anonymous session is a chunk of behavioral data the platform may lose track of.

Profile lifetime, in practice

Visitor profiles age out with the cookie. Cookie clear, browser change, private window, all break the visitor profile chain.

User profiles age out only by data retention policy. If MCP retains user data for two years (configurable), a user who has not been seen in 25 months is purged. Behavioral history is lost. The next sign-in starts a new user profile with the same ID but no history.

Most teams underestimate how often visitor profiles churn. On consumer sites with a privacy-conscious audience, anonymous visitor profiles routinely turn over every two to four months even when the site cookie expiry is nominally 12 months. The implication is that affinity learning has less time to develop than the configured cookie suggests, which is one of the reasons cold-start performance matters more than the marketing material implies.

What this means for implementation

The discipline that protects against profile-merge bugs is short and worth writing down once per project:

  • Identify calls fire on login, signup, post-auth pageview, and any moment the user newly identifies. Not just on first login.
  • Identify calls use the same identifier value used everywhere else. Email or customer-ID, pick one, document it.
  • Guard against empty identifiers. Defer the call until auth state is real.
  • Test the merge by browsing anonymously, then signing in, then verifying the user profile picks up the prior behavioral data. The MCP debug overlay shows this directly.
  • Test on a fresh cookie regularly. Visitor profile churn is real, and the recommendation quality story is incomplete without testing what new visitors see.

The visitor-versus-user distinction is one of those concepts that feels obvious on the slide deck and produces six months of subtle data quality issues in production. Understanding which profile owns a given behavior, and the rules that move data between them, is foundational to everything else MCP does. Sapota's Salesforce team rebuilds this clarity into every Personalization engagement before touching campaigns.


Implementing or auditing identity logic in Marketing Cloud Personalization? Sapota's Salesforce team handles identity strategy, merge configuration, and cross-device coordination on production engagements. Get in touch ->

See our full platform services for the stack we cover.

Contact Us Now

Share Your Story

We build trust by delivering what we promise – the first time and every time!

We'd love to hear your vision. Our IT experts will reach out to you during business hours to discuss making it happen.

WHY CHOOSE US

"Collaborate, Elevate, Celebrate where Associates - Create Project Excellence"

SapotaCorp beyond the IT industry standard, we are

  • Certificated
  • Assured quality
  • Extra maintenance

Tell us about your project

close