Over the last few months, I noticed a steady decline in AdSense earnings. Checking the statistics revealed, that this was neither due to decreasing traffic nor a lower clickrate. Both, traffic and clickrate, have been fairly stable. What went down instead, was the earnings per click.
After looking through my website, I came across a couple of well-visited pages, featuring ads for free smiley downloads. Ok, culprit found. Someone, who offers things for free cannot afford to pay a lot per click.
This explained the low earnings per click perfectly and is reason enough to ban the advertiser in question from my website in order to make room for more lucrative banners. The tool of choice to do this is called the "competitive filter" and can be found in the AdSense setup. All it requires to operate is a list of the domains or URLs, from which you do not wish to accept advertisement any longer. Up to four hours later, the corresponding banners are gone.
Easy in theory, but in reality, there is a catch. Google offers Text and Image ads, the later also including flash animations. Finding the exact link target in standard text and image ads quite simple (if it is not in plain sight already). Just rightclick(!) the link to open the context menu and select "Copy link address", then paste the URL into any text editor. To find the link target, just search for the string "adurl=". The address in question directly follows this string.
With flash banners, however, this does not work. Here, a rightclick will just open the context menu of the flashplayer. Furthermore, flash banners also occupy the entire visual area of the ad unit, they are displayed in, without being required to show any URL, like it is the case with traditional ads. This effectively allows advertisers to conceal their identity until the banner is actually clicked.
Advertisers, who hide their identity, by using flash banners, pose a real problem for publishers. On one hand, it is fairly obvious, that a banner offering something for free should be blocked, as it will not generate much revenue, while consuming valuable space. On the other, neither banner, nor browser reveals the link target and clicking to find it, is forbidden by the AdSense TOS. This is especially frustrating, since your browser actually already knows the target address. Luckily, there is a very easy, lowtech, crowbar style method to legally obtain the information anyway:
- Load the page with the offending banner showing. Open a second browsertab and load another, unrelated page (e.g. this one).
- Unplug your network cable and make sure, you are offline by trying to reload the second page. Only if that fails, you are good to go.
- Since you are offline, you can now click safely without producing an invalid click.
- Wait for the connection attempt to timeout (this will take a few moments). Your browser should report back with a connection timeout and the URL, it tried to access. If it doesn't, try using a different browser, e.g. firefox.
- Copy the URL from the address bar into a texteditor and search for the "adurl=" parameter in it. The URL, you are interested in, directly follows this string.
- Close the browser window before plugging the network cable back in order to ensure, that you don't accidentally hit reload and produce an invalid click after all.
Alternatively, you can also either take down your network device or configure your firewall to block any outgoing traffic instead of unplugging the cable. The hardware solution is the safer and simpler choice, however.