AdStack medallion

ADSTACK

APPLOVIN, TAKEN APART — AND THE ROBLOX REBUILD PLAN
← LEDGERLANDS
01 · The machine

What AppLovin actually is

Everything here is sourced from AppLovin's own support documentation (support.applovin.com, read Aug 2026). Strip the branding and the platform is one loop with three doors.

Growth · AppsGoal-based user acquisition for mobile apps — six campaign goal types, three of them ROAS flavors, run by the Axon engine.
Growth · WebE-commerce & lead-gen ads that run inside mobile games: video → interactive page → dynamic product catalog. Median 35s watch time.
Monetize · MAXMediation: a unified real-time auction across 22 bidding networks + 6 waterfall networks, six ad formats, ten platform SDKs.

The flywheel the docs quietly encode: Ad ROAS and Blended ROAS advertising campaigns require the app to be on MAX mediation — because MAX's impression-level revenue data is the exact signal those optimization models feed on. Supply-side telemetry powers demand-side bidding. That coupling is the whole company, and it's the thing any rebuilder has to copy first.

02 · Growth — promoting apps

The user-acquisition engine

Campaigns are goal-based; the optimization model is fixed at creation and cannot be changed later. Two billing modes: target-goal bidding with CPI billing (cost per result held near target, charged per install) and auto-bidding with CPM billing (spends full budget at lowest cost per result, charged per impression).

GoalOptimizesDocumented constraintDocs recommend for
CPICost per installGoal below $200
CPECost per custom event (e.g. level_10)Below $500
CPPCost per purchaserBelow $500Uniform-value purchasers (subscriptions)
AD ROASReturn on spend from in-app ad revenueTarget > 10% · needs MAXAd-monetized apps
IAP ROASReturn on spend from purchasesTarget > 1%IAP-only apps
BLENDED ROASTotal (IAP + ads) returnTarget > 5% · needs MAXMixed-revenue apps

Everything else you can do

03 · Growth — promoting websites

E-commerce demand, game-inventory supply

The newer product: DTC brands and lead-gen sites buy the same game inventory. The ad is a fixed three-act sequence — full-screen video, interactive page, dynamic catalog — in interstitial (skippable after 5s) or rewarded (≤60s) placements.

04 · Monetize — MAX

The supply side

22 + 6bidding + waterfall networks
6ad formats
10platform SDKs
NET 15payouts · $100 min
05 · ROAS

What the docs say — and refuse to say

The support site documents ROAS mechanics, never outcomes. These are the only ROAS numbers that exist anywhere in the source:

>10%min Ad ROAS target
>5%min Blended target
>1%min IAP target
30% @ D28the API's own example
D7 / D28app optimization windows
15–20conversions/day for stability

You choose the target ("1 = 100%", percentage return on the targeted day), and the docs' entire goal-setting doctrine is one sentence: set goals in line with your profitability targets, because unrealistic goals "may prevent the campaign from spending or scaling effectively." Over-aiming doesn't buy better ROAS — it buys silence. Reporting then tracks realized ROAS at 0d/1d/2d/3d/7d/14d/28d/30d/90d/1y, so cohorts accrete long past the optimization day.

What the source never provides: benchmarks, vertical averages, learning-phase durations, ramp timelines — the phrase "learning phase" does not appear on the site at all. Any "AppLovin gets you X%" claim is unsupportable from this source.

So what might ROAS be? Realized ROAS ≈ your target, if the target clears your creative/product/geo reality — the platform steers cost-per-result to the goal, and delivery volume is the truth serum. The floors sketch the envelope (1% D-day IAP recovery for long-payback titles up through 10%+ ad-revenue paybacks), the 30% D28 example is the closest thing to a "typical" figure, and the real drivers are the documented preconditions: clean revenue postbacks, 15–20 conversions/day of budget, broad geo grouping, relentless 9:16 video + playable refresh.

06 · The rebuild

Action items: Roblox builds its own AppLovin

Roblox already owns what AppLovin had to assemble: first-party immersive inventory, a closed-loop currency (Robux) that makes every purchase a clean conversion signal, engagement telemetry, and an existing ads beachhead. What's missing is the machine around it. Six phases, each mapped to the AppLovin capability it replicates.

Phase 1 — Signal layer first

AppLovin's entire optimization engine sits on conversion signal it doesn't own. Roblox owns the signal natively — it just has to productize it.
  • Ship a Conversions API + postback system that streams Robux spend, experience joins, session depth, and custom developer events (level completes, quest finishes) per attributed user, with strict revenue hygiene rules: actual billed spend only — no predicted LTV, no bundled subsidies. MMP postbacks + the in-app-purchase revenue-sharing rules
  • Define attribution policy up front: ≥7-day click window, 24h view-through, lifetime event windows, deterministic in-platform (same logged-in user on both sides — an edge AppLovin never had). Adjust/AppsFlyer required-settings pages
  • Build an off-platform pixel + server API so web/DTC advertisers can pass view_item → add_to_cart → purchase funnels with hashed identity and click-ID persistence rules, for ads inside Roblox pointing out. AppLovin Pixel + Conversion API (100-event batches, dedupe IDs)
  • Open measurement to third parties — MMP-grade partner integrations and pre-wired e-commerce measurers, because advertisers won't take a walled garden's word for it. Six MMPs + twelve web measurement partners

Phase 2 — Goal-based buying engine

