Home > Other Systems (CPVLab, iMobiTrax, P202, Track Revenue, Click, Google Analytics, etc.) > Normal Prosper202

How To Rotate Landing Pages In Prosper 202 (17)


07-05-2013 10:44 AM #1 caurmen (Administrator)
How To Rotate Landing Pages In Prosper 202

Prosper 202 doesn't have a built-in Landing Page rotator, which makes split-testing your landing pages... somewhat tricky.

Fortunately, there's a fairly simple way around that, and this tutorial walks you through it.

(Actually, there are two ways around the problem - the other one is to use the Stack That Money Mobile Tracker, which includes landing page rotation tools by default! And yes, you can certainly use it for non-mobile Web campaigns too.)


How It Works

In order to rotate our landing pages, we simply send our users to a new landing page rotation PHP script.

When our user clicks through from our advert, the PHP script randomly picks a landing page from the ones we're testing, then loads the HTML for that page.

The tricky bit here is how we set it up in Prosper. We have to set each landing page we want to test up in Prosper - but we give all of them the URL of the "rotator" script. That means that users are always sent to the rotator, but clicks and visits on each page we're testing are recorded independently.

Note: There are a LOT of suggested ways to get Prosper to rotate LPs out there. Having reviewed them all, this is the best approach, both for speed and ease of use.


Step-By-Step

1) Put all the landing pages you want to test into the same folder. Name them "lp_WHATEVER.php", where WHATEVER can be whatever you like, provided it doesn't have spaces. It's best to use non-sequential names or numbers ("lp_Lander14.php", "lp_Lander25.php") rather than sequential ones ("lp_Lander1.php", "lp_Lander2.php") as that will prevent people spying on you from guessing your other lander names. Make sure there are no other files beginning "lp" and ending ".php" in the directory.

2) Create a text file in that same directory, called "index.php". Paste the following code into it:

Code:
 <?php

$lp = glob("lp_*.php", GLOB_NOSORT);

include_once($lp[rand(0,count($lp)-1)]);;

?>
CREDIT - This code was originally written by sean@ertw.com, who did a spectacular job!

3) Set up your campaign and each of your test landing pages as normal in Prosper (see How To Set Up A Campaign In Prosper 202) - however, in "Landing Page URL" in Step 3, just give the path to the LP directory, rather than the full URL where the landing page will be.

For example, if your first landing page will be "lp_Lander15.php", in the directory "SpeedDate_US_Cheerleader", and your LP domain is "www.getdates.com", you'd normally give a "Landing Page URL" of

Code:
http://www.getdates.com/SpeedDate_US_Cheerleader/lp_Lander15.php
Instead, give a "Landing Page URL" of

Code:
http://www.getdates.com/SpeedDate_US_Cheerleader/
4) Create redirection pages for each landing page as usual. However, call them "WHATEVER_redir.php" rather than "lp_WHATEVER_redir.php", otherwise the rotation script will get confused!

So, if you have a landing page called "lp_Lander15.php", call the associated redirect page "Lander15_redir.php". Link to that from your offer link in "lp_Lander15.php" as usual - "<a href="Lander15_redir.php">

5) Upload everything to your server as usual, including the index.php file.

6) To link to this campaign from your traffic source, perform Step 5 of the How To Set Up A Campaign In Prosper 202 tutorial as normal for one of the landing pages you're testing. It doesn't matter which one you choose.

And that's it! When you set your campaign running, visitors should be randomly redirected to your landing pages in rotation.

If you want to test if the script's working properly, just repeatedly go to the link that you created in 6) using any web browser. Remember, the rotation is random, so it might take a few refreshes before you see a different landing page - but after 15 or so visits, you should have seen all your landers, assuming you're testing at most about 5 different landing pages.


Why are we randomly rotating rather than using a Count file?

Most of the common Prosper rotation scripts use a Count file to make sure that each page gets exactly the same number of visitors. You may be asking why I'm not advising you to do that!

There are two reasons. Firstly, repeatedly opening, reading, closing, opening again, and writing to the Count file actually slows your redirects down by a measurable amount if you're getting a lot of clicks. (In fact, according to the research I did on this, it can cause all sorts of problems if you're trying to do it too fast). That's not really noticable on most systems, but if you're using a dedicated server and a web server that's attempting to run multiple PHP threads or processes, it could become a problem.

Secondly, the count file makes implementing the entire script more complex. Not much more, but enough that you'll be able to produce more campaigns if you use the simpler random approach.

