Skip to content

Creative Types

The following details on creative types apply to DSP bidders in the AppLovin Exchange.

The specifications are ad format agnostic: They apply to all ad types that AppLovin supports.

VAST Support

Inventory that supports VAST passes the imp.video object in the bid request. VAST inventory complies with MRAID.

The VAST creative must be completely secure, including all tracking and redirect URLs.

VAST is supported in fullscreen placements only (interstitial and rewarded video). AppLovin aspect-fits the video in the middle of the screen, which depends on the device size. Both landscape-oriented and portrait-oriented video are supported.

VAST videos auto-play on Android and iOS. AppLovin supports only Linear videos. Videos should be at least 5 seconds long and at most 30 seconds long. (Rewarded videos should be between 20 and 30 seconds long, otherwise they may be rejected.) Video file sizes should be below 4MB (for optimal playback, AppLovin recommends video files to be smaller than 2MB). Video files larger than 2MB can perform poorly. If the request to retrieve the video file exceeds 30 seconds, it is considered a timeout.

The flv and swf media MIME types are not supported. The following MIME types are supported:

  • Android: video/mp4, video/3gpp
  • iOS: video/mp4, video/3gpp, video/3gpp2, video/quicktime, video/x-m4v

AppLovin supports VAST 2.0, 3.0, 4.0, 4.1, and 4.2. VAST-capable inventory supports both VAST InLine and Wrapper formats. VPAID is not supported. The bid.adm (or ad markup field) must contain the entire VAST XML payload. AppLovin does not support URL-encoded VAST tags.

VAST-capable inventory supports companion (endcard) creative. MRAID companion (endcard) creative is supported. When multiple companion resources are sent, AppLovin uses the following order (if the first one fails, it tries the next one, and so on):

  1. StaticResource
  2. IFrameResource
  3. HTMLResource (by default, support is disabled for HTMLResource as a companion ad)
