Programmatic Tips

Online advertising can be a complicated topic if you're just getting started. The industry is constantly reinventing itself with updated solutions, newer products and better practices.

This guide was created to help publishers navigate the landscape in an effort to maximize revenue while respecting the integrity of your visitors.


Ad Server

Your choice of ad server is arguably the most important decision. As a certified Google Publishing Partner, we naturally gravitate towards Google DFP.

With Google DFP you can schedule both display and video campaigns and the ad server automatically connects to Google's AdX marketplace through Dynamic Allocation. It is important to distinguish between ad server and SSP at this stage. An ad server allows you to schedule your own direct sold or programmatic campaigns whereas an SSP directly connects you (the seller of digital media) with a DSP (the buyers of digital media) in real time to auction off your unsold ad inventory in the form of an ad marketplace. In our case, Google DFP is the Ad Server whereas Google AdX is the SSP.

Programmatic Advertising

Ideally, you'd like to work with an ad server that offers a full-stack solution in an effort to minimize complicated setups. What isn't widely recognized in our industry is that there are a limited amount of buyers, and even fewer quality publishers, but an endless amount of advertiser SSPs, networks and other middle-man solutions. It's important to keep this in mind going forward. If you're a quality publisher with legitimate traffic, the opportunities are endless.

Despite their claims, SSPs are really not that different from one another under the surface. Switching from SSP (x) to SSP (y) typically doesn’t result in incremental revenue. It’s more like trading apples for apples. After all, the same buyers exist across multiple platforms.

What sets Google's ad serving products apart from the rest is that you'll have access to unique demand and proprietary ad units such as TrueView. These typically account for major spend on your website if you've set everything up correctly. Here we're comparing apples to passionfruit.

Header Bidding

The major caveat with the combination of Google DFP and AdX is that you're giving Google too much leverage. Dynamic Allocation is great but it always gives Google an opportunity to win the impression as the designated last buyer in the auction. To even the playing field, it is highly recommended to invest in header bidding. This technology allows multiple ad exchanges to bid on your inventory at the same time which, in turn, extracts the highest value for your traffic.

Google will still account for the majority of your ad revenue but due to greater price competition CPM rates will increase. Publishers who have successfully implemented header bidding typically see 35% to 50% rise in CPM prices.

Header Bidding

Prior to header bidding, publishers were only able to sell their unsold traffic to each individual ad exchange in successive order. To illustrate, in the ad server the first tag would receive X amount of traffic at a stagnant CPM price based on historic data and once completed, the ad server would move to the next tag.

With header bidding, however, you don't need to manually manage your line items with past performance in mind. The greatest benefit of header bidding is that the publisher can now for the first time isolate the CPM of each individual ad impression in real time and pass this information back to the ad server.

As more and more impressions are being sold through header bidding, it's still important to favor working with partners who have access to unique demand. We have seen the most amount of monetary success with Amazon A9, Audience Network, Index Exchange, OpenX and Sovrn.

Moreover, if you're going to work with multiple header bidder partners it is recommended to implement a wrapper to manage latency. Since we're exposing the impression to more advertisers, the amount of time the ad server needs to retrieve all winning bids will go up. With a wrapper the publisher can time out advertisers if they're taking too long to respond. A wrapper also simplifies the process of adding new advertising partners since most of them have built an adapter that simplifies the technical implementation. One of the most widely adopted open source wrappers is Prebid. It does require front-end dev resources to implement this one. If that isn't an option you might want to consider a managed solution such as Index Exchange's Header Tag.


The entire industry is currently shifting towards optimizing according to Viewability. Some advertisers such as Facebook's Audience Network, only pay if the ad has been viewed by a user and more buyers are following suit. A campaign is typically deemed viewable if at least 50% of the campaign has been seen by the user's screen for at least one second.


