Cloaking via splits in AlterCPA Pro

Cloaking via splits in AlterCPA Pro

AlterCPA Pro has an excellent traffic filtering system and smart split tests. Let’s add convenient domain parking to them and get an excellent recipe for high-quality cloaking.

Short summary

You will find a detailed article about the main method of cloaking through AlterCPA Pro. The essence of the process is as follows:

  1. We put white sites into the same or a separate offer. Sites are added through a “simple archive”.
  2. Creating flows to the white and black sites.
  3. Parking a new domain.
  4. Create a split test and put the created flows into it.
  5. At the black stream, select a country, set the probability to 100 and check the bot filtering boxes.
  6. Select the parked domain and the “Direct link” mode of operation.
  7. If you want use domain homepage, glue the split to the domain.
  8. Before starting all the procedures, it is useful to prepare your site store.

If you have previously worked with AlterCPA, this guide is enough for you. With the rest, we will go into more detail on each item.

Preparing white sites

In this technique, white sites are in the same storage as black sites. It is recommended to put them all in some neutral folder, such as static or assets. So using the base tag will look perfectly normal.

Adding sites to existing offer

White sites can be placed in the same offer as black sites. The advantage of this approach is that any leads from this site will be processed and may be approved. Minus: you can litter the offer with unnecessary sites.

Algorithm for adding a site:

  1. Prepare an archive of the site on your computer. The archive format is ZIP. The index.php file must be in the root of the archive, not in a subfolder.
  2. Go to “Control – Offers”, find the desired offer, go to “Sites”.
  3. Click the green “Landing” button to add a site.
  4. Specify the path and name in accordance with the instructions.
  5. Select the option “Load site from a regular archive” and specify the archive from step 1.
  6. Click “Add” and use the site.

You can learn the intricacies of creating sites in the instructions for sites for AlterCPA Pro.

Creating white offers

Sometimes it is useful to have separate offers – a kind of storage for white sites. With separate offers, you can combine sites by subject, use them in splits with different offers, and keep black offers clean and concise.

But the most important plus is that white offers can be made private and open only to limited users or internal arbitration teams.

The minimum algorithm for creating a white offer:

  1. Go to “Control – Offers” and add a new offer using the form above the table.
  2. In the settings, select the privacy of the offer, specify the white list of users.
  3. Setting payments and prices in the white offer is not required.
  4. It is recommended to create a special company that will receive leads left on white sites.
  5. Add sites following the instructions in the previous section.

Setting up split test

Work with split tests is performed from the “Flows – Split tests” section. Jump into it and create your first split using the form above the table. Choose your black offer as the main offer.

Preparing flows

Split tests are made up of flows. Flows are created in the “Flows – Flows by offers” section or in the “Offers” section. Create one flow for each test case – white and black. Flows can be reused in different tests.

In the flow settings, select the landings and pre-landings you need. Enter your Facebook pixel ID or other required tracking options. UTM tags with subid do not need to be specified.

Main settings

Create a split in the Flows – Split Tests section and add your flows to it. Adding streams is done by clicking the “Add variant to split” button.

For the black variant, specify the following settings:

  • Probability: 100
  • Countries: list of required geo
  • Check the boxes Exclude bots by User-Agent, Exclude bots by browser language and Exclude bots by filtering blacklists

For the white variant, leave the default settings. Important! Do not add target countries to the exceptions for the white variant, otherwise the bots from the target countries will fly away for trafficback!

In the split test link type settings, select the “Direct link” item. It is also recommended to select a parked domain.

Tracking features

When working with a split, you can specify pixel IDs and tracking codes directly in the flow settings. In some cases, you may need to use one split test with different pixels.

You can specify the pixel ID in the link. The following parameters are used for this:

  • fb – Facebook pixel ID
  • fbe – a special conversion event if you need something except Lead
  • ga – Google Analytics or Google Tag Manager counter ID
  • gad – symbolic Google Analytics conversion code
  • tt – Tik-Tok pixel ID
  • lki – Likee pixel ID
  • mt – MailTarget counter ID
  • vk – VKcom retargeting pixel ID
  • mtrk – Yandex.Metrica counter ID

If no parameters are specified, the settings are taken from within the flow.

A/B testing