Impression Tracking
AppLovin fires tags on the server side that you send through the <impression> node. You can send more than one such node.
Click Tracking
AppLovin fires the tag on the client side that you send through the <ClickTracking> node. If you use a deep link, you must include it in the <ClickThrough> node. If you use a deep-link in an iOS ad, the ext.skadn object must be null. Otherwise the App Store will be opened within the ad and the <ClickThrough> node will be dismissed.
Companion Ads
AppLovin RTB expects a full-screen companion ad in the response for VAST ads. The request specifies the phone screen dimensions. The AppLovin SDK aspect-fits the ad in the middle of the screen. Since these are video end cards, use something in the ~1.33 aspect ratio range (for example, 1024×768 for landscape) and high quality images for best results with companion ads. AppLovin supports only <HTMLResource> and <StaticResource>. Support for <HTMLResource> as a companion ad is off by default.
Example VAST Ad Markup
{
"adm": "<VAST version=\"2.0\">
<Ad id=\"applovin-video\">
<InLine>
<AdSystem version=\"AppLovin\">AppLovin Ad Server</AdSystem>
<AdTitle><![CDATA[AppLovin Video]]></AdTitle>
<Description><![CDATA[AppLovin Video]]></Description>
<Impression id=\"AL_Imp\" />
<Creatives>
<Creative sequence=\"1\" id=\"1\">
<Linear>
<Duration>00:00:13</Duration>
<VideoClicks>
<ClickThrough id=\"AL_Click\"><![CDATA[https://rtb.applovin.com/redirect?clcode=3!1563.1466706706!FgcnDB8CXKyVimq2aZHmpR2JxNmwsN1NMK7UlK6FqhOI54WxpITXiYcxUEVgXRIwedrcfVmD_DpD3lfBLqzpw5qF7sPXmXQ_kY1NLKQ2kdQn4cwctkm--RBq1Cmz5mX8RJRytc-G3KeJ9usTmgmXTSFtLvHGSGHIM7Pwfq_KiEAQiKweR20lp_iyQXVNwiUJmpFFoQpAm9bNU5JegcmPfIIBnesZKk5pmdJDpUEnjlFdNAqRCzci_qO-f6RtTdYEvJBqnh9usSgEdxnfLh-hHpNx5CovcfTejFfF94CTaTV_K6wEHXQOjZdT-yfdeydAQEkl3bUxiT8cXrEuCu73WHFVOoYwoLJLLAipuLCNCkj9DSvZ6JTnoQkPRlpBjSJQmmYXNv2HDKXYKSgIA-g-wRaTuRZ0lMi4OHNBK_N4ClACeg2TOFYTp3cHWnh6gEr-ZfWQ4FUzgGCLQRXm0Ez7wjCRM0vfoVsdVEZrctobQI7_im9tT4UmTjNgxP7dKlLHRwhl68fBqGUMobFSsohmuucakp5BXlSPyQIh91MoTOOsbR2UTMZXjFholy7qDgDxNxKzaQk0AFX6Vf0w**&did=104934ef84eee135bb&eventid=7d2a138bf9102f05dcbf9540b5f5dd2a317cc&ssl=1]]></ClickThrough>
</VideoClicks>
<MediaFiles>
<MediaFile delivery=\"progressive\" bitrate=\"932\" width=\"570\" height=\"320\" type=\"video/mp4\"><![CDATA[https://vid.applovin.com/468779_570x320.mp4]]></MediaFile>
</MediaFiles>
</Linear>
</Creative>
<Creative sequence=\"1\" id=\"1\">
<CompanionAds>
<Companion width=\"1024\" height=\"768\">
<StaticResource creativeType=\"image/gif\"><![CDATA[https://img.applovin.com/1461768_1024x768.gif]]></StaticResource>
<CompanionClickThrough><![CDATA[https://rtb.applovin.com/redirect?clcode=3!1563.1466706806!FgcnDB8CXKHpfIyVimq2aZHmpR2JxNmwsN1NMK7UlK6FqhOI54WxpITXiYcxUEVgXRIwedrcfVmD_DpD3lfBLqzpw5qF7sPXmXQ_kY1NLKQ2kdQn4cwctkm--RBq1Cmz5mX8RJRytc-G3KeJ9usTmgmXTSFtLvHGSGHIM7Pwfq_KiEAQiKweR20lp_iyQXVNwiUJmpFFoQpAm9bNU5JegcmPfIIBnesZKk5pmdJDpUEnjlFdNAqRCzci_qO-f6RtTdYEvJBqnh9usSgEdxnfLh-hHpNx5CovcfTejFfF94CTaTV_K6wEHXQOjZdT-yfdeydAQEkl3bUxiT8cXrEuCu73WHFVOoYwoLJLLAipuLCNCkj9DSvZ6JTnoQkPRlpBjSJQmmYXNv2HDKXYKSgIA-g-wRaTuRZ0lMi4OHNBK_N4ClACeg2TOFYTp3cHWnh6gEr-ZfWQ4FUzgGCLQRXm0Ez7wjCRM0vfoVsdVEZrctobQI7_im9tT4UmTjNgxP7dKlLHRwhl68fBqGUMobFSsohmuucakp5BXlSPyQIh91MoTOOsbR2UTMZXjFholy7qDgDxNxyGKzaQk0AFX6Vf0w**&did=104924ef84eee135bb&eventid=7d82abf9102f05dcbf9540b5f5dd2a317cc&ssl=1]]></CompanionClickThrough>
</Companion>
</CompanionAds>
</Creative>
</Creatives>
<Extensions>
</Extensions>
</InLine>
</Ad>
</VAST>"
}

MRAID Support

MRAID ads must include a loading indicator to signal that the ad is loading. There is no limit on ad duration for regular MRAID ads. Rewarded MRAID ads have a maximum of 30 seconds. AppLovin supports mraid.open only for click trackers.

Rewarded MRAID placements (playable ads) are off by default. If you are interested in these, contact your AppLovin point of contact.

Close Button

Remove any close button from your MRAID ad. AppLovin supplies the close button on all MRAID ads.

HTML Support

AppLovin RTB centers all HTML ads. The resulting ad position depends on the ad size and the screen size. AppLovin supplies the close button.

Use HTML snippets, not full HTML documents. Escape HTML ad markup.

PNG, JPG/JPEG, and GIF are the supported media formats. MRAID 1.0, 2.0, and 3.0 are supported

Native Support

AppLovin native ads use OpenRTB Dynamic Native Ads API Specification Version 1.2.

The impression object contains the native object. The native object contains the request field with the JSON string representation of the native request.

Native Request Information

FieldDescription
contextThe context in which the ad appears. Currently not used and always set to 1501.
plcmtcntThe placement count (AppLovin requests only one placement per request).
plcmttypeThe design/format/layout of the ad unit being offered. 1 means in the feed of the content; 2 means in the atomic unit of the content.
verThe version of the Native Ad Specification to which the request complies; set to 1.2.

Native Request Assets

IDFieldTypeDescription
1 (required)titleN/ATitle of the native ad. Maximum length is 50 characters. Always passes Bidrequest.imp.native.request.assets.len, the maximum length of the text in the title element.
2 (required)img3Main image of the native creative. Minimum size is 627×627. Recommended size is 1200×627.
3 (optional)img1Icon image of the native creative. Minimum size is 50×50.
4 (optional)data2Descriptive text associated with the text product or service being advertised. Maximum length is 150 characters. Bidrequest.imp.native.request.assets.data contains .type and .len objects. The type contains the Type ID of the element supported by the publisher. The len is the maximum length of the text in the element’s response.
5 (required)data12CTA description—descriptive text describing a “call to action” button for the destination URL. Maximum length is 15 characters. Bidrequest.imp.native.request.assets.data contains .type and .len objects. The type contains the Type ID of the element supported by the publisher. The len is the maximum length of the text in the element’s response.
6 (optional)data3Rating of the product being offered to the user. For example, an app’s rating in an app store on a 0–5 scale.
8 (optional)data1“Sponsored By” message which should contain the brand name of the sponsor. Maximum length is 25 characters.

Native Response Information

Native response must have native.link.url with the destination link URL.

The AppLovin SDK does not support native video.

CTV Support

AppLovin RTB supports Connected TV (CTV) inventory. The following will help with a successful integration:

  • CTV requests support only video, so there is no banner object under the imp object.
  • VAST is the only supported format for Connected TV inventory. AppLovin does not support MRAID or VPAID.
  • Only the mp4 video MIME type is supported.
  • seatbid.bid.ext.duration is mandatory.

For VAST InLine:

Ad Caching

The AppLovin SDK caches certain ads to improve ad display responsiveness. Cached ads are shown only in the same session. The SDK caches ads for up to four hours, but normally the period between cache and show is only a few minutes.

Video
AppLovin caches only inline video ads. For optimal responsiveness, the maximum video file size allowed is 4MB. Try to keep video file sizes below 2MB.
MRAID
While AppLovin does not have a size limit, make your creative assets in your MRAID markup small. This ensures your ads are responsive when the publisher attempts to render them. All MRAID ads must include a loading indicator to signal when the ad is loading.