The State of Advertising on the Mobile Webosphere
As a publisher of multiple websites, I like to adhere to the Don't Repeat Yourself principle (known as DRY). One of the trickiest parts of supporting DRY as the mobile web expands is serving the same content to both regular browsers and all mobile devices. Luckily, frameworks like jQuery Mobile are making it easier as time goes on.
But when it comes to ad serving, the current state of the mobile web is a mess. If you're viewing a mobile ad from a regular browser, it might not show. If you're serving a mobile browser ad to an app, you might be violating some obscure terms of service you never bothered to read. The advertising giants on the internet today want every website to have a different ad code for every possible situation: one for regular browsers, one for certain kinds of phones, and one for every app platform out there. When you start totaling the number of ad codes that you're expected to juggle, it looks atrocious. In short, every website is expected to re-invent the wheel and develop their own serving logic to determine when each individual ad code is shown.
Why are the advertisers making it hard on publishers instead of just giving out one code and handling the logic themselves? I honestly don't know. Each one of their unique ad codes is probably a compartmentalized project within their behemoth infrastructures, unaware of what others are doing. It's stupid to think that every website out there that wants to put an ad on the same page that is served to a desktop browser, a mobile browser, an iPhone app, and an Android app must manage four separate ad codes. And if you want to start including tablets like the iPad or other app platforms like Windows Phone, Palm, and BlackBerry, then that number just grows.
That's One Sweet Inefficiency
I decided to do something about it myself. I made a web app that takes in your different ad codes and it gives you only a single code in return (with the caveat that it's launching right now with limited support: only AdSense and AdMob are currently accepted). It's called Driads, which was an available domain that sounds like the combination of "DRY" and "ads" along with some mythical connotations. When you put the one Driads code into a web page and a user visits your site, it will automatically detect the difference between a regular browser and a mobile browser, and show the appropriate code. Like any system, it's not perfect, but I think it's a good start towards simplifying ad codes for mobile publishers.
Your Ad Serving Wish List
Driads also supports some pretty neat features that a lot of regular ad codes don't give you. Again, why the big advertisers haven't invested a little of your hard earned money into making these useful, but altogether simple concepts available is beyond me. By appending a few parameters to the query string, you can achieve these desired results:
- "&test=1" activates test mode, which bypasses security checks on the server and displays informative messages about the requesting environment instead of inflating impression counts - very useful for development or staging.
- "&app=1" forces the requesting mobile environment to be treated as an app instead of a regular browser. In iOS, differentiating between the two is trivial, and Driads handles it automatically. But other platforms like Android can make it impossible to tell between the two, and this let's you take control if necessary.
But My Page Is Inserted via a Dynamic, Asynchronous, AJAX, XML-RPC, JSON Protocol!
The single most important feature from my perspective is setting an ad space to "asynchronous mode." This allows ad codes to be inserted into a page after it has finished loading, via AJAX or a similar method. This is absolutely pivotal to getting ads to even show up on sites that use mobile frameworks like jQuery Mobile or any kind of client-side navigation. It also allows for the possibility of the ads being "refreshed" at a later time if the user loads in a new "page" but doesn't perform an action that actually changes the URL.
All That and More for No Cost
So check out Driads and let me know what you think. And if there's a specific ad code or feature you want support for, don't hesitate to ask. It's a totally free service for now. Of course, if it starts costing me a ton of money to maintain, I'll have to recoup costs. But as it stands, I made Driads because I need it, and I hope others will find it useful as well.