Smart Yield Beta


What is Smart Yield?

Smart Yield is a feature of the Millennial Media Ad SDK that gives you the opportunity to hold a unified auction across AOL’s internal mobile demand prior to calling into MoPub. Essentially a server-side header bidding container for in-app inventory, Smart Yield enables your programmatic demand sources to compete head-to-head with your line items and the MoPub Exchange.

How does Smart Yield work?

At a high level, the Smart Yield flow is fairly straightforward:

  1. After integrating Millennial Media Ad SDK directly in your app, the SDK will call the AOL Smart Yield server at ad request time.

  2. Smart Yield simultaneously calls every integrated demand partner, including AOL’s unique demand.

  3. Smart Yield conducts a unified auction and passes that the winning bid back to the MM SDK.

  4. The MM SDK calls into the MoPub SDK, which passes the bid to the MoPub ad server as a keyword parameter. Within the MoPub ad server, line items are setup to target various bid prices, allowing the Smart Yield demand to compete with the publisher’s other demand or the MoPub exchange on a per-impression basis.

  5. If the MoPub ad server decides that the Smart Yield bid is the best price for that impression, MoPub will call back into the MM SDK, telling it that the bid won. The MM SDK will then display the winning ad. If MoPub decides that another line item has the highest value, then MoPub will handle the request as it does today.

Integration and Setup

Add the SDK to your project

Download version 6.5.0 of our SDK and follow the integration instructions to install the SDK (Android / iOS).

Android iOS

Add the MoPub Mediation Adapter to your project

Download version 1.0.0 of the Millennial to MoPub mediation adapter and follow the MoPub Mediation Adapter integration instructions to add the adapter to your project (Android / iOS).

Android iOS

Configuring your Smart Yield placements in the One by AOL: Mobile SSP

Because Smart Yield is still in beta, Smart Yield placement settings are only available to internal users. Please work with your AOL contact to configure your placement(s) for Smart Yield.

Configuration in MoPub

With Smart Yield, you’ll need to setup line items in the MoPub ad server that correspond with the value of the incoming Smart Yield demand. This is done via keyword targeting.

  • Smart Yield conducts an auction, and passes the winning bid to MoPub using a keyword parameter. You want to target this bid price with a line item that earns you the same amount if it serves.
  • If you had 1 line item for every bid at penny increments (i.e. $0.01, $0.02, $0.03, etc.), you’d need 1,000 line items just to account for bids from $1 to $10. That level of granularity would give the most accurate representation of the bids, but is unwieldy.
  • Instead, publishers typically use price buckets in varying granularity for the price ranges that matter. For example, interstitial ad placements may earn you $4.50 eCPM on average. You could group bids in 10 cent increments from $3-$4 so that bids of $3.04 or $3.06 would be rounded down into a single price bucket of $3.00. Then you could use 5 cent increments for the more important $4-$5 range for increased accuracy. In that case, a $4.04 bid would be rounded down to the $4.00 price bucket, and a $4.06 bid would be rounded down to the $4.05 price bucket.

For each price bucket, create an order with a new line item in the MoPub ad server and follow the instructions below:

Set the line item to Network and give it Priority 12. The Class and Data that you will enter will depend on the OS and placement type. Please reference the table below and replace the JSON data placeholders with the correct values for your placement.

Type Class Data
iOS Banner MoPubSmartYieldBanner {“adUnitID”:”", "dcn":"", "adWidth":, "adHeight":}
iOS Interstitial MoPubSmartYieldInterstitial {“adUnitID”:”", "dcn":""}
Android Banner com.millennialmedia.clientmediation.MoPubSmartYieldBanner {“adUnitID”:”", "dcn":"", "adWidth":, "adHeight":}
Android Interstitial com.millennialmedia.clientmediation.MoPubSmartYieldInterstitial {“adUnitID”:”", "dcn":""}


Next, set your line-item to start immediately. The eCPM should be set at the floor for the price bucket. In this example, it is set to $1.00. This line item will compete with your other demand on MoPub (as well as the MoPub exchange) at $1.00 eCPM.


Next, target the MoPub ad unit that corresponds your SY placement. Note that because of the line-item’s placement and OS-specific Class and Data, each SY placement must have its own MoPub ad unit and set of line-items.


Finally, set your keyword targeting to include all prices within the line-item’s price bucket. The Smart Yield keyword parameter for bid price is “sy_bp:”. In this example, the $1.00 line item includes bids from $1.00 to $1.49.