How to use MV Lab

  • There are 2 ways to use MV Lab:
    • Basic Mode – enough for most users, good to get started with the tool
    • Advanced Mode – for advanced users that want to get the most out of the tool
  • The Basic Mode is recommended when you learn the usage in order to see how things work and how MV Lab integrates with CPV Lab Pro.

Basic Mode for MV Lab

Page elements:

  • Snippet
    • Each piece of content from your landing page that you want to test and rotate is named Snippet.
      • You can have up to 8 different Snippets in a single landing page.
      • The snippets are a piece of text, but they can appear as texts in a page or in any other HTML element (image source, iframe etc).
    • Usually you would define snippets for page titles, headlines, paragraphs, call-to-actions and image names.
  • Variation
    • The values that will rotate inside each snippet are named Variations.
      • There is no limit of variations for each snippet, you can define as many as you wish.
      • You can specify a share for each variation and that will be the probability of that variation to appear in the snippet.
      • A variation with 100 share is 10 times more probable to be displayed than a variation with 10 share, which is 10 times more probable to be displayed than a variation with 1 share.

MV Lab page


  • We have a simple HTML page called basic-sample.html
  • We use MV Lab to generate the code so we can create one landing page with multiple variations for texts/images/colors.

1. First we generate the code in MV Lab editor (check the video below)

  • Once you have defined the snippets and variations, click the Generate Code with above values button and you will receive the code that should be added in your landing page, at the beginning of the page.

2. Next step is to create the landing page

  • Once the Code is generated, you need to create a .php page to use it
  • Mark the places from your landing page where the multivariate snippets will appear. Each snippet will be marked with ##snippet_X## where ‘X’ will be replaced by the snippet number.
  • Upate the original .html page and save it as an .php page (example in the video below)
  • Upload the landing page, any landing page dependencies (images, CSS files, JavaScript files) and the mvlab.php file on your server. Then you can access your landing page in a browser and see the first variations appear.
  • Refresh the page several times and you will see new variations appearing each time. (check image below for details)

MVLab Test new generated page

Integration with CPV Lab Pro

  • The above example will generate a multivariate test landing page for you which will display different variations on each page refresh.
  • You can have the variations tracked into CPV Lab Pro in order to see which ones work well and which should be removed easily.

In order to perform the CPV Lab Pro integration you need to do the following:

1. Define an extra token in your campaign for each snippet in your landing page.

  • Select the multivariate number from the Tokens Dropdown control and the parameter of the extra token will become {multivariateX}, where X is the snippet number.

