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
dannyFoo says
Well done, I guess you’re too lazy to login and check most of the time. :P Anyway, click checking is one thing. The other important thing is whether the value of the ad clicked is high or not. ;)
Cheers.
LcF says
great! but you aren’t going to release the code?
Perhaps the script can collect more data like source url, destination url, time, etc?
I found one at http://www.monetizers.com/php-click-tracker.php
Hallaj says
Sweet!
szehau says
dannyFoo:
Ya … I only login into adsense once or twice a day to check my detailed earning statistic. But I can always know my earning because I have installed Adsense Notifier. at my Firefox browser It shows the summary of my earnings and it is updated every 20 minutes.
LcF
I have a version of script which only write the data to file, so I can’t generate a useful reports from the collected data (only able to show ads title and the count of clicks). Later when I have time, I will develop another version of adsense tracker using database (mysql).
You can add referer url by append a line to the javascript:
+ '&ref='+ escape(document.referrer)
I don’t think we can get ‘real’ destination from javascript because the destination url always point to google adsense’s url.
The
adsense_track.php
above does keep the timestamp of the click.For me, the source url is not that useful because it could be an url of your site itself.
I will try to write the code within this month and will update you all again. :)