Sustainable Growth

How Programmatic Advertising Companies Impact Publisher Revenue


Background on programmatic advertising companies

My team and I have worked with publishers running programmatic advertising for decades, and please let me tell you: we've seen it all. At best, programmatic advertising is misunderstood. At worst, there are established executives at media companies and programmatic advertising agencies who still have trouble articulating clearly the definitions, strategic implications, and fundamentals of how publishers should think about sustainably increasing ad revenue, RPM, and CPM. 

Throughout twenty plus year experience coding websites for hundreds of different publisher brands, what's clear is that nine out of ten publishers have received poor advice from programmatic advertising companies in the last nine months. Let's flip this publisher reality on its head, and get the final answers on how, exactly, programmatic advertising companies impact publisher revenue. 

There's a reason, of course, for the black box-ness of programmatic advertising: Incentives. Most programmatic advertising company decision makers make their money by earning only short-term revenue for publishers. These advertising companies are not incentivized to protect long-term revenue for their customers. 

In other words, the risks around long-term audience churn caused by inserting too many ads don't really matter to programmatic advertising companies. In fact, it's the opposite. It behooves programmatic advertising company decision makers to portray themselves as wizards who can magically cast the perfect configuration, rather than transparently discussing the tradeoffs of fundamental programmatic ads mathematics with publishers. 

Incentives notwithstanding, there's no getting around the fact that when a programmatic advertising company increases ad density too much on a page, a publisher's audience starts to find their content elsewhere. From a business sustainability standpoint, then, publishers have to find the optimal layout of ads: where advertisers receive access to valuable real estate that also never compromises the core experience of an audience interacting with the publisher's content. In practice, "optimal layout" means "A/B test" your way into the ideal configuration that earns maximum revenue for each visit. 

Getting on the same page once and for all: RPM vs. CPM

Once and for all, the clearest description of RPM vs. CPM has to start with CPM. 

  • "CPM" = the dollar amount a partner advertiser pays a publisher for 1,000 impressions from a single programmatic ad slot
    • Colloquially amongst publishers, CPM = "ad revenue" 
    • C.P.M. in case you were wondering = cost per mille
      • "Impression" = ad appears on a webpage during audience visit in a given slot
      • "Ad slot" = where impression is served, e.g. sidebar, header

Once you understand CPM, RPM then becomes extremely easy to wrap your head around:

  • "RPM" = the sum CPMs for every 1,000 pageviews 

Now, because comprehension requires a bit more than getting an answer to the question, "Does that make sense?" —> let's do a practice problem: 

  • You have a header, sidebar, and footer with CPMs of $5.00 each. 
  • Each ad has 1,000 impressions each across 1,000 pageviews
—> What is your RPM?


If you answered "$15," put gold stars everywhere —¡congrats! If not, no worries, let's consider a web page as if it were a section of highway with billboard ads: 

  • The "highway road" represents the content of the originating publisher: i.e. that's the main focus of the driver/visitor/audience
  • "CPM" represents the price of appearing on one billboard (i.e. it's more expensive to purchase a giant billboard easily viewed from the highway, rather than a smaller one that's a bit further away from the main view). 
  • "Impressions" are how many individual eyeballs had a given ad slot in their field of view. 1,000 impressions, or views, results in the aforementioned "mille," which (perhaps ironically?) is only used so that numbers are more round and easy to use colloquially. 
  • "RPM" equals the revenue earned from the portfolio of billboards within view for every 1,000 impressions. Add up all the individual CPMs for every 1,000 pageviews, and that's your RPM. 
  • "RPS," or revenue per session, if we followed this analogy would be adding another stretch of highway into the calculation, similar to a website visitor clicking and visiting a new page with a new set of ad billboards. 

For this highway analogy, just like in internet advertising, there are two, and only two, discrete ways to increase revenue:

  1. Acquire more billboards in which ad partners can promote their brand (i.e. increase volume)
  2. Improve billboard quality (e.g. improve inventory — such as a floating billboard easily seen by the drivers without distracting them). 

How programmatic advertising companies increase revenue —> there are only two ways

There are exactly 2 ways programmatic advertising companies can increase revenue:

#1: Increase revenue per session, aka “Increase RPS”

A session starts when a visitor enters onto a domain, and ends when they leave. So, to increase revenue per session, publishers can do one of two actions: increase RPM, or increase page views per session:

  • To increase RPM,
    1. Increase CPM (revenue per every 1,000 ads loaded & viewed), or
    2. Increase # of ads loaded per page
  • To increase # of page views per session,
    1. Encourage more engaging user experiences
    2. Don’t scare audience away with too many ads
    3. Optimize page load time to reduce “bounces” where users request a page and then give up before the page loaded

#2:  Increase total number of sessions

