Playable-реклама для игры Stack Ball (Azur Games). Держи палец — шар пробивает башню, отпускай перед чёрным. Внизу котик в клетке, сверху опускаются шипы: успей спасти.
Базовый процесс создания плейбла: разбор рекламы Azur и конкурентов, выбор игры и гипотезы, сборка плейбла, варианты для A/B-теста и события для воронки.
| Шаг | Что сделано |
|---|---|
| Research | Активная реклама Azur и Helix Jump в Meta Ad Library, кейс ironSource о плейбле Stack Ball, требования рекламных сетей, метрики (IPM, CTR, удержание) |
| Гипотеза | Механика Stack Ball плюс крючок, которого нет в текущей рекламе игры: спасти котика, пока опускаются шипы |
| Плейбл | Интро с котиком, подсказка, игра, режим огня, победа или «почти получилось», экран с кнопкой в магазин |
| Варианты | A «Классика» (контроль), B «Спаси котика», C «Выбери шар», плюс режим «сначала покажи, как играть» |
| Метрики | События воронки внутри плейбла: начал играть, проиграл, победил, увидел экран установки, нажал «Играть» |
Каждый вариант сравниваем с A. Главная метрика — IPM (установки на 1000 показов), за ней удержание D1 и окупаемость (ROAS). Решаем только когда разница значимая, а причину ищем в воронке событий.
| Результат | Что это значит | Что делаем дальше |
|---|---|---|
| B выше A по IPM, D1 не хуже | Котик и шипы приводят больше людей, и это те же игроки | B в основную ротацию. Следующий тест — сам крючок: другой питомец, скорость шипов, длина интро |
| B выше A по IPM, но D1 ниже | Котик привлекает тех, кто ждёт игру про котика, а в Stack Ball его нет | Смотрим окупаемость, а не только IPM. Пробуем финал, где после спасения показана настоящая игра, или крючок ближе к игре |
| B на уровне A | Эмоция не сработала, причину ищем в воронке | Мало начавших — длинный старт: тест с показом или короче интро. Много проигрышей на шипах — давление слишком сильное, шипы медленнее |
| C: начавших больше, IPM тот же | Выбор шара вовлекает, но не продаёт | Оставляем выбор, только если вырос и CTR на end card. Иначе убираем: это лишний шаг до игры |
| Показ: касаются раньше, начавших больше | Меньше людей теряется на старте | Включаем показ по умолчанию в победившем варианте |
| Показ: начавших меньше | Люди смотрят и уходят, не дождавшись своей очереди | Убираем показ или сокращаем до 1–2 секунд |
Как по воронке понять, где теряем людей, — на странице вариантов.
| Что | Как |
|---|---|
| Формат | Один HTML-файл около 0,5 МБ, без внешних запросов: подходит AppLovin, Unity, Google, Meta (лимиты 2–5 МБ) |
| Кнопка в магазин | MRAID mraid.open(), Meta FbPlayableAd.onCTAClick(), Google ExitApi или обычная ссылка |
| Графика | Three.js, всё собрано из простых 3D-фигур в коде: без моделей и Blender |
| Звук | Синтезирован в браузере (WebAudio), включается только после первого касания |
| Как сделано | Весь код написан с Claude Code, баланс проверен автоматическим ботом за игроков разной скорости |