AppLovin sells outcomes, not impressions. Six goal types, two billing modes, and hard rails — that's the product.
  • Launch the goal ladder in order: CPV/CPI (cost per experience join) → CPE (cost per named event) → CPP (cost per paying user) → Robux ROAS (return on spend measured in attributed Robux revenue, D7 or D28 optimization day, advertiser-set percentage target). CPI/CPE/CPP → AD_ROAS / CHK_ROAS / BLD_ROAS progression
  • Copy the rails, not just the goals: minimum accepted ROAS targets so campaigns can't demand the impossible, goal caps by country tier, goal type immutable after creation, and delivery throttling as the honest "your target is unrealistic" signal. 1%/5%/10% floors; $0.50–$10 CPI tier caps; no-spend-if-unrealistic doctrine
  • Two billing modes only: target-goal bidding (charged per result) and auto-bid with CPM billing (spend the budget, minimize cost per result). No manual CPM micromanagement. CPI-billing vs. auto-bidding-CPM — the only two modes AppLovin offers
  • Enforce the stability floor in the UI: warn any campaign whose budget can't buy ~15–20 target conversions/day, and push single global budgets over per-geo fragmentation. "15–20 conversions per day" + single-global-budget guidance
  • Keep targeting thin on purpose: geo, language, device class — and let the model find users. No interest/demo targeting to leak signal or invite brand-safety fights. AppLovin's country-only targeting surface

Phase 3 — Creative system

AppLovin's inventory is "majority video" and its best unit is the playable. Roblox's native format *is* the playable — the one card AppLovin can't match.
  • Standardize the ad unit as a three-act sequence: video hook → interactive/playable slice → catalog or join card, with hard specs (9:16, ≤60s, size caps, auto-transcode) and instant-join portals as the CTA. Video → Interactive Page → Dynamic Catalog, median 35s watch
  • Make playable slices first-class: sandboxed mini-scenes of the advertised experience with a standard analytics funnel (loaded → challenge 25/50/75 → solved → CTA) exposed via API. MRAID playables + ALPlayableAnalytics + HTML Metrics API
  • Creative sets, not per-campaign uploads: build once, attach everywhere, edit globally; publish a top-creative library per genre and codify the doctrine the data supports (30s+, captions, early value prop). Creative-first flow; Top Creative Library; the 37s/95%-captioned analysis

Phase 4 — The MAX analog (supply side)

This is the flywheel step: AppLovin's ROAS products only work because MAX hands them impression-level revenue truth. Roblox's equivalent is developer-side monetization with full telemetry.
  • Give developers a real monetization console: rewarded, interstitial, and native in-experience formats with frequency rails borrowed wholesale — ~5 ads/session, rewarded ~1–2/day, minimum refresh intervals — because AppLovin's caps encode a decade of retention data. MAX best-practice numbers (≥10s refresh, 5/session, 1–2 rewarded/day)
  • Open a unified auction to third-party demand (DSPs, e-commerce buyers) competing per impression against Roblox's own demand, with transparent seller records. 22-bidder in-app bidding + app-ads.txt/sellers.json enforcement
  • Ship experiment tooling developers trust: A/B testing on placement/pricing changes with explicit promote thresholds (24h stable, volume minimums, measured incrementality), plus audience-segmented ad configurations. MAX A/B testing (50% split, 10k impressions, >2% incrementality) + 8-way waterfall segmentation
  • Pay like clockwork and instrument everything: published payout terms (NET 15, low minimums), impression-level revenue APIs, ARPDAU/fill/eCPM dashboards, and in-experience debug overlays for integration QA and bad-creative reporting. NET-15/$100 payouts; revenue + cohort + S2S APIs; Mediation/Creative Debugger; Ad Review

Phase 5 — Commerce demand

AppLovin's second act was pointing game inventory at e-commerce wallets. Roblox can run the same play with a younger, logged-in audience — carefully.
  • Dynamic catalogs in-experience: Shopify-class feed sync, CSV feeds, and pixel-inferred catalogs rendering as shoppable product rails inside ad units; a no-feed "offering" variant for services and lead gen. Dynamic Product Catalog (5+ SKUs → claimed 10–25% conversion lift) + Offering Catalog
  • Universal / Prospecting / Discovery audience modes, with prospecting powered by advertiser purchase-history uploads modeling existing customers. The three web audience strategies + order-history CSV/SFTP uploads
  • Age-gate the entire commerce surface: 13+/17+ cohort segmentation, verified-age targeting only, and a public brand-safety story — the one constraint AppLovin never faced and Roblox cannot fumble. No analog — Roblox-specific, and existential

Phase 6 — Platform surface

AppLovin ships every capability twice: dashboard and API. The API is what lets big spenders automate — and what makes the platform sticky.
  • Full campaign-management API at parity with the dashboard — campaigns, creative sets, assets (bulk upload), budgets, goals — with published rate limits and abuse rules. Axon Management API: 1,000 req/min, 40-file/10GB uploads, 24h error-block
  • Cohorted reporting APIs on both sides: advertiser day-N ROAS/retention out to a year; developer revenue down to impression level; asset-level and playable-funnel reporting. Reporting API (0d→1y windows) + MAX revenue APIs
  • Publish the doctrine — specs, floors, payout terms, attribution rules — as public docs. AppLovin's support site is a spec for rebuilding it; Roblox's should be good enough to steal from too. support.applovin.com itself
Sequencing logic: 1→2 needs nothing from anyone else (signal + buying on first-party demand); 3 raises win rates; 4 creates the revenue telemetry that unlocks true Ad/Blended-ROAS buying; 5–6 scale demand and lock in spenders. The Roblox items are this site's synthesis; every "analog" tag traces to AppLovin's documented capability set.