From a technical point of view, this requires publishers to be more strategic with where and how they decide to place ad units on their websites. The CPM that you're generating is directly correlated with the unit's viewability rate. You're no longer able to frivolously place ads on the outer edges of the website. So what are the options?


  • Place a horizontal unit at the very top of the page or underneath the main nav bar.
  • Place vertical sticky units in your sidebar that scroll with the user for 500px. Rinse and repeat.
  • Do not use vertical sticky units that are absolutely positioned on the page.
  • Enable native styling on display units to mimic "read more" thumbnails on the page.


  • Enable lazy-loading for all below the fold units. This triggers the display creative to load when they're close to the viewport.
  • Dynamically insert one medium rectangle per 10 HMTL objects to respect legibility and limit ad fatigue.
  • Do not use any sticky functionality on mobile. This practice will result in SEO penalty.
  • Enable native styling on display units to mimic images on the page.

Video Advertising

Pre-roll ads can be very lucrative for publishers if implemented correctly. Note that both the good and bad practices we've explored thus far apply to video as well. In essence, you need to provide a good experience for your users if you're interested in generating double digit CPM rates with high fill rates. Many publishers unwisely embed autostart videos deep in the article. It’s also all too common to see 300x250 autostart players in a sidebar (a terrible idea). Many video advertisers completely disable their bids if they detect two videos are playing at the same time on the page. Another thing to stay away from is players that have been embedded via an iFrame. These will send erroneous calls back to the advertiser and in an effort to prevent fraud, they will disable bids here too.


How, then, does a proper implementation look? The general rule of thumb is to implement responsive and visible players that resize to the parent container. Larger players perform better whereas 300x250 in-banner video players see the least amount of demand -- usually due to spotty placements and irrelevant content. When we talk about video advertising we also need to break down the implementation in two buckets: Click to Play and Autostart.

Click to Play

Advertisers prefer user-initiated players because they have higher engagement rates. The viewability is higher and the click through rate is higher. This is all music to advertiser's ears. When you implement a player using click to play, you can also safely embed the player in-article between paragraphs -- especially if the content video is relative to the text. For example, let's say you write an article about the trailer of an upcoming movie. The trailer will perform well if it is positioned towards the bottom of the page.


If you are going to implement autostart on your videos, make sure that you follow the YouTube model. The video player needs to be the focal point of the page and preferably above the fold. Another good example would be to include a thumbnail on an "index" page that links to an above the fold autostart player on the consecutive page. Unfortunately, many publishers still implement autostart players towards the bottom of the page and then wonder why fill rates are low? All viewability practices we covered earlier also apply to video.


We have arrived at the very end of the guide so let's recap with the best practices.

  1. Google DFP will allow you to schedule all types of ads and connecting with Google AdX will be a primary source of income.
  2. Sell your ad inventory directly to buyers instead of through third-party optimization services.
  3. To maximize yield, implement header bidding through a wrapper to push bid rates higher.
  4. Making your ad units viewable will be the most important practice for ads ops in 2017.
  5. Consider sticky functionality on desktop, but only with vertical units such as 300x250 and 300x600.
  6. Reserve horizontal units for the very top of the page and lazy load the bottom ones.
  7. On mobile lazy load all medium rectangles that are placed after the third paragraph on the page.
  8. Advertiser are moving towards native display units to minimize the file size of creatives. Become an early adopter!
  9. For video, implement large and responsive players that are seen by the users.
  10. Autostart and below the fold is not a good placement for a pre-roll ad.
  11. Stay away from video advertisers conducting client-side VPAID auctions.

Partner Preferences

Which partners do we recommend working with?


  • Ad Server: Google DFP with AdX Dynamic Allocation.
  • Header Bidding - Technology: Prebid (Open Source) or Header Tag.
  • Header Bidding - Monetization Amazon A9, Audience Network, Index Exchange, OpenX, Yieldbot, and Sovrn.


  • Pre-Roll IMA: JW Demand with AdX
  • Pre-Roll VAST: Audience Network
  • Pre-Roll VAST: Amazon A9

Extra Credit

For additional monetization opportunities.

  • Native Ads: Nativo
  • In-Image Ads: GumGum
  • Out-stream In-View: Teads TV
  • Content Distribution Outbrain