This is for:


In this article, we’ll show you how to publish an experience and what happens under the hood when you do that.

Publish your experience

Once you’ve created and configured an experience and previewed it on-site, the final step is to launch in on your site.

When you’re ready to go live with the experience, select Publish experience

Your experience will be live on your site in a few minutes and you’ll now see it in your Live view.

Under the hood

Experiences are deployed onto the client site through the smartserve.js script. In this section, we will cover the process of how experiences are deployed and how to optimize the code for site performance.

When a new experience is published or paused, smartserve.js is re-published to the client site through our CDN. This can take up to five minutes.

When loaded, smartserve.js assesses whether a visitor meets the conditions for any segments linked to the experience. If they do, smartserve.js then assesses whether trigger conditions have been met. Only then will the visitor be served the experience.

For dev users

Optimize for performance

When optimizing for performance, we recommend that customers are creative in the use of images and use CSS, where possible, in place of images. Where images are required, use the compressed or progressive JPEG file types.

Optimize for flicker-sensitive areas

For experiences with a requirement to minimize flicker and page load times, such as home page takeovers and landing page tests, we recommend implementing Smartserve synchronously.

Where possible, test builds should:

  • Use compressed or progressive JPEG file types to minimize file size

  • Where possible, use CSS as an alternative to images

  • Use an optimal polling strategy to check for elements


Qubit has developed a ‘poller’ that can be used to poll for elements on the page that are used as requisites for building personalizations.

Implementation details

Proxy IPs

To ensure experiences run on QA and UAT sites, which are typically protected by a firewall, you need to allowlist the following IPs: