This year Brimit showcased its new Experience Add-in for Outlook and Dynamics (an add-in for Salesforce to follow shortly) with an interactive and eye-catching demo presented during Sitecore Symposium 2018 in Orlando, FL. This article outlines the concept of the demo and reveals some technical details.
A web user’s customer journey includes many touch points across a variety of online and offline channels. Companies that use Sitecore have the best-in-class technology to enable multi-channel experience for their users. However, very few clients have adopted a true multi-channel strategy. It is not enough to just establish presence in multiple channels and record interactions within Sitecore xDB. It is critical to enable seamless transitions between channels while maintaining optimized and personalized context throughout the customer journey itself.
The demo product presented by Brimit during Sitecore Symposium 2018 featured a smooth transition of user experience from an e-commerce website to an offline store. Brimit used a device called HyperVSN Solo, which offers the customer innovative 3D holographic imaging as an alternative to traditional LED screens.
Our demo product is a solution for the following user journey, or ones similar to it:
For example, a male user, who purchased an Android device online, is shown a space gray Samsung Gear S3. A female user, who purchased a red iPhone, is shown an image of an Apple Watch with a red wristband.
Sitecore allows for content personalization scenarios on many more characteristics than stored in the user profile—occupation, pages visited, documents downloaded, forms submitted, items added to a cart or a wishlist, etc.
Connecting online and offline user journeys requires a number of technologies put together to make it work.
Sitecore Experience Platform has a built-in tool, the Message bus, which we consider to be a hidden gem. the Message bus is hardly ever used by Sitecore developers because of the lack of documentation and, regretfully, very few posts. the Message bus is a message transport mechanism that allows Sitecore application roles to communicate across boundaries.
Multi-channel strategy requires different Sitecore parts and external systems like CRM and apps to talk to each other, contribute to the experience profile, and participate in experience adjustment.
The scheme below illustrates the extensive use of the Message bus in our Symposium demo.
Image 1. A scheme of the demo product.
Every time a change is made in a contact, we want to update that contact in Dynamics CRM using Data Exchange Framework (DEF). Out of the box, DEF can sync a list of contacts on a schedule and runs in the CM role. xConnect is a primary interface for any contact changes; however, it can’t run in the CM role during the DEF call.
Brimit created an xConnect service plug-in to capture AddContactOperation and SetFacetOperation in xConnect. This xConnect plug-in saves a SyncDynamicsContact message to the Sitecore Message bus. Brimit also implemented a message handler in the CM role to process these messages and push contact changes to Dynamics 365 using a Data Exchange Framework API.
Image 2. A scheme of communication between xConnect and Dynamics CRM via Data Exchange Framework
Every time a customer enters a store, we want to update the HyperVSN offline device with a recommended product based on previous online purchases. Obviously, we want this offline experience to be controlled by the marketer. Sitecore Marketing Automation is a good place to start. Check-in information is submitted directly to xConnect, and it immediately enrolls the contact in the following marketing automation plan.
Image 3. Marketing automation plan editing interface
Update Device activity is where the HyperVSN hologram gets updated according to an individual customer’s profile and purchase history, thus triggering the display of the recommended products. However, the Marketing Automation engine does not have access to any content database (i.e., a personalized HyperVSN playlist) and does not have access to an offline device API.
Image 4. A scheme of communication between the marketing automation function and the third-party device API
By adding an “AutomatedMessage” message to the Message bus, the “Update Device” marketing automation activity type submits a message to the Message bus to accomplish “UpdateDevice.” A handler in the CM role picks up the “UpdateDevice” message and requests the JSS Layout Service to get personalized content. Once personalized content is received, a new message is saved to the Message bus to the “SetPlayList.”
The device console is connected to the same Sitecore the Message bus to process the “SetPlayList” message, thereby updating the holographic content using a HyperVSN device API.
On average it took 8–10 seconds to display personalized holographic content after the customer made an action on the website or when a change was made to the Sitecore Experience Profile in Microsoft Dynamics CRM.
Our demo showcases the use of xConnect, the Marketing Automation function, and the Message bus to enable seamless multi-channel transition.