Monday, May 22, 2006

Improving AdSense relevance (especially for PhpBB forums)

All you need to do for selecting the type of advertisements you want is to put an additional GET parameter into your URL!

If your site is about rats for example and is located at, but Google insists on giving you advertisements about owls because that term just happens to appear somewhere on the page, it seems quite effective to simply make the URL

On my server I have two PhpBB forums, both of which are displaying some advertisements. While they get ~20000 page views per week, advertisement clicks are zero. It was obvious why this was. While the target audience was teenager dog lovers, the advertisement Google's AdSense is displaying are about IT infrastructure and car parts, I couldn't imagine them being any more unrelated.

First of all I wanted to see in what kind of cases the Google server would come and reread the page content to target the ads. If I don't know that, then it would be impossible to make any improvements and know if they had any effect. So I made a test page and tried changing the ad channel name, create a new ad section and change the page content, but none of these caused the google bot to come. However I noticed that changing the name of the page does cause it to come, even if you just add GET-parameters after the URLs (I'm sure it filters out sids and such), the bot comes to reindex.

Okay, now I know how to make the bot come. How do I get it to understand what the page is about? I tried the putting the google_ad_section_start tag around forum posts, like adviced somewhere, but it didn't help at all. But here's the magic worth million dollars: Google AdSense really cares about the NAME of the page. If instead of view_topic.php you have dogs.php for example, it assumes it's about dogs! Well, I didn't want to rename all of my pages, so I tested if it would be enough to just add the a GET parameter about dogs, and sure enough it was. I was finally getting dog-related advertisements.

Now, how to make that happen in PhpBB? Here's how. Go to sessions.php and find a function definition for append_sid. Append_sid is the function which makes sure that even without cookies, sessions won't be lost. Also it's a very convenient place to add new GET parameters, as every URL which is displayed by PhpBB goes through this function. Here's my new function:

function append_sid($url, $non_html_amp = false)
global $SID;
if ( !empty($SID) && !preg_match('#sid=#', $url) )
$url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;

// Try to make adsense understand that this page is about dogs!

return str_replace("?", "?dog&", $url);

After this modification, all of the forum pages now show ads which are relevant. I'm happy, the users are happier, advertisers are happy and Google is happy.

Friday, May 19, 2006

Faster software keyboard

I thought this was cool. Watch the video to see the researcher typing in text painstakinly using a "soft keyboard" (like in some PDAs) and then watch him do it again using an augmented one to speed up the input.

Textinput demo screenshot

I'm getting fond of reporting research done in my university, because there is a lot going on and very little of it ever gets reported outside the research labs, interesting though it may be.

The paper on this

Thursday, May 18, 2006

How I made a fortune with AdWords and AdSense...

I have a confession. I have one of those annoying landing pages which just mostly contain advertisements, but not much content. It started as a legit site where I hosted a sweepstakes competition for a while, but after the sweepstakes had ended and there were still people pouring in, I decided to replace the previous site with a simple link directory and some ramblings sometimes (so there IS content too), but mostly just lots and lots of Google ads. Still the people are hanging around, so I guess they don't totally despise the page as it is now.

It worked. What I discovered is that people who have an intent to participate in sweepstakes have extremely trigger-happy ad-clicking mouse buttons compared to most crowds. The clickthrough rate was 3%, which I feel is incredible (comment if you think it's just normal to you!), especially considering how high in value sweepstakes ads are (average $0.36 per click). As lovely as this equation is, the absolute amount of visitors is very low (200 per day) so only a few dollars at best are generated in a day.

I thought I'd try AdWords, so I started calculating this thing out on paper. If 1000 visitors bring in $10.75 on average, perhaps I could get that many from AdWords with that price and maybe even make some profit. I figured that if I buy site-targeted ads at the lower price, which is $0.20 for 1000 displays and if 2% of people click on the ad, I could get 20 visitors for $0.20. Twenty visitors for my site is worth exactly $0.20, so I could break even. Those people are already proven ad-clickers, so perhaps they would be worth even more.

So I ran a test. I decided to try it out with about $100. I wrote a quick and dirty ad, chose some sites pretty much at random and then started thinking which tropical island I would most like to spend the rest of my life in... After coming back later to check the situation, I found myself a wealthy man. Okay, actually it was a total shocker, it underperformed my wildest imaginations. After 300000 impressions there were only 75 clicks -- CTR of 0.02%!!! That's absolutely horrible. I spent $76 to get $.75!

I made a fortune with AdWords and AdSense alright... for Google.

When examining the situation a bit closer, I noticed that all of the ad dollars had gone to one site, When I went to check the site out to figure out why the CTR was so low, I couldn't even find the ad section. It seems to me that they are somehow syndicating their own AdSense ads away (is that allowed?). I contacted a Google support guy and am now waiting for his reply on this. I'll post again when I get the reply. I did some searching on Axill and they seem a bit shady...

The landing page can be found on if you are in a masochistic mood.

Thursday, May 11, 2006

Getting tagged as a bad neighborhood on Google

Google seems to tag some sites as "bad neighborhoods". Such sites are completely dropped from the index and links from these sites will negatively affect the sites being linked to. From my experimentation, I know of two ways to get yourself tagged as a bad neighborhood, and I thought I'd share them with you.

First way I know is being linked to from link collections. If there are large numbers of links to your site from such link lists, Google seems to think that you are attempting to game the system, and your site's position will suffer. It might be that this is just a property of their algorithm and that there are no "bad neighborhood" tags, but effectively your site will be punished if you try to submit to many such lists.

Eventually Google seems to forgive, though. Someone I know was left with the task of trying to restore a site into Google's listings after some excuse for a site optimizer had gotten their site delisted from Google. Of course there was nothing that could be done, as the links could not be removed, but as time passed the site eventually appeared in the listings again.

Second way to get slapped I discovered myself -- typosquatting. I made an experiment where I created a page which contained ten variations of the term "sweepstakes", with links to my own page (on another domain). Google's reaction was fast. Just three days passed, and all the subsites on the entire domain got completely delisted from Google. There were four subsites which had a fine ranking on Google for months, but had now completely disappeared from listings, so it was not just random fluctuation.

The page has been removed, and I'm waiting now if the badness tag I got was permanent or if I will be relisted again on the next indexing round. Moral of the story: don't be evil, and Google will like you.

Monday, May 01, 2006

Star Wreck team to announce new project Monday

Emperor James B. Pirk appeared today in his May Day speech in Tampere, Finland (4 hours ago). In his speech he reminded us that a good working class member is cheap, efficient and obedient. After a song in the Emperor's honor, the Star Wreck team also made an appearance, with director
Samuli Torssonen commenting their production team's intention to announce a new project on their homepage on Monday. He was tight-lipped about specifics at this point. A compilation of the Emperor's speech will appear later on the Star Wreck homepage.

Correction: the monday means 8th of May