Web Hosting Talk







View Full Version : [PHP] AdSense Click Tracking


latheesan
06-02-2008, 07:10 PM
Hello,

I used the following script to track adsense clicks (about an year or two ago) and it's stopped working now. Here's the code:

index.php
<script type="text/javascript"><!--
google_ad_client = "pub-MY-GOOGLE-ACCOUNT-ID";
google_ad_width = 250;
google_ad_height = 250;
google_ad_format = "250x250_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "28272a";
google_color_bg = "28272a";
google_color_link = "CCCCCC";
google_color_text = "999999";
google_color_url = "008000";
google_ui_features = "rc:0";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<script type="text/javascript">
<!--
function adsense_log_click()
{
if(window.status.indexOf('go to') == 0)
{
adsense_log_url_image = new Image();
adsense_log_url_image.src = 'http://www.domain.com/adsense_clicklogger.php?R=' +
escape(document.location) + '&U=' +
escape(window.status.substring(6));
}
}
var elements;
if(document.getElementsByTagName) {
elements = document.body.getElementsByTagName("IFRAME");
} else if (document.body.all) {
elements = document.body.all.tags("IFRAME");
} else {
elements = Array();
}
for(var i = 0; i < elements.length; i++) {
if(elements[i].src.indexOf('googlesyndication.com') > -1) {
elements[i].onfocus = adsense_log_click;
}
}
//-->
</script>

adsense_clicklogger.php
<?php

/* Load MySQL Config */
include("inc/mysql_config.php");

/* Get Destination Page URL */
if(isset($_GET['U'])) {
$DestinationPage = mysql_escape_string(substr(trim($_GET['U']),0,255));
} else {
$DestinationPage = "";
}

/* Get Source Page */
if(isset($_GET['R'])) {
$SourcePage = mysql_escape_string(substr(trim($_GET['R']),0,255));
} else {
$SourcePage = "";
}

/* Only Track If Logged */
if (isset($_COOKIE['rs_uid']))
{
/* Connect To MySQL Server */
mysql_connect($heliosro_rs_host, $heliosro_rs_user, $heliosro_rs_pass);
mysql_select_db($heliosro_rs_db);

/* Start AdSense Click Logging */
if ($DestinationPage != "" && $SourcePage != "")
{
/* Check If User Already Visted This Ad */
$result = mysql_query(sprintf("SELECT * FROM `tblAdsenseClicks` WHERE `DestinationPage` = '%s' AND `UserID` = %s LIMIT 1",
mysql_real_escape_string($DestinationPage),
mysql_real_escape_string($_COOKIE['rs_uid'])));
if (mysql_num_rows($result) == 0)
{
/* Get Remote Address and Host */
$RemoteAddress = mysql_escape_string(substr(trim($_SERVER['REMOTE_ADDR']),0,255));
$RemoteHost = mysql_escape_string(substr(trim($_SERVER['REMOTE_HOST']),0,255));

/* Log Ad Click */
mysql_query(sprintf("INSERT INTO `tblAdsenseClicks` VALUES(NULL,%s,'%s','%s','%s','%s','%s')",
mysql_real_escape_string($_COOKIE['rs_uid']),
time(),
$DestinationPage,
$SourcePage,
$RemoteAddress,
$RemoteHost));
}
}

/* Close MySQL Connection */
mysql_close();
}

/* Exit Page */
exit();

?>

This exact same script used to work, it no-longer does :(
Can someone whose good with PHP/JavaScript/AdSense help me with this please?

LBSources
06-20-2008, 07:26 AM
You can also use clickaider to do this..

01globalnet
06-20-2008, 07:40 AM
Something changed in Adsense according to this:
http://www.adlogger.org/

My partner uses this program, I will let him know that his ads are now longer protected.