This website works best with JavaScript enabled. Learn how to enable JavaScript.

How VWO Works

Last updated

The VWO servers interact with your website through the JavaScript code snippet added to all the pages on which VWO tests and goals are running. VWO uses the code to implement any changes on your test pages and render them accordingly to your visitors.

  1. The smart code snippet you add to your website pages contacts VWO server whenever a visitor lands on a page where the VWO code is running.
  2. Next, VWO server determines whether it should run the test or not for the visitor (based on your segmentation settings) and sends a response.
  3. There are two parts of a response – static JavaScript code for running the test and dynamic test-specific data. These responses are cached on the VWO server to minimize response time. With code minification and gzipping, the duration of response decreases even further.
  4. The response from the server determines which DOM element on the control version should be replaced in the variations. For clicks, form submissions, or engagement goals, a VWO function binds the click event on the page that checks if a conversion has occurred.
  5. The website is rendered after the implemented changes are loaded to the website to be displayed to your visitors. All this happens in milliseconds behind the screen.
    PRO-TIP VWO provides two types of tracking code to add to your website pages – Synchronous code and Asynchronous code. To understand the difference between the two, click here.

VWO Network Calls

During any test, VWO uses a number of network calls between your website and VWO servers. Here’s a list explaining what each call does:

Fetch test settings

Asynchronous VWO Smart Code makes this call to fetch settings based on the current URL. It includes data of all the changes that need to be applied to the page and rendered to the visitor. The data format varies depending upon the type of test that is running – A/B testing, Split URL, Multivariate, Visitor Analysis, Surveys, and so on.

Synchronous code makes this call to fetch settings on the current URL. This call performs the same function as j.php does for Asynchronous code.

Library Calls

Library calls are a core component of VWO that read and apply test settings. You can track goal conversions and attach different event listeners on the test pages. These calls are important to implement changes during an A/B test, MVT, or Personalisation. In case of Split URL tests, the library redirects the URL to the variations.

Asynchronous code makes this call to send information of the jQuery version used by VWO.

Asynchronous code makes this call to send information of the jQuery version used by the visitor’s website.

Synchronous code makes this call to to send information of the jQuery version used by VWO.

Synchronous code makes this call to send information of the jQuery version used by the visitor’s website.

Pixels Calls

This call is for visitor tracking. As soon as a user lands on your website and becomes a part of the test, l.gif comes into action.

This call is used to create a heatmap based on the user clicks on your website. As soon as a user clicks on any part of the web page, h.gif is called. By default, in a single session this call can be fired 3 times at the most, which means that upon the 4th click on the page, h.gif won’t be fired. However, this value is customizable, and you can change it to track as many clicks as you want.

This is the call that tracks goal conversions. Goal conversions are tracked only when the c.gif call is fired. This call contains the goal ID, which is unique to every goal in your test.

This call is for internal purposes and tracks unique visitors for an account. It also tracks the visitor settings timeout events.

Was this article helpful?

Thanks for your feedback!
Please email us at to tell us what you were looking for. We'll send the answer to your inbox.

Contact Us / Login