VWO (Visual Website Optimizer) is an A/B testing and product optimization platform. It provides an intuitive visual editor where you can run A/B tests without the need to write any HTML code.

Find the open source code for this destination in the GitHub repository.

Getting started

RudderStack supports sending event data to VWO via the following connection modes:

Connection ModeWebMobileServer
Device modeSupported--
Cloud mode---
In a web device mode integration, that is, using JavaScript SDK as a source, the VWO native SDK is loaded from http://visualwebsiteoptimizer.com domain. Based on your website's content security policy, you might need to allowlist this domain to load the VWO SDK successfully.

Once you have confirmed that the source platform supports sending events to VWO, follow these steps:

  1. From your RudderStack dashboard, add a source. Then, from the list of destinations, select VWO.
  2. Assign a name to the destination and click Continue.

Connection settings

  • Account ID: Enter your VWO account ID. For more information on obtaining your VWO account ID, refer to the FAQ section below.
  • Single Page Application(SPA)?: Enable this setting if you're loading the native VWO SDK on a single page application.
  • Send experiment viewed as track: Enable this setting to record your VWO experiment as a track event. RudderStack will then automatically collect the Experiment Viewed event as a track call. For more information on this setting, refer to the Sending experiment viewed from VWO section below.
  • Send experiment viewed as identify traits: Enable this setting to send your experiment data within the traits of your identify event.
If you enable both the Send experiment viewed as track and Send experiment viewed as identify traits settings, then RudderStack independently captures the experiment details and sends them as track and identify events, respectively.
  • Client-side Events Filtering: This setting lets you specify which events should be blocked or allowed to flow through to VWO. For more information, refer to the Client-side Events Filtering guide.
  • Library Tolerance: Specify the maximum time (in ms) RudderStack should wait for the VWO library to load before displaying your web page.
  • Setting Tolerance: Specify the maximum time (in ms) RudderStack should wait for the test settings before VWO displays your original web page.
  • Use Existing jQuery: Enable this setting if your page already includes jQuery. Otherwise, VWO will include jQuery on the page for you.
To function correctly, VWO requires jQuery to be present in the web page.
  • Use device mode to send events: As this is a web device mode-only destination, this setting is enabled by default and cannot be disabled.

Sending experiment viewed from VWO

When you enable the Send experiment viewed as track dashboard setting, RudderStack automatically sends a track event whenever an experiment variation is loaded for a user. It sets Experiment Viewed as the event name along with the experiment and variation details as the event properties.

You can then send this track event to the other destinations (connected to the same source in RudderStack) to analyze the experimentation results.

A sample code snippet for this activity is as shown:

rudderanalytics.track("Experiment Viewed", {
experiment_id: "Signup",
variation_name: "Signup as a default landing"

RudderStack also lets you send the experiment-related data such as the user's traits so that the other destinations have the necessary user-related context of these variations. To do so, enable the Send experiment viewed as identify traits dashboard setting and include the relevant user traits in the identify event.

Tracking revenue goals

RudderStack also lets you forward the revenue amount to VWO when the Order Completed event is called.

RudderStack uses the revenue or amount property for tracking the revenue goals.

A sample code snippet for this activity is shown below:

rudderanalytics.track("Order Completed", {
revenue: 125


How do I add the VWO JavaScript snippet to my website?

To configure VWO SmartCode(JavaScript snippet) on all the web pages where you plan to run your A/B tests, you can refer to this VWO Knowledge Base article.

Make sure you add the VWO snippet inside the HEAD tag of your web page, above the RudderStack JavaScript SDK snippet.

Where can I find my VWO Account ID?

You can obtain the VWO Account ID by following these steps:

  1. Log into your VWO dashboard.
  2. Click the settings icon on the top right and go to Account.

You will find your account ID listed under Account Details.

For more information, refer to the VWO Knowledge Base.

Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.

On this page