2. When you generate the MV Lab code in the visual code-editor you would first select the campaign that has the multivariate extra tokens defined.

  • You can add all the snippets and variations, or you can "Parse existing code"
    • with "parse exising code" function you can load an older setup for MV Lab and just update it (you don't have to write again all the settings)
  • Notice that each snippet has an Extra Token assigned

MVLab Snippets assigned to Tokens

3. Specify the CPV Lab Pro domain to pass back the variation details.

  • If you select ‘Without CPV Lab Pro integration’, then the variation details won’t be passed back to CPV Lab Pro.

4. Test the campaign

  • Once the multivariate Landing page is created, you can assign it to the campaign and run some tests
  • Check the campaign stats for the multivariate tokens

Import existing code

  • When you have an existing multivariate code in your landing page and you want to modify it (add/remove snippets and/or variations), then you can either do this manually in a text-editor, either use the same visual code-editor from CPV Lab Pro.
  • Copy and paste the existing code in the dedicated box and then click the ‘Parse existing code’ button.
    • You will see the boxes from the editor populate with the snippets and variations from the existing code.
  • The visual editor can import multivariate codes generated by MV Lab and also by other multivariate tools (like Landing Page Genius).

MVLab import existing code

Advanced Mode for MV Lab

The following features are included in the Advanced Mode and are designed to offer more control over your multivariate tests.


  • Groups are used to hold snippets and variations.
    • When using multiple groups inside your landing page, each visitor is first sent to one of the available groups and only after that it gets variations from that group assigned to him.


  • We may have a landing page that displays one of 2 headlines:

    • ‘Dana has lost 30 lbs!’ and ‘Dan has lost 30 lbs!’
    • and 2 images (one of a woman and one of a man)
  • If we don’t use groups, the variations rotation may display the following combinations of "headline – image" for your visitors:

    • Dana has lost 30 lbs! – image with a man
    • Dan has lost 30 lbs! – image with a woman
  • Of course we don’t want to have such combinations where the headline has a woman name, but the image is a man or when the headline has a man name, but the image is a woman.

  • To avoid such issues we can easily create 2 separate groups in the visual code-editor and place all variations related to Dana in one group and the variations related to Dan in the other group. (check the video below for more details)

  • The 3rd snippet, the one for the CTA, can be used for both Dana and Dan, so we will duplicate the variations of this snippet in both groups.


Note: You can define a maximum of 8 groups in your MV Lab landing pages.

Shares for Variations and Groups

  • In order to have more control over the number of times a variation or a group is displayed you can define shares for them.
    • A share must be a positive numeric value which specifies the probability of that variation/group to be displayed for visitors.
    • A variation with 100 share is 10 times more probable to be displayed than a variation with 10 share, which is 10 times more probable to be displayed than a variation with 1 share.
    • If shares are not defined, then all variations will be equally likely to be displayed.
  • Unlike the Landing Pages and Offers defined in the campaign setup page from CPV Lab Pro, these shares shouldn’t add up to 100%.
  • The group shares work in the same way as the variation shares. A group with 10 share is 10 times more likely to be displayed than a group with 1 share.

MVLab Shares

Tags for Snippets and Groups

  • The tags can be used to make the variations appear in a more friendly way in your Stats.
    • The tag should be a short description of the snippet or group and be specific to what it means for the landing page.
    • Such examples of tags can be: image, logo, h1, cta, color...
  • You can add tags for snippets and groups.


  • In the example above, we used the following tags:
    • For groups - we used Dana and Dan (to easily identify the groups)
    • For snippets - we used headline, image and CTA

Show variation text in Stats

  • The variations will appear in Stats by default as ‘var X’, where X is the variation number that was displayed.
  • If you wish to display the actual variation text instead, then you need to check the ‘Show Variation Text instead of Index in Stats’ option:

MVLab Show variation text

  • By default, you will see a maximum of 50 characters from the variations text in order to keep report lines organized. In case you need to see more characters from the variations text, then change the configurable option “Limit Variation Texts” from the image above.

MVLab show variations in Stats

Macros for URL parameters

  • Starting in MV Lab 1.2 you can add macros (wildcards) in your variation texts and these will get replaced with the corresponding value passed in the parameter from Landing Page URL. This means that you can have dynamic content in your variations!

  • The formats of the macro (wildcard) that can be included in the variation text are:

    • simple format: {!parameter!}
    • advanced format with default value: {!parameter::default-value!} where:
    • parameter - is the name of the parameter that will be read from the landing page URL
    • default-value - is the value that will be displayed if the parameter doesn’t exist in the landing page URL
  • In order to make it easier to include these parameters in MV Lab variations, they can be selected from the overlay window that appears below the variation textboxes:

MVLab Variation overlay


  • Let’s say that you have a campaign that captures the City for visitors and sends it to the landing page in the city parameter, so the Landing Page URL is like this:{!mm_city!}

  • The Landing Page uses MV Lab to test multiple Headings and you want to display the visitors’ city in the Heading.
  • Then you will configure the MV Lab variations to include the {!city!} placeholder which will be replaced by MV Lab with the actual value from the ‘city’ parameter from the Landing Page URL:

MV Lab Variations param

  • You can also set a default value that will be displayed in case the ‘city’ parameter is removed from the Landing Page URL (in order to have valid Headings in this scenario).
    • The default value gets added in the {!city!} placeholder starting with ‘::’, like {!city:default-value!}

MVLab Variations param default

  • You can check how this campaign works by loading the Campaign URL multiple times: (opens new window)

Using MV Lab with Direct Traffic Code

  • MV Lab 2.0 has a greatly improved mechanism of sending variation details to CPV Lab Pro and this leads to very little blank variations appearing in your reports.


The previous “$delayseconds” configuration option is deprecated and shouldn’t be used any longer!

  • If using the Direct Traffic code in your landing page, then make sure to choose your tracking domain and check the “Use Direct Traffic Code in page” option during the MV Lab generation code in the visual editor, as shown below:

MV Lab Direct traffic Code checkbox

  • Once this is done, take the entire generated code and paste it as the first lines of code in your landing page.


Make sure that you have the latest Step 2 code and Direct Traffic code (generated in CPV Lab Pro 9) placed in your landing page. You can get the latest Direct Traffic code from the button next to each landing page in the campaign setup page:

MV Lab step2 code direct traffic

Ability to set shares to 0

  • The MV Lab integration into CPV Lab Pro (opens new window) allows you to easily identify which variations are performing well and should receive more traffic.

But what to do with the variations that aren’t performing in order to stop traffic to them?

  • In older MV Lab versions you had to re-create the MV Lab code without the underperforming variations and add the new code in the Landing Page in order to remove variations.

  • But starting with MV Lab 1.2 you can simply set those underperforming variations to 0 share in the HTML of the Landing Page and these will not receive traffic anymore.

    • Just edit the Landing Page with an FTP client or with the File Manager utility from cPanel and set the shares to 0!

Assign MV Lab Variations to PHP variables

  • Starting with MV Lab 2.0 you can assign MV Lab variations to PHP variables and then use them programmatically in the page as you wish.
  • The following placeholders can be used to assign PHP variables (replace X with the snippet number, from 1 to 8):
    • ##snippet_X## - the variation text for snippet X (text)
    • ##snippet_index_X## - the variation index for snippet X (numeric)
    • ##mv_X## - the variation string reported to the tracker

For example, the following PHP statements will assign the variation text and variation index to PHP variables:

$snippet1_text = '##snippet_1##';
$snippet1_index = '##snippetindex_1##';
  • This feature offers great flexibility as it allows to perform any operations you need with the variations displayed in the page.

Landing Page Rotator Tool

  • MV Lab can also work as a Landing Page Rotator Script which will send incoming visitors to pre-configured pages based on the shares defined.
  • This is a useful feature when your Traffic Source requires redirecting traffic directly to your landing page instead of the Campaign URL (tracking being done with the Direct Traffic code) and you still want to spread visitors across multiple landing pages.

Landing Page Rotator


  • A very good example for this is the new Parallel Tracking from Google Ads which requires a direct link to the landing page.
  • In order to have your campaign tracked in CPV Lab Pro you will make use of the Direct Traffic Code in your landing pages.
  • But what if you want to split traffic from a single Google ad to multiple landing pages?
    • In this case you will use a rotator page placed on the same domain as the landing pages and this page will send traffic to one of your desired landing pages.
  • The code for the rotator page can be generated automatically by the ‘Landing Page Rotator Code Generator’ page under the MV Lab menu in CPV Lab Pro.

Steps for such a scenario:

1. Create your campaign in CPV Lab Pro in the regular way.

  • Define all your landing pages

Landing Pages Rotator setup

  • Add the landing page to your campaign
  • They will have unique IDs. Setup the desired shares.
  • All landing pages must be on the same domain.

Campaign Rotator setup

2. Access the ‘Landing Page Rotator Code Generator’ page under the MV Lab menu and select the campaign to generate the rotator page for.

  • Click on the ‘Generate’ button and you will receive the rotator code.

Generate Rotator code

3. Create a blank *.php page and paste the code generated above into the page.

  • Make sure that you save the page with a PHP extension (like lp-split.php).

LP Split setup

4. Upload the rotator page on the same domain as the landing pages.

5. Upload the mvlab.php file from the MV Lab package on the same domain, in the same location.

  • Make sure that you have licensed this domain in the User Area prior to this point.

6. Enter the rotator page (complete URL for lp-split.php) as the Final URL (or Destination URL) at your Traffic Source (Google Ads)

7. Now you can access the lp-split.php page on your server and notice that it redirects to one of your landing pages.

  • Access the page for several more times and you will be redirected to other landing pages.

Rotator Sample

The rotator page will automatically forward all parameters received, so you can pass any parameters from the Traffic Source to the rotator and they will be forwarded to the landing page.


Note: When your Traffic Source allows redirecting traffic to the Campaign URL, it is always preferred to use this option instead of the rotator page. The Landing Page rotation will be done by CPV Lab Pro (opens new window) based on the shares defined in the campaign setup page.

Option to pass the Landing Page ID in the Rotator

  • The Landing Page Rotator feature of MV Lab can also pass the Landing Page ID (defined in the campaign setup page) as a parameter in the LP URL.
  • The parameter used for the Landing Page ID can be configured from the Landing Page Rotator Code Generator page in CPV Lab Pro.

MV Lab Rotator LPid


Note: this option is available starting with MV Lab 1.2

Find more details in the videos below:

You may also find useful:

Last Updated: 11/16/2023, 3:17:59 PM