The argument for using a count file is that it ensures that each landing page gets exactly the same number of visitors. Whilst that's true, over a statistically significant sample size it's very unlikely that there will be enough variance to make a difference.

I used to use the count-file approach myself - but after some testing, my opinion is that a random rotator is actually a better call.

And that's it! If you have any questions, comments, suggestions, or want to argue about count vs random, let me know below!


07-05-2013 11:57 AM #2 dario (Member)

The use of glob() is wonderfully implemented here. I used to do the rotation writing down the exact name of each LP file name, will use your solution from now on!
thank you for this tutorial


07-05-2013 01:31 PM #3 dr_ngo ()

This is why I prefer CPVlabs


07-05-2013 03:34 PM #4 clubdrock (Member)

Hey Caurmen awesome tutorial as always. I will try this method.

However, what do you think about this method: http://ipyxel.com/how-to-split-test-...irect-linking/

This is the way I learned to rotate (thanks ipyxel )

Whats the advantage to using your method?


07-06-2013 11:31 AM #5 caurmen (Administrator)

IPyxel's approach works well too - in fact, it's one I used to use.

The advantages of the script I'm suggesting here are pretty minor - there's less server load and less chance of slowdown from a lot of traffic (because you're not writing to a file on every rotate) and you have to do slightly less setup (because you don't need to enter the names of your landers, they're just picked up automatically).


07-06-2013 08:40 PM #6 bbrock32 (Administrator)

Or just use STM's mobile P202 ( tracks web fine too ) and you don't need to touch any PHP


10-04-2013 04:04 PM #7 caurmen (Administrator)

Quick additional tip here: if you need to use a Javascript rotator rather than a PHP one, JasperP shared an excellent script for that here.


02-20-2014 07:18 PM #8 pauldavid (Member)

Caurmen, when you're putting all the landing pages you want to test into the same folder and name them "lp_WHATEVER.php", shouldn't the file extension of the lander be .html? I thought that .php is only reserved for your redirect page?


02-21-2014 06:21 PM #9 pauldavid (Member)

Followed the entire guide and all I get is a blank screen when I try the tracking link generated. My landing pages that I'm trying to rotate are .html files. They work on their own but when I put them in a folder with the index.php file, all I get is a blank screen. Please help!


02-22-2014 12:08 PM #10 caurmen (Administrator)

@pauldavid - You'll need to change the extension of your landing pages from .html to .php - at that point, the rotation will work.

A ".php" file is just a file that uses the PHP preprocessor in your web server - for all intents and purposes, it can be considered identical to an .html file, it's just got some extra capabilities. However, assuming your server is set up correctly, if you rename your landers to .php they'll still work fine.

Let me know if you have any more problems!


04-14-2014 10:57 PM #11 peteperclick (Member)

If we use the STM tracker for web is there a way to eliminate the need for the GeoIP?


04-14-2014 11:43 PM #12 zeno (Administrator)

Why do you want to eliminate the need for GeoIP functionality?


04-15-2014 11:18 PM #13 peteperclick (Member)

Quote Originally Posted by zeno View Post
Why do you want to eliminate the need for GeoIP functionality?
Don't really have any use for it since I'm only running traffic to one country. Was just seeing if there was a way to run the tracker w/o needing the GeoIP database.


04-16-2014 12:19 AM #14 zeno (Administrator)

It's probably hard-coded in. Are you running into issues due to being on the BH Starter VPS? I am going to see if we can get around the current issues but I can't promise anything.

Otherwise, it's a bit imprudent to try and exclude GeoIP databases because you are only running one country right now - things change!


11-11-2014 12:59 PM #15 mjr1984 (Member)

I am going to use this, thanks.

If I want to test the direct link (I am seeing that a lot people test this link as well) would I just have a lander that is actually a redirect to the offer. But obviously include the landing page prosper code in the redirect/landing page as well.

Taking into account that might make my landing page CTR 100% so I won't be shocked when I see that lol.


11-11-2014 11:17 PM #16 zeno (Administrator)

Yeah that should work fine.

Thinking about this now, does the newest p202 still not have this functionality?

Perhaps their hosted ClickServer version does - I would honestly just use Thrive for example instead since it is many years newer and feature filled.


11-19-2014 08:42 PM #17 mjr1984 (Member)

Thanks Zeno


Home > Other Systems (CPVLab, iMobiTrax, P202, Track Revenue, Click, Google Analytics, etc.) > Normal Prosper202