Archive for AdSense

AdSense: Script

Want to build your own AdSense revenue predictor or mobile app? You can download the script here –  on the house.

The code is fairly well documented. You’ll need to populate with your AdSense and SQL credentials. If you want to plug-in your own intraday trend (no two accounts will be the same, after all), collect the data into SQL, make some averages and then plug the data into the file.

Since this involves sensitive data, make sure you’re running this on a server you control/trust and take precautions to keep your information safe (protecting the directory, for example). You can execute gas.php via the command line, or better yet, as a CRON job.

It’s totally free and I encourage you to use it in whatever way you wish. As ever, I outsourced the overwhelming majority of the work, so can’t take all the credit really. If it ads some joy to your life, you’re welcome to buy me a coffee!

Leave a comment if you need any help.

 Tags: AdSense   Published: 3rd April '11

AdSense: DIY Mobile Web App

I started drafting this post just a few days before Google released their official AdSense Android app, which has made most of what I was going to say pretty redundant.

The official app was well needed; there’s a whole bunch of unofficial 3rd party apps which can show you similar data, but all of which pose a significant security risk (given the need to share your log-in credentials). It’s pretty, simple to use, and provides all the reports you’d actually want on-the-go. It does lack the all new revenue predictor and suffers from the annoyance of a timed user-session (thus requiring you to periodically login), meaning that it can still be helpful to create your own DIY mobile app – the topic of this post.

Using our previous work with a self-made script, it’s surprisingly easy to make your own “app”. The script now spits the output as HTML and both Android and iOS allow you to create homepage URL shortcuts. The result is one-click access to your statistics without the need to log in, or unnecessarily trust a 3rd party developer. Plus, since it’s your app, you can develop it your hearts content, perhaps to report other pertinent information for your website/business on the same page. Okay, okay, it’s not really an “app” in the true sense, but it feels and looks pretty close to one.

A further improvement would be to create push-notifications/alerts if the the predicted revenue falls below an accepted range. I’m lacking reliable data/net access this week, so a daily SMS report would also make for a useful extension. Something to look into another day.

Update: Grab the script and build your own mobile app that shows current revenue and predicted day total.

 Tags: AdSense   Published: 1st April '11

AdSense: Revenue Prediction

Until very recently, the AdSense UI featured “today’s estimated earnings”; which incorrectly suggested that this is the amount you could expect to receive that day. That wasn’t the case; it really just showed how much had been earned so far (‘estimated’ to give Google some moving space). The interface now labels this as “Today so far”, which is far more accurate.

It did give the idea of creating our own revenue prediction model, which would be useful for allowing you to understand whether today’s earnings was on track with expected performance.

We’ve now figured out how to collect revenue data from AdSense and analysed how the intraday earnings trends over a 24-hour period, so had just one missing piece to solve. The time and percent values from the prior analysis were placed into an array and a function created to return an estimate of the full day’s earnings based on this historical data.

The output now reads as:

Next: getting this data on your mobile.

Update: Grab the script and build your own prediction model.

 Tags: AdSense   Published: 25th March '11

AdSense: Intraday Earnings Trend

Google Analytics can display a break down of a day’s traffic into hourly chunks, but AdSense is strictly limited to just whole days. I’m sure Google has a few fair reasons not to provide this (data reliability, computation time and so on). For educational purposes, we can try to accomplish this data-set ourselves.

Thankfully, the AdSense interface does tell us how much we’ve earned so far during today:

Now that we know how often Adsense updates its data, we can configure our script to efficiently collate the right amount of data that’ll allow us to do some number crunching.

The script is now setup to query the rolling balance every 15-minutes and store the value in an SQL database. With a spreadsheet to hand, we can then look at the relative increase in earnings at each interval. Here’s the chart showing that data for a 7-day period.

The dark green line provides the mean average over the 7-days, smoothed as a moving average. I opted for the PST timezone for the X-axis, since most of my site users originate form the US (and California specifically).

I’d like to show a nice bell curve chart to show when the major growth occurs, but my spreadsheet/statistics skills are a bit limited. It’s pretty clear to see that the rapid acceleration is in the morning (6-10am) with fairly flat growth thereafter.

Next up, let’s do something somewhat useful with this finding.

Update: Grab the script and collect your own data, plus build a prediction model and mobile app!

 Tags: AdSense   Published: 7th March '11

AdSense: Data Update Frequency

I’m sure I’m not the only one with a minor addiction in checking their AdSense statistics. The Overview page shows the running total of that day’s earnings. Many have asked, how often does this figure update? So I thought I’d figure that out.

Pretty simple; I just needed to check the figure every minute of the day and make a note when it had changed. A handy script completely automated the process. This is the result:

Each line marks an update (Numbers on the Mac isn’t very good with histograms). I wasn’t collecting data every minute for the first couple of hours, hence the bunched up markings. Updates during the day weren’t entirely regular, but they did generally occur once every hour at around 40-50 minutes past the hour. Each update seemed to take a minute or two longer than the last, so the exact time is properly always in flux.

This was an important piece of information to know in order to carry out my next experiment. Stay tuned.

Update: Grab the script and collect your own data, plus a whole lot more.

 Tags: AdSense   Published: 1st March '11

Transparent AdSense Ad

In what could be breaking news (I couldn’t find any other mentions on the web), a transparent AdSense ad has been spotted in the wild (click to expand):

The ad unit doesn’t stream video, but instead links to a YouTube video. Rather interesting!

Update: These YouTube ads have apparently been around a while – I assume their low CPM keeps their general visibility low. Pretty sure transparent backgrounds are somewhat new, however.

 Tags: AdSense, Random   Published: 16th September '10

Optimisation Xtreme

Traffic to is on the up, thanks to the ever popular collection of Christmas and Halloween songs. Wishing to captialise from the increased activity, I’m stepping up efforts to improve monetisation.

I embedded an AdSense Link Unit into the navigation last May and, foolishly, haven’t really touched it since. About a month ago, I went nuts and rolled out a test to see if I can tweak the performance of the ad unit. I’ve now tried an assortment of different colour palettes, positions, titles, and behaviours. The below swatch shows all of the test candidates:

Link Unit Tests

Each incoming visitor to the site is assigned to see one of the above, and they continue to see that version for the following 30-days (as to remove bias resulting from a constantly changing style). Thanks to AdSense’s Custom Channels, one can easily track the performance of each version and compare that to the original (aka the control).

I’ve now run the experiment for about the month, so the data should be pretty reliable by this point. Here are the results:

Results Table

It’s pretty incredible to so clearly see how a relatively minor change can have a significant effect on performance. Test #17 was born from trying to take the best features from other high-performing ads (ie. the best of breed). I need to extend this further and run a few final tests to see if I can iterate any further.

One problem I’m facing is that it isn’t necessarily prudent to strive towards finding the best performing ad as measured by CTR. An ad that generates the most click-throughs may also be alienating users and altering their usage on the site. Therefore, I ideally want to track the behaviour of the site’s users for each of the ad versions. This doesn’t appear to be possible in Google Analytics; does anyone know how this can be best accomplished?

 Tags: AdSense, Business   Published: 25th November '09