Coding Horror

programming and human factors

How To Advertise on Your Blog Without (Completely) Selling Out

I was saddened to read this blurb from danah boyd's outstanding "MyFriends, MySpace" presentation at Harvard:

My activist self wanted to believe that the users are aware of [ads], but sadly, that's not the case. To them, seeing ads means that the service is free. Kids are so used to being blasted with ads that they don't notice them.

I am no fan of advertising. I hate the fact that most websites are plastered with obnoxious, barely relevant ads. I've considered advertising before, but I rejected it. I don't want to be part of the problem. Even as a hypothetical, I couldn't come up with any tangible advertising benefits for anyone but myself-- and even then, not without taking on significant risks:

  • Loss of credibility. Do you advocate the products your ads are hawking? Are you pandering to drive page views or writing what you feel? Who are you writing for, exactly? Your advertisers? Your audience? Yourself?

  • Design Suffers. Ads are eyesores, virtual billboards cluttering the digital landscape of a website. Got whitespace? Fill it with another ad, naturally. Maximize that revenue stream, layout be damned!

  • Lack of Professionalism. In traditional journalism, there's strictly enforced separation between the writers and the marketers selling ads. In a one-man blog shop, this isn't possible, so questions of impartiality are unavoidable.

But there's a certain.. inevitability.. to online advertising, as Clay Shirky wrote:

This model, which generates income by making content widely available over open networks without charging user fees, is usually called 'ad-supported content', and it is currently very much in disfavor on the Internet. I believe however, that not only can ad-supported content work on the Internet, I believe it can't not work. Its success is guaranteed by the net's very makeup - the net is simply too good at gathering communities of interest, too good at freely distributing content, and too lousy at keeping anything locked inside subscription networks, for it to fail. Like TV, the net is better at getting people to pay attention than anything else.

That was a few years ago. Now the battle is long over. Advertising has won so completely and decisively that it's hard to imagine any other revenue model working online. A handful of websites can pull off pay-only services, but it isn't even on the radar for most.

Advertising sucks. But you know what else sucks? When people point out how stupid you are to throw away five figures worth of potential income. Repeatedly. At length. So the question becomes this:

Is it possible to advertise responsibly, with respect for your audience-- and yourself? I think it is, if you're careful.

One of my favorite references on responsible online advertising is the Modern Life blog. Like so many of my favorite blogs, it's not updated nearly often enough. But Stuart Brown's piece on balancing AdSense with user experience offers the best advice I've seen so far:

  1. Use the AdSense heat map to judiciously select one or two places for ads, rather than blasting them across your page.

  2. As a courtesy, turn off ads for Digg, Reddit, and other popular referring URLs. This audience doesn't appreciate ads, and they're the least likely to click them anyway.

  3. Reward frequent readers by keeping your new content free of ads. Use time-delayed ads that only display on articles after they've aged for a week.

  4. Always offer full content in your RSS feed. Don't force people to click through to your site and see your advertisements.

It's sensible, original advice that's respectful of readers. The advertising section of Ethical Blogging 101 is also spot-on as well. Heck, read his entire blog while you're there. It's all great.

Stuart only talks about AdSense in his posts. AdSense is easy enough to plug in to your website, but is generic AdSense really the right choice? In The 7 Levels of Revenue for your Blog, Google AdSense is the absolute bottom of the barrel, a choice of last resort. There are other options:

Sold Through Revenue
Level 1 AdSense Google $1 CPM
Level 2 Affiliate Programs Amazon,, etc 1-2% sales
Level 3 Traditional Ad Networks ContextWeb, ValueClick, AdOn, etc $1-$2 CPM
Level 4 Automated Text Link Ads TextLinkAds $25/link
Level 5 Fixed Text Link Ads (direct) $50/link
Level 6 Graphical Banner Ads (direct) $5-$20 CPM
Level 7 Fixed Monthly Sponsors (direct) (negotiated)

Notice that the top 3 tiers of the advertising pyramid are all sold directly. I prefer this approach. You retain maximum control over exactly what is advertised on your website. Instead of an ad network deciding what gets displayed, you decide. It's a relationship you control.

If you're going to clutter up your website with advertising in the first place, why not do it as effectively as possible? Don't use the Ronco spray-on advertising approach -- e.g., indiscriminately placing low-value Google AdSense units in every nook and cranny of your page. It's a better experience for you, and your readers, to be much more selective. I'll never understand bloggers who place their own personal desire for an additional few grand of income over basic respect for their readers.

By now, you may be wondering if this is a rather tedious, long-winded way of saying that I'm about to start advertising on this blog. You're right. It is. But I have one more bit of advice to offer before I do, and it's arguably the most important one of all.

I will be donating a significant percentage of my ad revenue back to the programming community. The programming community is the reason I started this blog in the first place. The programming community is what makes this blog possible. It's an open secret amongst bloggers that the blog comments are often better than the original blog post, and it's because the community collectively knows far more than you or I will ever know.

So, what's significant? Let's start with $5,000.

I've personally benefited most from the .NET open source community, which I feel is radically under-served by Microsoft, so I'll be contributing this money to one or more .NET open source projects to maximize its impact. And what's even more exciting is that I have a verbal commitment from Anand Iyer, a MS Developer Evangelist, for Microsoft to match my contribution. That makes a cool $10,000 we will be contributing to support open-source .NET projects!

Update: My $5,000 was awarded to the ScrewTurn Wiki project in April 2008. Sorry it took so long.

As much as I abhor advertising, I'm tremendously excited to have the opportunity to share my advertising revenue with the larger .NET programming community. For me, that's the tipping point. Giving back to the community is what makes the pain of advertising worthwhile.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: