How does VWO work at technical level?

Based on current URL, the server determines if a test is to be run or not.

There are two parts of response that the server sends: a) static JavaScript code for running the test; b) dynamic test-specific data. Both static and dynamic portions of reponse are heavily cached at the server backend, so response time is minimal. With code minification and gzipping, the size of response decreases even further.

The response that comes back from the server determines which elements of DOM need to be automatically replaced by one of the variations (as contained in server response). In case of click, form submission or engagement as a conversion goal, a VWO function binds to click event on the page that checks if a conversion has occurred.

After section replacements and binding of goals, the page is displayed to the visitor.