App Bidding Integration Requirements

Regardless of server-to-server or client-to-server mobile app bidding, you must follow the criteria below in order to implement a correct and optimal integration.

  1. Must send requests for 100% of ad impressions that are winnable (for example, not direct-sold).
  2. Must send only 1 request for each impression opportunity.
  3. Must not combine bidding and standard (aka tag) requests for the same ad unit.
  4. Must send win, loss, billable and timeout notifications with the appropriate loss codes.
  5. Must obtain buyeruid from client using Audience Network SDK.
  6. Must use Audience Network SDK to retrieve and render ads.
  7. Must request the ad only if the bid wins the auction.
  8. Must add a HTTP header to every request, called x-fb-pool-routing-token that contains bidder token as its value.
  9. Must set up multiple price floors on other demand sources that are in a traditional waterfall when combining that with bidding. Two price floors is generally a good start. This is to give more fine grained control of how the auction competes with the waterfall which will increase overall yield.

For more information on how to combine bidding and existing waterfalls see Integrating Bidding-Based Auction With Existing Waterfall

App Bidding Best Practices

In addition to the optimal integration criteria, there are some highly recommended best practices that you should follow unless there are valid reasons to do otherwise.

  1. It's recommended to set a bid request timeout value of at least 800ms.
  2. It's recommended to cache BidderToken on server for the duration of the user's session when doing server-to-server calls.
  3. It's recommended to send unique id for each request.
  4. It's recommended to read and log x-fb-an-errors HTTP header on bid responses with status code other than 200 to be used in troubleshooting.
  5. It's recommended to read and log x-fb-an-request-id HTTP header on all bid responses to be used in troubleshooting.
  6. It's recommended to use existing placement ids for bidding and not create new ones unless you are doing A/B testing or using a partner platform that requires creating new placements.
  7. It's recommended to prefer server-to-server integration where possible to shift processing and network utilization from the user's device and network to the publisher's servers and network and to allow bidding and auction modifications with no app changes.
  8. It's recommended to not use price floors on bidding. If you send us price floor in the bid request we ignore it.

More Resources

Getting Started Guide

Technical guide to get started with Audience Network

Audience Network Mobile App Bidding Overview

Facebook Audience Network Mobile App Bidding architecture and other Concepts

Mobile App Server-to-Server Bidding Integration

Step-by-Step tutorial for mobile app server-to-server bidding integration

Audience Network Mobile SDK Downloads

Latest versions of Audience Network SDK downloads page