Three years of advertising on my blog: numbers

In June 2019, added a small, non-intrusive advertising block to this blog in hopes of making enough revenue to cover the hosting costs. In March 2022, I removed this advertisement for good, partially because of the success of my newsletter and also because, in line with my ethics statement, I want to avoid ads, hidden ads, or sponsorships on any property I own.

This post summarizes my experience with these ads and revenue numbers. In 33 months of these ads running, they generated a total of $3,541 after 2.1M ad views. Read on for more detailed statistics.

I'm writing this article for those interested in the monetization aspect of an advertisement solution on their blog or website. When I debated whether to add ads to this blog or not, I would have appreciated details like this. I have no affiliation with Carbon ads or any other providers mentioned. See my ethics statement for more details.

Choosing an advertising provider

I wanted to have a less intrusive advertising provider and avoid irrelevant spam-like ads that Google Ads and other advertising providers. I also wanted to avoid the dark pattern of ads re-appearing as you scroll, which are trademarks of many online magazines.

Carbon Ads was the one provider that checked all these boxes. Carbon ads is a provider tailored to reach developers and creators, and most of their advertisers are tech companies and startups.

I liked two things about Carbon Ads:

  • Deliberately limiting the number of ad blocks to one small one per page. No dark patterns.
  • Filtering sites that apply. I also had to apply, submit details of my site - like the topic and traffic - and wait for a response.

In what is confusing, after I applied to join Carbon Ads, I got a contact form from a company called BuySellAds. Apparently, Carbon Ads was bought by BuySellAds in 2013, but the brands are treated differently. I would only interact with BuySellAds from there on.

BuySellAds verified my ad placement before approving. I received this email from an accounts representative:

Thanks for your interest in Carbon. We received your submission to join Carbon, and we’re excited to have https://blog.pragmaticengineer.com/ as part of Carbon network. Let me give you a quick rundown so you can decide whether we’re the right fit for your site.
The response to my application being approved. Well, almost: I still needed to show the final ad placement.

Adding ads was what made me remove Disqus comments from my blog. Up to 2019, I had a Disqus widget that allowed people to add comments to the blog. I used the free version, which version would inject ads into the comments box.

Carbon Ads would not approve my application while there were other ads on my blog. I looked at the ads Disqus served and didn't like how many of them were dark patterns and some ads linked to questionable online money-making schemes. Also, I did not get much value from the comments: moderation was more work than joy. So I removed Disqus at the same time I added Carbon Ads. Here's what the ad looked like on the sidebar on my site, on a desktop layout:

The ad on the desktop version of my site. It appeared on the bottom of most screens - people often had to scroll to see it.
The ad on the desktop version of my site. It appeared on the bottom of most screens - people often had to scroll to see it.

On mobile, the ad would not show up unless scrolling to the very bottom of the page. I did not want to clutter the mobile experience on mobile and Carbon Ads seemed to either not care or not notice, so I kept it this way.

I was happy: I now had a minimalistic ad towards the bottom of the page, barely visible on mobile, and it would start making some money. So let's talk about that part.

Site traffic

Before I launched Carbon Ads, my blog saw 3-4,000 pageviews a month. In May 2019, this was 20,000, and in June, it was 30,000, climbing upwards.

Site traffic is important if considering the earning potential of any ad solution. I did not have any targets beyond hoping that my monthly blog hosting bill of $30/month or ~$300/year could be covered with this ad.

Earnings

BuySellAds sends an email every month with the earnings. In June, this was at $13, and in July, at $45. That was more than my bill for hosting! My imaginary target was hit.

Earnings in the second month of running ads

Here's how the earnings would add up in the following months and years:

  • $474 in the six months of 2019.
  • $563 in 2020.
  • $1,892 in 2021.
  • $604 in the first 3 months of 2022.
