Most article directories have cracked down on direct affiliate links in articles. It doesn't matter if you shorten your URL's, either way if the resulting url ends in "?hop=AFFNICK" you'll get your article declined.
A great way to stop this is to use this script. In an essence this script retrieves the clickbank cookie and then redirects you to the affiliates landing page without "?hop=AFFNICK".
Without script:
domain/landing-page/index.php?hop=AFFNICK
With script:
domain/landing-page/index.php
And if the user purchases the product, you'll still get the commission.
I didn't create this code, but it works perfectly.
Script:
#!/usr/bin/perl
use CGI;
use LWP::UserAgent;
my $q=new CGI;
### specify here your default affiliate nickname. it will be used
### if you don't add parameter a=youraffnick in the URL (see README.TXT)
$affnick = "youraffnick";
################################################################################
### nothing to change below
################################################################################
$v = $q->param("v");
if (!$q->param("a")) {
$a = $affnick;
}else{
$a = $q->param("a");
}
if (!$q->param("v")){
print "Content-type: text/html\n\n";
print "Error: vendor nickname not specified\n";
exit;
}
$url = "http://$a.$v.hop.clickbank.net";
GetLink($url);
&PrintPage;
sub GetLink {
$nurl=shift;
$id=shift;
$ua = new LWP::UserAgent;
$ua->agent("Mozilla/4.0");
$req = new HTTP::Request 'GET' => $nurl;
$req->header('Accept' => 'text/html');
$res = $ua->request($req);
if ($res->is_success) {
$content=$res->headers_as_string.$res->content;
$real_url=$res->base;
$content=~/URL=([^\s]+)/;
$newurl=$1;
$real_url=~s/\?.*$//;
} else {
$real_url=$url;
}
}
sub PrintPage {
$body = qq~
<html>
<head>
<title>Loading...</title>
<script language="JavaScript">
setInterval("window.status='Loading...'",50);
</script>
<script language="JavaScript">
<!--
function UpdateLoader(){
document.all.Loader.innerHTML = '<a href="$real_url"><b>Click here if your browser sticks on this page</b></a>';
}
setTimeout("UpdateLoader()",3300);
//-->
</script>
<script language="JavaScript" type="text/JavaScript">
function forward() {
window.location.replace('$real_url');
}
setTimeout("forward()",1200);
</script>
</head>
<body bgcolor="silver">
<img src="$url" width="1" height="1" border="0">
<div align="center"><center>
<table border="0" width="100%" height="98%" cellspacing="0" cellpadding="0">
<tr>
<td align="center"><div align="center"><center><table width="100%" border="0"
cellspacing="0">
<tr style="font-family: Verdana, Tahoma, Arial; font-size: 14pt">
<td align="center" ID="Loader"></td>
</tr>
<tr style="font-family: Verdana, Tahoma, Arial; font-size: 14pt">
<td align="center"><noscript><a href="$real_url"><font color="black"><b>Click here if
your browser sticks on this page</b></font></a></noscript></td>
</tr>
</table>
</center></div></td>
</tr>
</table>
</center></div>
</body>
</html>
~;
print "Content-type: text/html\n\n";
print $body;
exit;
}
- Change where it says "youraffnick" to your clickbank affiliate nickname.
- Save the code with the .cgi extension and upload to the cgi-bin on a webhost.
To Use It:
E.g. domain/cgi-bin/link.cgi?v=VENDORNICK
OR domain/cgi-bin/link.cgi?v=VENDORNICK&a=ANOTHERAFFILIATENICK
You can get the vendor name from the clickbank marketplace. Just find a product and click "Promote". In the new window look at the red bar at the top, it should say "Affiliate Program: Promote Products for 'AFFILIATENICKNAME'"