We have website and mobile app, both connected to Sitecore CDP+Personalize by using Stream API.

How to deal with the situation when user identified and added a product to cart through the website, then opened the mobile app (identified with the same account) and complete checkout (or vise versa)?

There are two opened sessions in the guest account: WEB with it`s own browserId and MOBILE_APP with different browserId. (endpoints, point of sale, product ids, reference ids are the same).

It seems that CDP doesn't know how to place an order if some ADD events came from another device session. enter image description hereenter image description here enter image description here

UPDATE: all works fine if I send the same browserId from both devices (in this case both sessions are merged in one single session), but it is impossible to have the same browserId on all devices by using Stream API.

  • Did you try to create an IDENTITY event first before your ADD one? It should help to merge different sessions from multiple devices together Commented Nov 5, 2023 at 21:02
  • yes, there are IDENTITY events in both sessions, you can see it on the screenshots.
    – x3mxray
    Commented Nov 6, 2023 at 18:14
  • Great, when Sitecore Personalize receives an IDENTITY event it runs a linking algorithm in an attempt to match guest data from other sessions based on your organisation's identity rules. What unique identifier do you use to identify a guest as a customer - browser reference or email address? doc.sitecore.com/personalize/en/users/sitecore-personalize/… Commented Nov 6, 2023 at 20:20
  • Email address as you can see on the screenshot. Problem is not with IDENTITY, problem is with sessions from different channels.
    – x3mxray
    Commented Nov 8, 2023 at 14:37

1 Answer 1


Sitecore CDP and Personalize does not support cross session orders (as there's no way without the session ID link to make sure the ADD events correspond to the CONFIRM).

Possible workaround (thanks to Derek Fahey):

You can have logic that on login if items in the basket to resend the ADD events. This would mean the MOBILE_APP session would have all needed to complete the order.

For the WEB session then if you have abandoned trigger setup this will become an abandoned session (technically correct) but you can add logic to the abandoned experience to not trigger if there is another session open for the same guest, this is possible with a condition.

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.