I have created an Adsense Tracker script to keep track adsense clicks on my websites. The scripts are pretty simple but can be expanded to generate a useful report. However, the scripts only work for ad unit and not ad link.
My Adsense Tracker contains 3 parts of code:
- Javacript tracker – to be added at webpages
- Tracking script (PHP) – the actual script that records the adsense clicks
- Report (PHP)
The JavaScript tracker looks like this:
<script type="text/javascript"><!--
function hit() {
window.focus();
if (window.status) {
img = new Image();
img.src = 'http://www.yoursite.com/adsense_track.php'
+ '&ads=' + escape(window.status) // title of the adsense unit
+ '&pageId=home' // page id
+ '&mg=4321432143214321'; // a magic number
};
};
var elements;
elements = document.getElementsByTagName("iframe");
for (var i = 0; i < elements.length; i++){
if(elements[i].src.indexOf('googlesyndication.com') > -1) {
elements[i].onfocus = hit;
}
}
//-->
The Tracking script (name it as adsense_track.php) might look like this:
< ?php
// mg - magic number
// mg is just a simple checking to make sure this file is
// executed from javascript
if (isset($_GET['mg']) && $_GET['mg']==4321432143214321) {
$ads = $_GET['ads']; // ads title
$pageId = $_GET['pageId']; // page id
$time = mktime (); // timestamp
$ipAdd = getenv("REMOTE_ADDR"); // visitor's ip address
//
// Do some checking here
// e.g. Query database and ignore double clicks within 1 second
//
// Insert all data into database
}
?>
For the Report, I wrote my adsense clicks reports based on:
- Time range
- Ads title and sort by total of clicks
From this two reports and together with the report from adsense account, you can actually know something that google never tell you. Such as
- analyse the performance of each ads and filter out irrelavant ads
- estimate the cost of the click for certain ads
- what your visitors looking for and which ads is more attractive