**Since it turned out a very long post I have divided this tutorial in 2 parts and will post the next one in the coming days. Meanwhile enjoy part 1!
This guide is going to be the most in depth about PPV landing pages, covering all the "tips & tricks" I use to get crazy CTR and CR on my landing pages.
I will list here ALL the scripts I use.
However , this doesn't mean you should use every trick shared here in the same landing page otherwise your page will look like a mess.
So let's start!
1 - Sound
It's by far the most used ( and abused ) method in PPV by far.
The purpose of it is to attract the attention of the user from the site he's browsing to the pop.
You should always split test adding audio to your landing pages and see if it increases the conversion rate.
Yeah , I wrote conversion rate because it can increase the LP CTR , but that's not what we are after.
An increase in CTR doesn't always mean an increase in CR.
From my experience adding sound works best for offers that appeal to a younger demographic or less tech savvy users.
It had a negative effect for more "serious" offers that should convey trust / reliability.
So to give you some examples , adding audio has done wonders for freebies / ringtones / quizzes .
However it had a negative impact on credit reports / education / payday loans offers.
To add audio on your landing pages you need an audio file and a player.
You can either record the audio yourself or outsource it for cheap at fiver.com .
For the player I have always used NiftyPlayer ( free and lightweight flash audio player) .
You can get it from here : http://www.varal.org/niftyplayer/ .
To place audio on your page upload the player on your server and use the code below in your landing page :
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="165" height="38" id="niftyPlayer1" align=""> <param name=movie value="niftyplayer.swf?file=myfile.mp3&as=1"> <param name=quality value=high> <param name=bgcolor value=#FFFFFF> <embed src="niftyplayer.swf?file=myfile.mp3&as=1" quality=high bgcolor=#FFFFFF width="165" height="38" name="niftyPlayer1" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> </embed> </object>
<script language="JavaScript" type="text/javascript"> var X = screen.width; var Y = screen.height; window.moveTo(0,0); window.resizeTo(X,Y); </script>
<html> <head> <meta http-equiv="refresh" content="0;url=http://yourafflinkhere"> </head> <body> <script language="JavaScript" type="text/javascript"> var X = screen.width; var Y = screen.height; window.moveTo(0,0); window.resizeTo(X,Y); document.location.href = 'http://yourafflinkhere"; </script> Page Stuck? <a href="http://yourafflinkhere">Click Here!</a> </body> </html>
<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>
<script language="JavaScript"> var country=geoip_country(); var region=geoip_region(); var city=geoip_city(); if(country=="") country="US"; if(region=="") region="New York"; if(city=="") city="New York"; </script>
<script language="JavaScript">document.write(country);</script>
<script language="JavaScript">document.write(region);</script>
<script language="JavaScript">document.write(city);</script>
<script type='text/javascript'>alert('Congratulations! You have been selected to win a free Playstation 3. Read below how to claim it.');</script>
great post, really looking forward to part 2
great summary. nice one bes
I like it 
awesome stuff....thx brock
Great summary, definitely looking forward to part II.... when you putting that up, tonight? 
My apologies to bbrock32, but just a quick note if someone was just going to copy and paste...
<script language="JavaScript"> var country=geoip_country(); var region=geoip_region(); var city=geoip_city(); if(country=="") country="US"; if(region=="") region="New York"; if(city=="") city="New York"; </script>
@bill400
Good catch , thanks!
Great Stuff! Greatly appreciated 
Really badass post! Awesome stuff man!
Awesome besmir!
Besmir,
There were a few issues with the code, so I tuned it up a bit. Plus I added a few more variables in case someone wanted to use those. Hope you don't mind...
<script language="JavaScript"> var countryCode=geoip_country_code(); // example 'US' var country=geoip_country_name(); // example 'United States' var regionCode=geoip_region(); // example 'OK' var regionName=geoip_region_name(); // example 'Oklahoma' var city=geoip_city(); // example 'Tulsa' if(countryCode=="") { // added the brackets because without them, the just return the defaults. countryCode="MX"; country="México"; } if(regionName==""){ regionName="Distrito Federal"; } if(city=="") { city="Ciudad de México"; } </script>
<script language="JavaScript">document.write(countryCode);</script> <script language="JavaScript">document.write(country);</script> <script language="JavaScript">document.write(regionCode);</script> <script language="JavaScript">document.write(regionName);</script> <script language="JavaScript">document.write(city);</script>
Awesome stuff... I like it 
I'm learning every day in this forum 
Sick guide dude!
another sweet audio option that i found for noises/sample etc with its own player is http://www.hark.com/, its a huge collection of free samples etc just choose the audio you want, how the player looks and embed the code....pretty handy 
Thank you very much for these tips and tricks.
They are amazing.
I have a question, the maxmind .js you use, is it free?
Or do you have to pay for any license to be safe?
I mean, by using an external .js, it should be easy for them to catch people that use their apps without any consent, correct?
Maxmind is free, but they also have a paid product which lets you get into more detail, such as ISP and even ZIP code for large parts of the US.
Ok so you confirm that the .js file showed in this thread is free. Thank you.
I just want to make my business more sustainable and legal than in the past 
(although I continue to use images of girls I don't know
)
I think if you want to be 100% compliant, you're supposed to put a mention of their service on your lander... details here http://www.maxmind.com/app/geolitecity
Having said that, I know I've used that script for many years and never mentioned it on a single page, and I also know I'm not alone 
Okay, thanks again polishedturd 
Re GeoIP - if you do PPV and you dont want the overhead of the JS loading on your scripts, you can get it setup as a local database.
If your on debian/ubuntu this is straight forward.
Details here:
http://pecl.php.net/package/geoip
http://www.howtoforge.com/using-geoi...e-ubuntu-11.04
It basically sets up a local database and then you can use php commands to get the geo location data. Much much faster then the JS approach.
You can use it with the free city/country DBs.
Then all you need to do is use commands like this:
[php]
$geodata = geoip_record_by_name($_SERVER['REMOTE_ADDR']);
if ($geodata) {
$city = $geodata['city'];
} else {
$city = 'Your city';
}
echo $city;
[/php]
there is one more trick
the data.
like: offer will expire in 23.Nov 2011
anyone got this script?
Here you go sir!
<script type="text/javascript"> var month = new Array(); month[0] = "January";month[1] = "February";month[2] = "March";month[3] = "April";month[4] = "May"; month[5] = "June";month[6] = "July";month[7] = "August";month[8] = "September";month[9] = "October";month[10] = "November"; month[11] = "December"; var mydate= new Date() mydate.setDate(mydate.getDate()) document.write(""+month[mydate.getMonth()]+" "+mydate.getDate()+", "+mydate.getFullYear()); </script>
Just on the subject of adding sound, it's definitely worth testing a bunch of different sound clips or voiceovers, don't just test sound vs. no sound. Often the first clip you try can lower conversion, but the second, third, or fourth will blow it up.
Also, there are some awesome voiceover people on Fiverr, and they will usually record a minute or so of audio. So don't just test one announcement, write six ten second announcements and get them recorded in one gig. Less than $1 per professional voiceover is such good value it's daft.
sick guide bbrock keep this coming
A technique that I have seen a lot of people use is the resize ON CLICK - meaning the pop up window will resize after the user clicks on your landing page. Does anyone know how to do this?
Actually, I think I just figured this out...I supposed you could use the second bit of re-size/center code (putting your affiliate link in the code) and then putting the link to this file in your tracking software....making the click first redirect to the (resizeing and centering the window) and then linking to the offer. Would this work?
just wrap the resize code in a function and call it from a link like this:
<script> var X = screen.width; var Y = screen.height; function resizeIt() { window.moveTo(0,0); window.resizeTo(X,Y); } </script> <a href="http://domain.com" onclick="resizeIt(); return true;">Click Here</a>
Cool thanks guys.
Do you have the script to create a pop up when someone goes to close the window (click on the X)?
Thanks
Mike
simply awesome like always Besmir ....
<script type="text/javascript"> var popit = true; window.onbeforeunload = function() { if(popit == true) { popit = false; return "Are you sure you want to leave?"; } } function unpop() { popit=false; } </script>
<a href="offer.html" onClick="unpop();">Click here to lose 100 pounds</a>
Love the geo-ip scripting!
Superb post! But this is totally not working for me - can anyone help? Thanks!!
"If you are using CPVLab to track use this slightly modified code :
PHP Code:
$kw=$_GET['target'];
$karr=explode(".",$kw);
$tot=count($karr);
$ind=$tot-2;
$ext=$tot-1;
if($tot>1)
$rkw=$karr[$ind].".".$karr[$ext];
else
$rkw=$karr[0];
$rkw=ucfirst($rkw);
Again , put this code
PHP Code:
<?=$rkw?>"
No problem!
Obvious questions first, I'm afraid: what happens when you try to use this code? And can you paste the fragment of the page where you put the code, so we can check if there are any obvious problems there? (Of course, do feel free to remove any private/identifying info!)
Also, try adding <? echo $_GET['target']; ?> to your page (temporarily!) and tell me what happens?
I put it here...
<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>
<? echo $_GET['target']; ?>
<?
$kw=$_GET['target'];
$karr=explode(".",$kw);
$rkw=$karr[0];
$rkw=ucfirst($rkw);
?>
<head>
<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>Get Rid Of Your Debt!</title>
<style>
I take it you've removed the IF statement in the code for a specific reason? Currently, as I read it, you'll get "www" as an output if the target is "www.google.com", for example.
What output do you get from "<? echo $_GET['target']; ?>" (you should probably put <? echo $_GET['target']; ?> at the top of your body tag, btw - and remember, just leave it in long enough to tell me what the result is, don't run a lander with that in!) and from "<?=$rkw?>"? Probably easiest just to put both lines just below the start of your body tag for now and see what the output is.
Oh, also - you'll need to add in a fake GET target param when you're testing this, or nothing will happen. Use a web address like this when testing your lander:
http://www.yourdomain.com/yourlander.php?target=google.com
Seems to work better - what I get now is "Welcome Google"
How do I make it "Welcome Visitors from www.google.com" ?
Thanks!!
What is the IF statement and where should it be? Sorry, lost on this one.
That's fairly easy to do - just change
$rkw=$karr[0]; $rkw=ucfirst($rkw);
$rkw=$karr[0].".".$karr[1].".".$karr[2];
Working now, thanks!! 
great tips! thank you
Man this is priceless stuff !
Thank you for thinking to post it ..
I hope it's not a problem if I write on this thread (in order not to open another one just for a couple ofs question) but the geo location doesn't seem to work anymore. Can someone suggest the right script?