AppLovin ALX DSP response

AppLovin runs an in-app exchange that its MAX demand partner documentation calls AppLovin RTB, also abbreviated ALX. AppLovin's public pages document the bid response contract, so this profile checks responses only.

Direction and version

AppLovin sends bid requests to DSPs. The profile checks the bid response a DSP sends back to AppLovin.

OpenRTB 2.5 with Native 1.2 event trackers. Native markup may go in bid.adm_native or as an escaped JSON string in adm, and SKOverlay flags are integers.

The RTBlint profile applovin-alx checks responses against the published contract.

Rules beyond the OpenRTB spec

  • Each bid needs id, impid, price, adomain, burl, cat, crid, and adm (or adm_native for native). Only the first adomain entry is used.
  • The whole bid response may be at most 4 KB.
  • cur must be USD, and an omitted currency means USD.
  • bid.ext.crtype must name a supported format: HTML, MRAID 1.0 to 3.0, native, or VAST 2.0 to 4.2.
  • VPAID 1.0, VPAID 2.0, and ORMMA are not supported, and Native creatives may not include video assets.
  • bid.bundle must be the advertised app. A bid that reuses the publisher's app.bundle is rejected.
  • HTML bids that carry SKAdNetwork data need bid.ext.clicktrackers, and CTV video bids need bid.ext.duration.
  • SKAdNetwork responses use version 2.0 or later, a non-empty fidelities list, UUID nonces, and Unix millisecond timestamps as strings. itunesitem must match bid.bundle.
  • ${AUCTION_LOSS} is substituted only in lurl.
  • A supplied seatbid.seat must be alphanumeric and at most 40 characters.

Documented extensions

PathMeaning
bid.ext.crtypeCreative format of the markup.
bid.ext.clicktrackersClick tracking URLs.
bid.ext.imptrackersServer-side impression trackers, not used for native.
bid.ext.durationVideo length in seconds, used for CTV.
bid.ext.vendorViewability vendor, ias or moat.
bid.ext.skadnSKAdNetwork response with campaign, fidelities, itunesitem, network, sourceapp, timestamp, and version.
bid.ext.skadn.skoverlaySKOverlay settings; a delay of -1 turns the delay off.

What the validator checks for this profile

Validate against this contract

Open the tester with the AppLovin ALX DSP response profile, or run:

rtblint validate --profile applovin-alx request.json

Similar integrations