Accomplished primarily by implementing SEO (search engine optimization) best practices, which earns more sessions from organic search queries placed into Google, Social, or other referring domains. To improve SEO, publishers can: 

  • Improve Core Web Vitals
    1. Load ads later after the rest of the page to decrease “Page Load Time” and break up what's called "Largest Contentful Paint (LCP)" 
    2. Ensure ad slots are pre-configured on the page to decrease jumpiness (i.e. improve “Cumulative Layout Shift" (CLS) Score)
  • Launch direct marketing campaigns (i.e. use social, paid, email, etc. to increase sessions)
  • Improve page load time - ensure page (and ads) load before the user gives up and leaves. Especially relevant on mobile and/or low-bandwidth experiences

Ok, I get I'm supposed to “increase RPS,” but double-click please

Digging in one level deeper, the following is a comprehensive and exhaustive list of how programmatic advertising companies can increase RPS, or revenue per session There are a total of nine tactics:

  1. Increase view-ability of ads on page
    1. Use “lazy loading” to only request ads when users are very likely to see them (i.e. don’t load many ads below the fold)
      • NB - this is the opposite of logic to “Increase # of Ads Loaded”
    2. Implement a view-ability centric refresh algorithm, i.e. refresh ads according to user’s individual behavior on the site
  2. Increase impact of existing ad slots
    1. Increase size of ad slots, i.e. provide larger ads
    2. Adjust user experience to bring more attention to the ad slot (sticky experience, extra highlights around the ad slot, animations, etc.)
    3. Increase % of video ads over traditional display ads
      • Make sure to maintain top-level authority against negative impact on user experience by analyzing page speed and bounce rate
  3. Increase addressability (ability for advertisers to reach their target audience):
    • Integrate data targeting partners to track users
    • Encourage traffic from sources like Google Discover that have lots of existing targeting data of their own
    • Collect more first-party data (mailing list signups, quizzes, etc) and share it with advertisers
    • Create more content in specific, targetable subject areas (e.g. pickup trucks, credit cards, etc.)
    • Integrate anti-fraud partners to increase advertiser trust that the ad opportunities and traffic are truly a real audience (and decrease the amount of traffic flagged as IVT - Invalid Traffic).
    • Encourage traffic from Google Chrome, and less so from Safari
    • Use paid traffic acquisition from reputable, ad-centric sources such as a Google or Facebook that are able to track users from the source location and help with targeting them on your own site
  4. Increase pool of competing bidders for existing ad opportunities
    • Curate this pool to remove low performers to minimize impact on Core Web Vitals and overall user experience since more bidders correlates to more code on page and slower user experience.
    • Decrease # of ad opportunities available (intentionally decrease supply):
      • Bid Floors - Set minimum acceptable CPM to show ad to reject more bids and decrease fill rate
      • Decrease # of Ads Shown (Opposite of #5)
  5. Give more inventory to direct sales ad opportunities or other ways to increase # of Ads Loaded:
    1. Increase # of ads in the first viewport
      1. May negatively impact user bounce rate or other user experience / SEO metrics
      2. Increase total # of ad slots per page (may negatively impact viewability)
        1. Add more slots to the page
        2. Reduce “Lazy Loading” to request ads earlier
  6. Increase rate of refresh for the ad slots
  7. Increase time spent on page to allow time for more refreshes to happen
  8. Increase fill rate (# of ads loaded out of # of ads requested)
    1. Lower Bid Floors
    2. Increase # of demand partners
    3. Increase addressability
  9. Decrease time between user requesting page and ads being shown
    1. Decrease time between page requested and page loaded
    2. Decrease time between page loaded and ads showing

Conclusion — four optimization strategies publishers and programmatic advertising companies should utilize

Given the above, logic follows that the most sensible optimization tactics for increasing programmatic revenue include: 

  1. Re-balance demand, view-ability, user experience, and inventory
    1. Demand Partners
    2. Ad Slot Presence
    3. Ad Sizes allowed in Slots
    4. Refresh Rate
    5. Lazy Loading / Starting Delays
    6. Bid Floors
    7. % of inventory available to Direct Sales
  2. Apply all strategies from #1 at varying degrees of granularity based on:
    1. Network
    2. Sites
    3. Content Types
    4. Device Categories (Desktop, Tablet, Mobile)
    5. Browsers
    6. Traffic Sources
    7. User’s Internet Speed
    8. Time of Day (for ads markets or for local user time)
    9. Day of week, month of year, holidays, etc
    10. Geographic Location
    11. First Party Data / User-specific Information (see Data Strategy below)
      1. Previous interactions with the brand - (e.g. vary experience for new vs. returning visitors)
      2. Are they commenting or otherwise engaging with the brand?
  3. Provide feedback around content strategy
    1. Data driven reporting connecting ads to content
  4. Create a more data-driven publishing strategy
    1. Data Management Platform(s)
    2. First Party Data Collection & Activation

Key Takeaways: 

So, there you have it; that’s how engineers think about how programmatic advertising companies increase publishers' revenue. Remember, there are exactly 2 ways to increase programmatic revenue: (1) increase revenue per session, or (2) increase total number of sessions.