I have a requirement where I need to identify returning users on the website. The users could be anonymous (It's for a movie chain, so people purchase without creating accounts too)

Will xDB be able to recognize the contact even if the cookies are cleared on the user's machine?

Has anyone implemented anything similar?

  • 1
    Is there any chance that the user would be coming to the site with a uniquely identifiable URL?
    – Chris Berg
    Oct 7, 2016 at 20:58
  • 1
    Well, we do have different urls for different sales channels and regions, so may be we can create personas for different channels and regions and then personalize the website for anonymous user per channel.. Thanks for the idea! I will put this forward to the business users and let's see. Oct 7, 2016 at 21:00

2 Answers 2


If cookies are cleared, there is no way if you hadn't gotten them to self identify first.

More info:

You want to get users to self identify with an email address of some kind as quickly as possible. Then you want to utilize the Tracker.Current.Session.Identify (string identifier) method in order to convert the anonymous user to a Known Contact.

The Identify method merges interactions from the anonymous contact to the known contact.

Additional Info

Once a user is Identified through that method, all interactions going forward are logged to the known contact.

If this user walks away without logging out specifically (nor doing a Tracker.Current.Session.EndVisit()), if the session timeout doesn't occur, then the next person browsing on that computer will be of that contact.

Care should be taken to adequately Identify as well as log out contact visits.

Comment Scenario

You have to find some kind of information that they would be willing to give you, that can be unique enough. So then in that example, you could, generate a user code dynamically and Identify() with that generated code that is unique enough.

The next time they come back, have some process where they provide that code you gave them, and you can pick up the contact record by Identify using that code.

The moment that they provide an email address, identify with the user code first, then modify the contact record (and change the identifier to the email address.

If you need examples on how to edit the contact record, I've a few on my SitecoreHacker.com blog.

  • Thanks Pete, but the problem with people purchasing movie tickets anonymously is that, they wont provide the email address until they are on the purchase page. The tracking issue arises only for dormant users, who come to the site to purchase a movie ticket after may be a month and don't want to create an account. And we want personalize the website for them so that they create accounts and earn loyalty. Thanks ! Oct 7, 2016 at 21:03
  • I should mention, this is a moot point if they hadn't cleared cookies. It'll keep the same ID, but the cookies being cleared really requires that some kind of information is provided by them in order to make the connection. Hope this helps. =) Oct 7, 2016 at 21:15
  • 6
    If they are on a phone you can use Sitecore's FrontCameraManager to remotely activate the forward facing camera and snap a few frames. Then send the image to the NSA's web api for facial recognition (I think it's called Instagram or something) and get the person's social security number and put that in a cookie... oh wait, I guess you still need a cookie that way too. Never mind. Oct 7, 2016 at 22:39
  • 1
    Martina W has a nice complete end-to-end blog post about this which is worth aread mhwelander.net/2016/08/24/… Oct 10, 2016 at 10:02

You have two tracking cookies, one for Session, the other for Global Session (SC_ANALYTICS_SESSION_COOKIE, and SC_ANALYTICS_GLOBAL_COOKIE). Sitecore doesn't track contacts based on the global cookie but you can get it through code. Each of the Contacts has a Global cookie which has a unique ID in the table. That way you can map the anonymous user. Of course, if the cookies are deleted, they need to provide you some kind of info, like an email as Pete has suggested.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.