We'll introduce you to Server Experiences, how they are delivered, and the advantages over our standard method of delivering personalizations.
Qubit's personalizations are primarily delivered to a client's website via smartserve.js, our proprietary Javascript bundle, which is injected into a page. However, because of the shift to mobile and frontends like React/Angular, Qubit has delivered a more advanced solution, Server Experiences, which uses an API as its delivery mechanism.
Advantages of this approach are:
The Qubit API handles the segmentation and automatically chooses which variation each visitor is served. The experience and relevant variables are then returned for a developer to implement, freeing them to focus on implementing the experience without worrying about any decisioning logic.
Mobile applications (iOS and Android) are compiled binaries with limited scope for dynamic code injection and must go through a review process by app-store providers. Because of this, custom experience logic, typical in web channels, is not possible.
The Server Experiences API allows experiences to be served inside mobile apps, using the Qubit Mobile SDK. These experiences are tracked in the same way as web experiences and utilize the same levels of segmentation.
The key difference is that variations need to be built into the app when released; Qubit then controls which variation is shown, to which users, and when.
When testing much broader site or API changes, such as complete new checkouts or a new backend, the traffic split needs to be done in the backend system before the response is served to the browser. The Server Experiences API can be called from anywhere that can make an HTTP request and has access to a user Id, such as the _qubitTracker cookie, or a User Id of your choosing.
The API will respond with the experiences and variations the user should see, which a developer can then use to serve a new page template, customize a search result ordering, or enable a new feature.