To A/B test a playable ad, change one element (the hook, mechanic, difficulty, fail state, end card or CTA), run the original and the variant on the same network, geo and budget at the same time, and decide only after both reach a sample size you set before launch. Judge the winner on IPM first and D7 retention or ROAS second, never on a single day of CTR.
The hard part is not the idea. It is the discipline: one variable, enough data, one read. Here is how to set that up on each major network.
What should you test in a playable ad?
Start with the parts that move the most players. A playable has a clear structure (we break it down in anatomy of a playable ad), and each part answers a different question.
| Element | Example variants | Primary metric to watch | Question it answers |
|---|---|---|---|
| Hook (first one to three seconds) | Instruction text vs hand pointer; near-win board vs empty board | Engagement rate, IPM | Do players start? |
| Core mechanic | Swipe vs tap; merge vs match | Completion rate, IPM | Which part of the game sells it? |
| Difficulty | Three moves to win vs five; slower timer | Completion rate, CTR | Is the challenge the right size? |
| Fail state | Forced fail at the last move vs player can win | CTR after fail vs after win, D7 retention | Does losing make players want more? |
| End card | Reward shown vs character shown; static vs animated | End card CTR, CVR | Does the pitch land? |
| CTA | "Play now" vs "Continue level"; always visible vs end only | CTR, CVR | Does the button get the tap? |
| Length | 15-second loop vs 30-second level | Completion, IPM | How much play is enough? |
A rule of thumb from teams we talk to: test the hook and the fail state first. They are cheap to change and they tend to move IPM more than art polish does. Skins and themes are worth testing later, once the mechanic wins, to fight fatigue.
Why test only one variable at a time?
Because the point of a test is a reusable lesson, not a single winner. If variant B has a new hook, a shorter level and a new end card, and it wins, you do not know which change did it. You also cannot carry the lesson to the next concept.
The exception is a concept test. When you compare two different playables (say, a match-3 rescue vs a merge puzzle), you are testing the whole idea, and that is fine. Just call it a concept test, and follow it with one-variable tests on the winner. Our guide to iterating a winning playable covers that second stage.
One variable in. One clean variant out. In Genie Playable you iterate from the last version, so changing the fail state does not mean rebuilding the hook, the art or the end card. No developer ticket.
Try GenieHow much data do you need before you call a winner?
More than most dashboards suggest. Small samples produce big, random gaps.
A worked example in plain language
Two playables run on the same network and geo. You are comparing IPM.
| Scenario | Impressions per variant | Variant A installs (IPM) | Variant B installs (IPM) | Is B really better? |
|---|---|---|---|---|
| Small test | 5,000 | 75 (15.0) | 90 (18.0) | Not yet. A gap this size happens by chance about one time in four. |
| Bigger test | 20,000 | 300 (15.0) | 360 (18.0) | Probably. The chance this gap is random drops to about 2%, below the usual 5% cut-off. |
Same IPMs. Different answers. The only thing that changed is how much data you had. (These come from a standard two-proportion test; any A/B significance calculator gives the same result.)
Planning the sample before launch
To plan, you need three inputs: your baseline IPM, the smallest lift you care about, and how sure you want to be. With a baseline IPM of 15, a target of 18 (a 20% lift), 95% confidence and 80% power, you need about 28,000 impressions per variant. Want to detect a 10% lift? Plan for roughly four times as many.
Three practical consequences:
For how many playables to put into a test round given your budget, see how many playables to test.
How do creative tests work on each network?
Each network gives you different tools, and some give you none built for playables. This is what each one documents.
| Network | Testing setup | What to know for playables |
|---|---|---|
| Unity Ads | Dedicated Creative Testing campaigns. Each creative pack gets a fair chance to serve; billed on CPM, not CPI. | Use a control pack with history, do not add or remove packs mid-test, test in the countries you will run in. For playables, the overview compares clicks across creatives. |
| Meta | Creative testing in Ads Manager: duplicate an ad into two to five test ads, with part of the campaign or ad set budget set aside (Meta suggests up to 20%). A/B tests in the Experiments section for larger questions. | Requires the Highest Volume bid strategy. Pick cost per result (cost per install) as the test metric. |
| Google Ads (App campaigns) | Asset reporting ranks each asset Low, Good or Best against assets of the same type in the campaign. App asset experiments split traffic between a base and trial campaign. | Up to 20 HTML5 assets per ad group. Documented asset experiments cover video uplift on Android, with a recommended 50% split and 80% confidence. For playables, rely on asset labels or separate ad groups. |
| AppLovin | No documented creative A/B tool for UA campaigns. Creatives go into creative sets (up to ten files per asset type) that you attach to campaigns; reporting is consolidated at the creative-set level. | Put one concept or one variant per creative set so set-level results map to one change. AppLovin MAX A/B testing is a monetization feature, not a UA creative test. |
| TikTok Ads | Playables run in Smart+ on the TikTok placement. TikTok recommends at least six videos and one playable per ad group. | When an ad group mixes video and playables, results are aggregated at ad group level, with no per-playable breakout. Give each playable variant its own ad group to read it. |
On AppLovin, practitioners who publish their method add new creative sets to campaigns that are already spending and judge each set against the campaign goal (cost per conversion or ROAS), rather than running a separate test campaign. If you are setting this up for the first time, our walkthrough of a first AppLovin campaign with a playable covers the structure.
Whatever the network, compare results within that network only. Each one counts impressions, engagements and clicks its own way. For how networks differ beyond testing, see playable ad networks.
How should you name playable test variants?
So that anyone can read the change from the file name, six months later, without opening a spreadsheet. A simple pattern: GAME_FORMAT_CONCEPT_VERSION_CHANGE_NETWORK_DATE
| Part | Example | Why |
|---|---|---|
| Game | PZL | Short code per title |
| Format | PLY | Keeps playables apart from video (VID) and static (IMG) in reports |
| Concept | rescue | The core idea, stable across versions |
| Version | v04 | Increments with every build |
| Change | failearly | The one variable that differs from the previous version |
| Network | ALV, META, GADS, UNI, TTK | Network-specific builds differ in packaging |
| Date | 261026 | Launch date |
Full name: PZL_PLY_rescue_v04_failearly_ALV_261026. Keep the same name on the build file, the creative set and your test log. If you use in-playable events, keep the event names identical across versions too, as we describe in what to track inside a playable ad.
How do you read playable test results?
The full cut, iterate or scale framework is in how do you know a playable ad is working.
Same variant, every network. Genie Playable exports optimized builds for Meta, AppLovin, Unity Ads, Liftoff, Google Ads, TikTok Ads, Pangle and Mintegral (Moloco coming soon), so a test on two networks compares the same creative, not two hand-ported versions.
Book a demoWhat are the most common playable A/B testing mistakes?
Where does Genie Playable fit?
Testing well needs a steady supply of clean variants, and that is usually the bottleneck. Genie Playable builds a playable from your APK or HTML build plus the assets in Genie, from a format that is already working, or from scratch from a brief with Genie Agent. Each new variant comes from the last version, so you change the hook, the fail state or the end card and keep everything else fixed. No developer needed at any step.
What it does not do: Genie Playable does not run your tests, pick winners or replace your network reporting and MMP. We do not publish performance lift numbers for it.
It fits teams that want to test more playable variants without adding engineering time. It is not the right fit if your in-house playable team already ships variants as fast as you can test them, or if you mostly buy on a network we do not export to yet.
Self-serve starts at $490 a month, or $249 a month for startups, and sign-up is free, with enough tokens to create your first two playables before you pay. The custom plan, usually for larger companies, is a full one-month pilot where the Genie team onboards you and helps you build the playables you want.
Test more, rebuild less. One brief in. A clean variant out. Genie Playable gives your tests the steady supply of one-change variants they need.
Try GenieFAQ
Sources
- 01Unity Grow, Introduction to Creative Testing campaigns
- 02Unity Grow, Creative Testing campaign best practices
- 03Unity Grow, Analyze Creative Testing results
- 04Google Ads Help, About HTML5/Playable ads for App campaigns
- 05Google Ads Help, About asset reporting for App campaigns
- 06Google Ads Help, Create a new App asset experiment
- 07Google Ads Help, Monitor your App asset experiment
- 08AppLovin, How to create creative sets
- 09AppLovin, Creative-first flow
- 10AppLovin MAX, A/B testing (monetization)
- 11TikTok Ads Help, How to create Playable ads on TikTok Ads Manager
- 12Meta Business Help Center, creative testing
- 13Jon Loomer, Meta creative testing (October 2025)
- 14RocketShip HQ, How to test ad creatives on AppLovin, 2026
- 15Evan Miller, Sample size calculator