Ad earnings in 2019 for The Pragmatic Engineer Blog
Ad earnings in 2019 for The Pragmatic Engineer Blog
Ad earnings in 2020 for The Pragmatic Engineer Blog
Ad earnings in 2020 for The Pragmatic Engineer Blog
Ad earnings in 2020 for The Pragmatic Engineer Blog
Ad earnings in 2021 for The Pragmatic Engineer Blog
Ad earnings in the first 3 months of 2022 for The Pragmatic Engineer Blog
Ad earnings in the first 3 months of 2022 for The Pragmatic Engineer Blog

Are these ads worth it?

In a bit less than 3 years, the ads paid out a bit over $3,500. While this number is nothing to sniff at, the traffic behind these numbers that was sizeable: close to 2.2M impressions:

Total ad revenue generated on The Pragmatic Engineer Blog
Total ad revenue generated on The Pragmatic Engineer Blog

During the same time, traffic on the blog climbed to more than 100,00 pageviews per month, with a total of 3.5M pageviews.

For every 1,000 page views, about $1.60 in revenue was generated.

If monetization was the goal, other approaches would have generated more revenue. Sites covering topics on technology that have similar traffic can likely make more revenue with sponsorships. When I spent $5,000 advertising my mobile book on websites and newsletters, sites with similar traffic charged me $750 for a week-long sponsor slot.

Today, SwiftLee - an iOS blog - charges $2,000 per week or $7,000 per month for a sponsor slot with traffic of ~100,000 visitors per month and 400,000 pageviews per month. In a month, SwiftLee could make twice as much in sponsorships than my blog did over three years with this small ad unit.

If you're thinking of monetizing your blog or website to cover hosting costs as I did, these drop-in ads could be a good start, though. They are the simplest solution and one that doesn't require additional effort to manage sponsorships.

You can add sponsorships on top of these - and remove these types of ads if you gather interest from sponsors. However, with sponsors, expect to be more hands-on in selling, communicating, and sharing reports on their campaigns. I'm certain that the ability for e.g. SwiftLee to charge $7,000 for a months' sponsorship is a result of years of interesting and relevant iOS-related writing on his blog, and building up relationships with his advertisers.

As far as non-intrusive ads go, I was happy with the results. My goal with the ad slot was never about maximizing revenue, though. I wanted the ad to be as unintrusive as possible and deliberately pushed it as low as I could both on desktop and especially on mobile.

Considering how little visibility the ad had, I've been impressed that it made enough to cover hosting costs - and then some more.

I started to think about removing advertising after I started to publish books and kicked off The Pragmatic Engineer Newsletter. Would it still make sense to have a third-party ad on this site, which is more of a distraction at that point?

There are still 'ads' on the site, but they point to my business. With BuySellAds gone, this blog is not 'ad-free.' In the middle of each post, there's a mention of my newsletter, and at the bottom of all posts, I mention my other businesses: The Pragmatic Engineer Job Board and Talent Collective and my books.

I control the placement of these blocks and position them to be unintrusive, don't follow dark patterns, and don't get in the way of reading articles. Plus, in the case of featured jobs - many of which have salary ranges - hopefully, they also are useful for a few people browsing the site!


Featured Pragmatic Engineer Jobs

  1. Founding Engineer at Complete. $160-205K + equity. San Francisco.
  2. Senior Backend Engineer, Platform at Jock MKT. $140-200K + equity. Boston or Remote.
  3. Software Engineer at Harver. €55-90K. Netherlands.
  4. Founding Engineer at Zählerfreunde. €70-90K + equity. Munich or Remote (EU).
  5. Senior Frontend Software Engineer at Bound. £70-100K + equity. Remote (EU).
  6. Software Engineer at Bound. £40-65K + equity. Remote (EU).
  7. DevOps Engineer at Teller. London.
  8. Engineering Manager at Element. £90-125K + equity. London.
  9. Engineering Tech Lead at Wise. £95-130K + equity. London.
  10. Senior Full Stack Engineer at Calliper. £60-90K + equity. Remote (EU).
  11. Software Engineer at Keeper Tax. $140-185K + equity. San Francisco
  12. Senior Product Engineer at Causal. $150-250K + equity. Remote (Global).

The above jobs score at least 10/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.

Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.

Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.