Inside a playable ad, track six moments: the ad displayed, the first interaction, the challenge started, the challenge passed or failed, the end card shown, and the CTA clicked. Those events tell you where players drop off and why, which network dashboards alone can't. AppLovin now has an official in-playable analytics API, Mintegral lets you define up to five tracking points, and Unity allows analytics calls without personal data. On most other networks you can't send your own events, so the in-playable view is uneven by design.
- Network dashboards show impressions, clicks and installs. They don't show what happened between the first tap and the CTA.
- Six events cover most decisions: displayed, first interaction, challenge started, pass or fail, end card, CTA.
- AppLovin's
ALPlayableAnalyticsAPI supports these events natively. Use it. - Use in-playable data to decide what to change. Use D7 ROAS to decide what stays live.
- Genie Playable builds playables from your game, and the data from each version shapes the next one.
Why isn't the network dashboard enough?
Because it only shows the last step. You see that a playable got impressions and installs. You don't see that half the players left before touching the screen, or that people who lost the level clicked more than people who won.
"At the playable level, it's all over the room."
They have plenty of playables, but their UA team can't see what happens inside networks like AppLovin, so they can't turn results into clear lessons.
They're not alone. A PlayableMaker co-founder said it publicly: nobody truly knows what's working inside a playable, and measurement is the real gap. Sett's newsletter describes the workaround the whole industry lands on: teams instrument the playable itself.
Which events should every playable track?
| Event | What it tells you | AppLovin event name |
|---|---|---|
| Displayed | The playable actually rendered for the player | DISPLAYED (required), plus LOADING and LOADED |
| First interaction | The player understood the hook and started. Time from display to this is your time to engage | Use CHALLENGE_STARTED on the first real move |
| Progress | How far players get before they stop | CHALLENGE_PASS_25, _50, _75 |
| Pass or fail | Which ending the player reached | CHALLENGE_SOLVED, CHALLENGE_FAILED, CHALLENGE_RETRY |
| End card shown | The player reached your pitch | ENDCARD_SHOWN |
| CTA clicked | Interest turned into intent | CTA_CLICKED |
AppLovin's docs add one rule: don't use CHALLENGE_FAILED for crashes, JavaScript errors, load failures or timeouts. Fail means the player lost, not that the ad broke.
Which metrics come out of those events?
| Metric | How to calculate it | Benchmark to compare against |
|---|---|---|
| Engagement rate | First interaction ÷ displayed | Sett: median drop-off in the first three seconds is about 47% with no guided interaction, about 29% with a strong first-time experience |
| Time to first interaction | Seconds from displayed to first interaction | Sett: median about 8.8 seconds; a good tutorial cuts it by about 40% |
| Drop-off point | Where the progress events stop | Compare versions against each other, not a market average |
| Completion rate | Solved or failed ÷ first interaction | Sett: average play time about 35 to 40 seconds; successful playables reach 70 to 80 |
| Win CTR vs fail CTR | CTA clicks after solved vs after failed | Test both endings; there's no universal winner |
| End card conversion | CTA clicked ÷ end card shown | Compare end card variations |
What does each network let me track?
| Network | In-playable analytics |
|---|---|
| AppLovin | Official API: window.ALPlayableAnalytics.trackEvent('EVENT'), wrapped in a check that the object exists. Standard event list above |
| Mintegral | An action.json file defines up to five tracking points, reported with window.HttpAPI.sendPoint() |
| Unity Ads | Playables shouldn't need network requests, but analytics calls may be allowed if they carry no personal data such as user or device identifiers |
| Unity Playworks (Luna) | Playable Insights tracks standard events automatically, supports custom events, and breaks results down by creative, network, OS and country. Anonymous, no user-level data |
| Meta, Moloco, TikTok, Snapchat | No external requests allowed, and their public specs don't document an in-playable analytics API. You get their standard ad reporting |
Privacy applies everywhere. No user or device identifiers, no personal data. Track what the player did in the ad, not who they are.
How do I connect playable events to ROAS?
Treat the two layers as different tools. In-playable events explain behavior inside the ad: whether the hook worked, whether the tutorial was clear, which ending drove the click. Network and MMP data tell you whether those players paid back. Senior UA practitioners judge creatives on D7 ROAS and retention, not CPI alone, and for good reason. In one public test of 360 creatives, the playable with the best installs per thousand impressions wasn't the one that paid back best.
A workable loop: pick the live version with the best ROAS, look at its in-playable funnel, find the step with the biggest drop, and change only that in the next version. More on that in how to iterate a winning playable.
What should UA teams ask for from whoever builds their playables?
- The six core events on every playable, named the same way across versions.
- Native AppLovin analytics events on every AppLovin build, and Mintegral tracking points where you run Mintegral.
- A version ID on every build, so results map to the exact change you made.
- A short report per version: engagement, time to first interaction, drop-off point, win vs fail CTR, end card conversion.
- No personal data, ever.
Where does Genie fit?
Genie Playable builds playables from your game (your APK or HTML build plus the assets, narrative and live events in Genie), from a format that's already working, or from scratch from a brief, and exports them for ten networks from one source.
Because every version comes from the one before it, what you learn from the data stays attached to the playable: the hook that worked, the ending that drove clicks, the skin that reset fatigue. The product is moving fast, and we'll keep this page current as its analytics grow. Try it free on your game.
FAQ
Can I track events inside a playable ad?+
On some networks. AppLovin has an official analytics API, Mintegral supports up to five tracking points, and Unity allows analytics without personal data. Meta, Moloco, TikTok and Snapchat don't allow external requests.
What are AppLovin's playable analytics events?+
LOADING, LOADED, DISPLAYED (required), CHALLENGE_STARTED, CHALLENGE_FAILED, CHALLENGE_RETRY, CHALLENGE_PASS_25, 50 and 75, CHALLENGE_SOLVED, ENDCARD_SHOWN and CTA_CLICKED.
What is a good engagement rate for a playable ad?+
Compare against your own versions first. As a reference, Sett's data shows median first-three-second drop-off of about 47% without guided interaction and about 29% with a strong tutorial.
Should I judge playables on CPI?+
Not on its own. Use D7 ROAS and retention to decide what stays live, and in-playable metrics to decide what to change.
Is it allowed to collect user data in a playable?+
No. Networks that allow analytics require it to be anonymous, with no user or device identifiers.

