Does this describe you?
You have done the hard part of growing an audience. You have fully functional teams to sell direct to advertisers. And you even built an in-house ad-server yourself (or duct-taped a shrink-wrapped banner ad-server) that works fine (for today). It manages your manual direct-sold deals (IOs & RFPs) reasonably well. With all of these pieces ostensibly in place, you now want to build a solid programmatic revenue strategy and execute for long-term health of your business.
The first question is, “what constitutes a solid programmatic strategy?” Let us assume you are happy with what you do on direct-sold deals; there are two things that stand-out: independence and control. You choose which advertisers you want to work with, at what rates, which users to show ads, and how many times to show ads in which geographies—all the while having full data transparency that enable you to make further optimizations. For companies passionate about user-experience, independence and control are great consideration metrics for your programmatic strategy as well.
The common myth you hear is “let’s just sign up with few SSPs and exchanges and call it a day”. Wrong! (Though it is a good start.) Signing up one/few SSPs/Exchanges/Ad-Networks and putting them behind a rotation logic is only dipping your toes into the world of programmatic. This post will guide you through and highlight few core components required in order for you to develop a robust programmatic yield strategy. Many of which might be things you didn’t even know you needed.
First, some quick Programmatic 101: Programmatic is a term thrown around to refer to various forms of bringing in ad revenue from advertisers, vendor/partners and it also describes the style of integration with those partners to reach your audience. And, for better or worse, it is a crowded programmatic vendor ecosystem.
- Programmatic Partner Types: DSPs, SSPs, Ad Networks
- Other Internal Names Used: Indirect Revenue Sources, Demand Partners, Backfill Vendors etc
- Integration Styles: OpenRTB API Standard, Vendor-specific APIs, JS tags, SDKs
Pro Tip: Always, always, always ask your partners to give you their API specifications so you can integrate them server-to-server. Adding JS and SDKs will bloat your apps. Engineers hate adding SDK/JS and (even more importantly) your users will hate it too when the additional code slows their experience.
Noe that, for the purposes of this discussion, we are leaving out automation part (do-it-yourself for advertisers) aspect of programmatic. This is achieved through Self-Serve UIs built by your team (think buying Google ads using ads.google.com) or a third party (think buying Google ads using Marin Software).
Following are technical modules that make for a robust programmatic yield/mediation system to manage your programmatic partners:
- OpenRTB Engine: Ability to broadcast to multiple DSPs using the OpenRTB protocol that an ad opportunity exists in your site/app.
- Server-Side Integration Engine: Many Exchanges, SSPs and Ad Networks might themselves connect with DSPs to bring ads. These partners do not use OpenRTB but instead have their own custom APIs to connect with your audience. Ability to conform to their custom specifications and making ad-calls from server side. This is the right way to integrate partners that favor Header Bidding also. The goal is evaluate all partners equally in real-time without the overhead of client side code bloat.
- Data Aggregation Engine: Some partners don’t prove eCPM data in real-time, so you need the ability to pull it from their dashboards as frequently as possible. An overall ability to pull data via APIs and screen-scraping from every partner. If you are getting ad revenue from Facebook, Google or Twitter; you need to make them play nice (compete at same time versus getting “first look”) because perhaps their tools are biased to their ads?
- Automated Inventory Allocation Engine: Using #3 Data from partners, building price models and trends to automatically adjust your priority; this is also known as the waterfall of which partner should be called at what point.
- Audience Rules & Targeting Engine: A lot of partners specialize in providing ad dollars for certain set of your audience (geography, gender, interests). It is best to target those partners for that audience and reduce noise everywhere else. Also remember that your team needs precise and granular controls like you have for direct-sold deals. Examples – what if you wanted to send 1st party data to Partner A and not to Partner B? Or say you wanted to monetize only certain segments of your users (who spend less than X minutes in a month) vs everyone? Or you want to roll out a policy to show maximum of only 2 ads to users in a specific country?
- Bidding Patterns/Price Predictions Engine: Advanced insights and recommendations based on bidding patterns/trends tied to your inventory (physical placement and at an audience level)
- Holistic Yield Optimization / Reverse Auction Engine: This is a very important module. Ranking partners at a global level does not do any help. You need to optimize partners at an audience level. Doing this will enable you to get the best out of each of them. Ability to take price information from OpenRTB (DSPs), custom APIs (SSPs/Exchanges) and price predictions (Ad Networks) overlaid with forecasting insights to determine the best partner for every user and every ad opportunity in real-time. Modules from #3 to #6 feed into this engine.
- A/B testing Framework: Ability to easily test new revenue partners against one-another using #5 Audience Rules Engine. Engineers hate adding tags, SDKs for every new partner. Neither the business teams should wait for engineering resources to test every new partner. It should be as simple as flipping ON/OFF switch.
- Creative Library: Full creative assets of ads that ran on your audience with full transparency from all partners (DSPs, SSPs and Ad Networks). All stored in one place forever. You can block them or better use it as a sales intelligence tool to form direct relationships with those advertisers.
- Cookie/User Sync Engine: ability to sync cookies/User IDs with chosen partners, so they can pay higher when they have advertisers who are looking for a specific audience that you have.
- Quality Control Engine: Natural Language Processing and Textual Analysis to block ads and advertisers that will hurt user-experience when shown to your users.
Think about it: How did you build your audience? You did not sign-up with a few middlemen and rotate your trust, hoping they will do all the work. Instead, you owned the process. You worked with engineers, product owners and business teams to build stuff to grow your audience. You may have hired a few contractors/middlemen to help you along the way. You likely used open-source software (e.g. Redis, Django, Android, React, SugarCRM etc) wherever possible. And finally you licensed software (e.g. AWS/Data Centers, New Relic, CloudFlare, SalesForce) for areas that are important to your business but are not your core strengths.
Monetization, whether direct or programmatic is the same: You need to own your future. Either build it yourself or find a tech partner you can license it from because you need to invest the same level of energy as you did in building that hard-won audience.
Satish Polisetti is cofounder of AdsNative. He previously worked at mobile advertising startups Amobee and MdotM and received a Mayfield Fund fellowship in 2010.