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

How to Set Up a Split URL Test for Multiple Pages

Last updated

To run a split URL test across your website, use the URL matches pattern option to define the set of URLs you want to include in the campaign. For example, if you are testing different themes, sidebar location, placement of ads, and so on, define the URL pattern for both control and variation, using the wildcard * (an asterisk) to match a part of the URL.splittest-ts1

For example, if a user lands on, then Variation URL after redirection would be

ATTENTION Ensure that each control URL has a corresponding variation URL. VWO does not capture the data if there are no corresponding URLs or if the page throws the 404 error. Also, make sure that VWO smart code is added to every page where you want to run the split URL test.

Setting Up Negative Regex

To run your VWO test on specific pages, you can create a negative regex and add in the Exclude URLs section. For example, let us say you want to run the test specifically for 4 pages in the product section of your website – shoes, bags, dresses, and home. To set up a negative regex for the test, enter the URL details as follows:


URL matches pattern*


URL matches pattern*

Excluded URLs:

URL matches Regex 


The negative regex will make sure that the test will run only on the specified pages.

Setting Up Custom URLs

Custom URLs are used to run VWO tests on multiple pages of a website when it does not have a consistent pattern in the URLs. For example, consider an ecommerce website that has several independent URLs for category or product pages without any defined pattern, like,,,, and you want to run the test on only on shoes pages (the first two URLs).

You can use the Custom URL option to define an imaginary custom URL as an identifier for the pages you want to test, even if the URL may not exist.

For example, if a user wants to run a split URL campaign on few URLs such as:



The imaginary URL “_vis_opt_url” can be set as below for all the Control URLs:

_vis_opt_url = document.location.protocol + '//' + document.location.hostname + "/test" + document.location.pathname + + document.location.hash

Now, the URL setup in VWO would be as follows:

  • Control (as per the imaginary URL added in code):*
  • Variation:*?camp=vwosplittest-ts2

In case of a split URL, a custom URL campaign needs to be set up, per the requirement and URL structure of the test website. Therefore, feel free to reach out to if you need any help in building a custom URL for your requirement.

Modify VWO Asynchronous code to implement custom URL

For tests using VWO asynchronous code, make the following changes to the asynchronous code snippet and add custom URL to the _vis_opt_url variable:

  1. Just before var _vwo_code=(function(){ add the following code snippet: 
    var _vis_opt_url=document.location.protocol + '//' + document.location.hostname + "/test" + document.location.pathname + + document.location.hash
    Note that this value will change according to your use case.
  2. After the accountId, add _vis_opt_url = window._vis_opt_url || document.URL
  3. Replace encodeURIComponent(d.URL) with encodeURIComponent(_vis_opt_url)

Modify VWO Synchronous code to implement custom URL

For tests using VWO synchronous smart code, you can modify the code snippet to add the custom URL to the _vis_opt_url variable as follows:

<script type="text/javascript">
   // Only on pages where this test is to be run
 var _vis_opt_url=document.location.protocol + '//' + document.location.hostname + "/test" + document.location.pathname + + document.location.hash………
   // Common VWO Code
   var _vis_opt_url = typeof(_vis_opt_url) == "undefined" ? document.URL : _vis_opt_url;.
   '&url=' + encodeURIComponent(_vis_opt_url) + '&random=' + Math.random()

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