MoPub Viewability


As in-app advertising continues to grow, viewability measurement has become a requirement for marketers who want measurement of, and transparency into, the viewability of their campaigns. Mobile app publishers who don’t offer verified viewability measurement may miss out on ad budgets for which this measurement is a prerequisite — especially from brands.

This is why we partnered with both IAS and Moat to implement their respective measurement SDKs into the MoPub SDK through Github, CocoaPods, and JCenter. MoPub SDK v4.16 integrates technology from our partners Moat, Inc. (“Moat”) and Integral Ad Science, Inc. (“IAS”) in order to support viewability and other measurement reporting that these partners provide to advertisers and publishers. To support this as a publisher, all you need to do is upgrade to version 4.16 of the MoPub SDK (see iOS and Android Getting Started Guides). You have the option to remove or disable this technology by following the opt-out instructions below.

If you do not remove or disable IAS's and/or Moat’s technology in accordance with these instructions, you agree that IAS's privacy policy and license and Moat’s privacy policyterms, and license, respectively, apply to your integration of these partners' technologies into your application.

Mobile app publishers who act now have a chance to position themselves as leaders and show advertisers the potential value of their inventory by implementing viewability measurement.

Technical Implementation

Step 1: To take advantage of viewability measurement, all you need to do is upgrade to the latest version of the MoPub SDK. Viewability is supported through the MoPub SDK on github, CocoaPods, and JCenter. See instructions for iOS and Android. 

Step 2:  Validate that you have integrated properly by reviewing your device log output. Follow the iOS and Android instructions below. Avid is the IAS library. 


1. Validate that the Moat and IAS SDKs are present. This will occur when the initial ad is loaded in an app session and only occurs once per app session.

2. Validate that the viewability session began. Tracking will start when a banner ad loads or when an interstitial ad is shown to the user.

3. Validate that the viewability session ended when the ad is deallocated.


1. Validate that the Moat and IAS SDKs are present. This will occur when the initial ad is loaded in an app session and only occurs once per app session.

2. Banners and Interstitial Load: validate that the viewability session was initialized and started when an ad is loaded (on ‘load’ event)

3. Interstitial Show (skip for banners): Validate that the viewability session was recorded when an interstitial is shown to the user (on ‘show’ event)

4. Validate that the viewability session ended . This will be present when the ad is deallocated

Supported Ad Formats

All display and VAST video ads are supported. MoPub will support native ads at a later date.

Opt Out

You can validate that you have properly opted out if the IAS and/or Moat logs are not present in the device log output.


Cocoapods Integration

Including `pod ‘mopub-ios-sdk’` in your Podfile will include both IAS and Moat SDKs, as well as the MoPub SDK
`pod ‘mopub-ios-sdk/Avid’` will include the IAS SDK, but not the Moat SDK, as well as the MoPub SDK.
`pod ‘mopub-ios-sdk/Moat’` will include the Moat SDK, but not the IAS SDK, as well as the MoPub SDK.
`pod ‘mopub-ios-sdk/Core’` will only include the MoPub SDK, with viewability measurement totally disabled.

Make sure to run `pod update` once your Podfile is set up to your preferences.

Github Integration

Before dragging the MoPubSDK folder from Finder into your Xcode project, navigate to MoPubSDK/Viewability/ in Finder, and remove the “Moat” folder to opt-out of Moat or the “Avid” folder to opt-out of IAS. If you would like to opt-out of both vendors, remove both folders.

Note: even if the Moat and/or Avid folders do not exist in the Xcode Project Navigator, if they do exist in your computer's filesystem, build errors can occur. To avoid build errors, be sure that the folders and the contained files have been removed from the MoPub SDK's "Viewability" folder in your computer's filesystem, and that there are no references to these files or folders in your Xcode projec


JCenter Integration

Normally, to add the MoPub SDK to your app via JCenter, your `build.gradle` would contain:

dependencies {
    compile('com.mopub:mopub-sdk:4.X.X@aar') {
        transitive = true

Update to the following to exclude one or both viewability vendors:

 dependencies {
    compile('com.mopub:mopub-sdk:4.X.X@aar') {
        transitive = true
        exclude module: 'libAvid-mopub' // To exclude AVID
        exclude module: 'moat-mobile-app-kit' // To exclude Moat

Github Integration

Navigate to the file in your home directory (e.g. ~/.gradle/ and include one or both of these lines to opt out of viewability measurement for AVID and/or Moat.

To exclude IAS:


To exclude Moat:



Direct Campaigns
Publishers can also receive reporting on direct campaigns of their through IAS or Moat if they have direct relationships with either partner. In order to collect viewability measurement, add the IAS or Moat tags that you received from your partner to the HTML creative in the MoPub UI.

Reporting can be broken out by app, ad unit, line item, creative ID and other dimensions by inserting MoPub macros into the IAS or Moat tags. For more information on supported fields, review the list of macros in our Help Center Article.

You will need to provide a mapping of IDs to names to IAS and Moat in order to view human readable names in their UI. You can access the IDs and their associated names through the Publisher Reporting API Campaign Report.

Best Practices

Custom implementations may not be fully supported by the MoPub SDK and therefore viewability measurement. Therefore, implementations such as custom ad wrappers and custom caching for banners could lead to lower in-view rates. We are working closely with our publisher customers to understand these types of implementations to further develop our SDK and standardize these technical approaches. Please keep your account team informed about non-standard implementations that you have integrated.

The entire ad container pixels should be on the screen (i.e. no pixels should be cropped by content or off the edge of the device screen).

Overlays are often used throughout applications to communicate messages to users. Place the overlay in an area that will not cover any ad placements to prevent overlays from impacting viewability measurement. If that is not possible, ensure banner refresh rates are paused while the overlay is on screen.

Favor adhesive/ singleton banner placements over implementing multiple ad units that must load each time the user navigates throughout the application. Without integrating the singleton approach, the ad refreshes which may cause latency when a user navigates to a new section of the app. This reduces the chance that the user will have the opportunity to see an ad, especially if a user navigates quickly throughout the application.


Q: What is the required work for publishers to integrate?
A: Moat and IAS SDKs will be included in the MoPub SDK. There is no additional work required other than integrating the MoPub SDK, beginning on v4.16, and ensuring that publishers are seeing the correct logs. Publishers will need to use the Gradle build on Android.

Q: Do publishers need to have a direct relationship with Moat or IAS to integrate the SDK?
A: No.

Q: What distribution methods are supported?
A: Github, jcenter, and CocoaPods. The SDK with viewability support is not supported yet via Unity.

Q: Can I get reporting for my direct campaigns?
A: Yes. Publishers can receive reporting on direct campaigns if they have direct relationships with Moat or IAS. In order to collect viewability measurement on your inventory, add the IAS or Moat tags that you receive from them to the HTML creative in the MoPub UI. You will need to have a direct relationship with IAS and/or Moat in order to receive these ad tags and corresponding data from them.

Q: Which demand sources will be able to collect viewability measurement once I integrate the viewability-enabled SDK?
A: For marketplace, direct served ads, server-side demand, 3rd party JS networks, and other line items that support an HTML tag, the MoPub SDK will have the ability to measure campaigns if an IAS or Moat tag is delivered. If publishers have a direct relationship with Moat or IAS, measurement can be collected on all line item types that support HTML tags. These are guaranteed, promotional, non-guaranteed, custom network, and backfill line items

Q: What dimensions and viewability metrics will buyers be able to see?
A: Buyers (DSPs, agencies, marketers) will be able to receive standard reporting and data that both Moat and IAS provide to buyers today. This includes metrics such as % in view, time in view, and measurability. The dimensions that buyers will report on are dependent on the macros they use either from the MoPub ad server or their own ad server. Typically they will report information on the campaign and where it has served.


Updated: September 2017