When cloaking, you can still fully use splits for their main purpose – A/B testing. Just add more black flows to the test. In this case, it is not necessary to set 100% probability for each variant. Just make sure that the probability of all black variants adding up is at least 100. Can be more.

Automatic optimization

When working with A/B testing, the default is to evenly distribute variants across users. You can enable automatic optimization and show users the best option based on conversion, EPC, or earnings. To do this, in the split test settings in the “Algorithm” field, select any option you are interested in instead of a uniform distribution.

Domain parking

Domain parking is performed in the “Flows – Domain Parking” section. It contains the main IP address to which parked domains must be bound.

Adding domain to the storage

Go to your domain registrar and look for “DNS Zone Management” or similar. Delete all A, AAAA and CNAME records. Add an A record with the name @ and the value of the IP address.

Add the domain to the “Flows – Domain Parking” section. Click Check. Within a couple of hours, the domain will receive an SSL certificate and will be ready to go. Until the domain is activated, you can check its status once every 15 minutes.

Select domain in the split

Open your split test. After adding parked domains, a drop-down list with parked domains will appear next to the “Split test URL kind” field. Just select the domain you need and use the resulting split link to fill traffic.

Glue the split to the domain

An interesting way to work is to open a split on the main page of the domain. To do this, you need to glue the split to the domain.

Option 1: go to the parked domains section, find the desired domain in it, click the “Glue” button and select the split test you need.

Option 2: In the “Splits” section, select the domain for a specific split and click on the “Glue domain” button.

Preparing the site store

ПBefore you start, you need to prepare the built-in site repository. There are three useful recommendations for it: turn off the showcase, turn on the pixel shortcode, and start a single Thank you page.

Disable showcase

Go to the “Control – Settings – Sites” section and find the “Technical settings” block there. In the “Site store mode” section, select one of the options for the error page. We recommend a simple 404 error.

Using shorthand pixel code

Full pixel code with JS has access to the content of the page on which it opened. In some cases, this may result in a ban. You can disable JS in pixels and paste their short safe code.

In the config.php file at the root of the site store, add the following lines to disable JS:

  • define( 'NOJSFB', true ); – for Facebook
  • define( 'NOJSGA', true ); – for Google
  • define( 'NOJSMR', true ); – for Yandex.Metrika
  • define( 'NOJSVK', true ); – for

Preparing the Thank You page

We recommend that you create a separate file for the Thank You page and place it directly in the root of the site storage. This way we will ensure identical behavior on the black and white sites. The file name can be anything, we will use thanks.php in the example.

Create a file thanks.php in the root of the storage with the following content:

$cms = require_once $_SERVER['DOCUMENT_ROOT'] . '/init.php';

In the config.php file of the repository, add the line:

define ( 'SHOPURL', '/thanks.php' );

Helpful hints

These advanced user tips can help you improve your cloaking experience.

Dynamic white sites

Using the same white sites in different flows is not recommended. It’s best to add a little variety depending on the query domain.

White site paths

We strongly recommend that you use the most neutral paths for white sites. It’s best to make them look like paths for static content on a CDN. For example, folders with white sites can be named: static, assets, upload, uploads, content, wp-content – any maximally neutral option will do.

The subsequent parts of the path should not be in any way conscious. A random set of characters would be fine. A perfect example is 32 hexadecimal characters, which are so similar to an MD5 hash. Or it could be something like 0123s45, where 123 is the offer ID and 45 is the site ID.

Optimal paths for white sites:


Take out shared pages

Black and white sites use the same pages, such as privacy policy or terms of service. You can use them separately in each site, but it is more convenient to display them in the same way as the Thank You page.

Create a file info.php in the site repository root with the following content:

$cms = require_once $_SERVER['DOCUMENT_ROOT'] . '/init.php';
$cms->showpage( 'e404' );

Use the following links in your white and black sites:

  • Privacy Policy: /info.php?page=privacy
  • Terms of Service: /info.php?page=terms

You can also have your pages in the cms/page folder and link to them by changing the page parameter in the request.

Common cloaker

The described algorithm is suitable for individual work. But you can create ready-made sets of black and white sites for all webmasters. To do this, use the TDS mechanism instead of split tests. It has a similar setting. The only difference is that automatic optimization within an offer is not supported, only between different offers.