Native Ads

MoPub’s Native Ads product allows DSPs to programmatically buy native ad inventory that is closely integrated into an app’s unique look and feel. Given that this type of advertising is new and unique, below are our recommended best practices for creating and sending native ads.

Technical Best Practices

  • Expect some delay in impression notifications after auction wins due to pre-caching. This will also lead to some discrepancy between reported auction wins and impressions, as some won auctions may not result in an impression
  • In order to count as an impression, half of the ad must be displayed for 1 second or more
  • Test/QA all creatives on the MoPub sample app before pushing them live.
  • If you do not send a minimum height of 800 and a width of 417 in your Bid Response, your Bid will be considered invalid.
  • Note, as of Feb 2017: Native Main Image sizes larger than 800x417 now display on Android (all SDK versions) & iOS SDK 4.12 and above

RTB 2.3

Best Practices

  • OpenRTB 2.3 includes support for the new Native Ads 1.0 sub specification for OpenRTB. We have a few important notes regarding this update for MoPub’s exchange:
  • native.request is a string – Note that there will always be a leading “native” object inside the request object to note a native creative request type.
  • Bidders have two options for returning ad markup:
    • (preferred method) As a JSON object in the ext.admnative field [note this is similar to MoPub’s original method of native ad bidding]
    • as a serialized string in the adm field (as noted by OpenRTB)
  • Only respond with a native ad when the native object is present in the bid request
  • Current bidders in MoPub’s native ads can map the data fields to the following asset object ids:
    • 1 = title
    • 2 = main image
    • 3 = icon
    • 4 = text
    • 5 = ctatext
  • Asset Objects:
    • “title”: 50 characters (text may truncate with an ellipsis to 25 characters)
    • “text”: 150 characters (text may truncate with an ellipsis to 100 characters)
    • “iconimage”: 80 × 80 pixels or greater (with the same ratio) (recommended file size < 15KB)
    • “mainimage”: 800×417 (1200x627, 1200x628 and 800x418 recommended) pixels or greater (with a 1.91:1 ratio) (recommended file size < 100KB for phones, and < 150KB for tablets)
    • “link”: (native.link) destination URL for when call to action link is clicked. Redirects should be absolute, not relative (e.g. ‘http://www.mydomain.com/en’, ‘/en’). Deeplinks may be supported if ‘dlp’ is set to 1 in the bid request
    • “ctatext”: 15 character limit. We strongly recommend short, one word calls to action, as longer text may be truncated. If not specified, it will default to ‘Install’

Bid Response Requirements

  1. crtype must be present
    • Bid response crtype was moved to seatbid.bid.ext.crtype from seatbid.bid.crtype. Ensure you made this update in RTB 2.3
  2. native.imptrackers must be present
    • Bidders should use the native.imptrackers array as opposed to seatbid.bid.ext.imptrackers[] to submit impression trackers
    • seatbid.bid.ext.imptrackers[] will be ignored
    • Array of impression trackers (1st & 3rd party) to be consistently tracked when MoPub records the billable impression event. See technical best practices above.
  3. The following assets are required when present in the bid request

    Asset Asset ID
    Title 1
    Main Image 2
    Icon Image 3
    Text 4
    1. Asset ID (assets.id) is an integer not a string
    2. Width and height are present in the image object for Main and Icon Image Assets
      • Main Image requires a minimum width and height of 800×417 and a recommended width and height of 1200x627, 1200x628 and 800x418 (with a 1.91:1 ratio)
      • Main image sizes larger than 800×417 work for all Android SDK versions. For iOS, you must target MoPub SDK 4.12 and above
      • Icon requires a minimum width and height 80×80

Targeting Best Practices:

  • Ensure the creative refers to the correct OS if the OS is mentioned in any text fields (e.g. don’t write “iOS” when the ad will serve on Android).
  • Clickthrough to the correct app store, app (in the case of deep linking) or landing page for the targeted device and operating system.

Text Best Practices:

  • Capitalize the first letter of each word in the “title” field with no punctuation at the end.
  • Use correct capitalization, grammar and punctuation in the “text” field.
  • Proofread text for content, grammar, and punctuation

Call to Action Best Practices:

  • “ctatext” field is optional and if left blank, the text will read ‘Install’.
  • Use one word call to action.
  • Capitalize the first letter.
  • Don’t put a period at the end of the call to action.

Image Best Practices

  • Always respond with both “iconimage” and “mainimage” fields, though ultimately the publisher may not always display both
  • Ensure images are the correct sizes as specified above and in the native spec.
  • Double-check that icon and main image are high-quality images that correspond to the advertised product.
  • Host on stable CDNs, and ensure that you are not returning broken links

Variation in Native Ads

Native ads will appear within the content flow of the target app. The publisher has the ability to customize native ads to blend in with the look and feel of their app. For example, they can change the layout of the text and may choose only to display the icon and omit the main image. Despite this, all required elements should always be sent in the bid response.

The mock-ups below show how an app may customize the standard native mark-up fields you send. Native mark-up elements are labeled in each.

demand-native-1.png

demand-native-2.png

Privacy Icon Best Practices

SDKs 5.1 and Below

For SDKs 5.1 and below, the DSP is required to include the MoPub privacy icon in each native creative. If a user clicks on the privacy icon in an app with an SDK 5.1 and below, the user will be taken to the MoPub Opt-Out mobile web page. Example below:

privacy_icon_5.1.png

If a user clicks on the privacy icon in an app with an SDK 5.1 and below, the user will be taken to the MoPub Opt-Out mobile web page. Here the user will find out:

  • Who served this ad in my app, who is MoPub
  • Why they are seeing this mobile ad in their (MoPub supported) app
  • What choices the user has if they want to opt-out of interest based ad targeting

Note: No changes will be made on the behalf of the user if the user clicks on the privacy icon.

SDKs 5.2 and Above

For SDKs 5.2 and above, DSP’s have the option to submit their own custom privacy icons and URL’s for their native creatives.

Custom URL Best Practices

The custom URL sent by the DSP can be for the advertiser that is referenced in the creative or campaign OR for the DSP itself. An advertiser or DSP would send this landing page in hopes of collecting information like the below:

  • User does not want to see this type of product
  • User does not want to see this type of creative
  • User does not want to be targeted by this company

Custom Icon Image Best Practices

DSP’s can send a custom privacy icon image to replace the default MoPub privacy iformation icon image. MoPub supports the following image formats: .gif, .jpg, .jpeg, .png. The recommended icon image size is 120x120 pixels and the minimum image size is 40x40 pixels.

Bid Request/Bid Response FAQ

Which SDK’s support custom privacy icons and URLS?

Custom privacy icons and URL’s are supported in SDK 5.2.0+.

How will the DSP know if they can send their custom privacy URL?

MoPub’s bid request will included a hardcoded value in the bid_request.imp.native.request.native.privacy field.

  • If SDK >= 5.2, the integer 1 is passed
  • If SDK <= 5.2, the field is absent in the request

Does the DSP have to send custom privacy icons and URL’s?

No. MoPub’s privacy information icon and URL (https://www.mopub.com/optout/) will be present by default for native ads. If a DSP chooses to send their own icon/URL, they may do so in the bid response (provided the hardcoded integer passed through in the bid request is 1).

How can the DSP send its own custom privacy URL?

There are two options available.

Option 1: Supports Custom Privacy URL Only

According to the standard Native OpenRTB 1.2 spec, the privacy url can be sent in the bid_response.seatbid.bid.ext.{admnative,adm}.native.privacy field. Note, this field can only have the privacy url (the click url).

Example: "privacy": "http://myprivacyurl.com"

Option 2: Supports Custom Privacy Icon and URL

The privacy URL and privacy icon can be sent at the bid_response.seatbid.bid.privacy level.

Example: "privacy": { "image_url": "http://static.image.com/icon.jpg", "click_url": "http://myprivacyurl.com" }

Last updated October 17, 2018

TWITTER, MOPUB, and the Bird logo are trademarks of Twitter, Inc. or its affiliates. All third party logos and trademarks included are the property of their respective owners.

© 2018 MoPub Inc.