Лого vc.ru

Кейс из России: Отслеживание количества установок приложения через рекламные баннеры

Кейс из России: Отслеживание количества установок приложения через рекламные баннеры

Руководитель проектов Wachanga — приложения для родителей, помогающего в раннем развитии детей от рождения до 7 лет — Максим Колпаков написал для рубрики Growth Hacks колонку о том, как при помощи инструментов аналитики отслеживать эффективность рекламных кампаний для мобильных приложений.

У Wachanga (ссылка содержит метки, в комментариях к материалу автор продемонстрирует, как отслеживает трафик на примере vc.ru — прим. ред.) уже есть около 100 тысяч пользователей, но масштабироваться мы не готовы — пытаемся выйти на окупаемость каждого привлеченного пользователя. На то самое заветное неравенство стартапера: CAC < LTV (Customer Acquisition Cost vs Lifetime Value).

В такой ситуации нам очень важно делать всяческую аналитику, считать конверсии, оптимизировать каналы привлечения. Сейчас активно пользуемся монструозной связкой: Google Analytics + Crashlytics + MobileAppTracking + Branch + Mixpanel. И вот последний пункт нас перестал устраивать ввиду двойного тарифа за события и пользователей. С подачи Олега Якубенкова решили попробовать заменить Mixpanel на Amplitude.

Один из важных каналов привлечения пользователей у нас это myTarget — там установки нам обходятся всего в 4-5 рублей. Но есть важный нюанс. Продукт мы предоставляем не самый простой. Мы заставляем родителей оторвать задницу от дивана и пойти заниматься развитием своих детей, выдавая им (родителям) различные задания в стиле «Устройте полосу препятствий дома» с пошаговыми инструкциями.

Продать такой продукт через баннер непросто. Гораздо проще, например, написать «Дневник ребенка онлайн» с милым карапузом по соседству. Эта функциональность у нас в приложении тоже присутствует и по такому баннеру намного охотнее кликают и установки получаются дешевле.

С другой стороны, доход мы получаем за счет подписки на дополнительные пакеты тех самых заданий. И далеко не факт, что пользователь, с лёгкостью установивший приложение по баннеру «Дневник», будет также охотно использовать главную функциональность и оформит впоследствии подписку.

Есть потребность сравнивать различные баннеры, а глобально — и все каналы привлечения, не столько по цене установки, сколько по доходу, получаемому с пользователей. Для этого нам необходимо проследить весь путь пользователя:

  • Рекламный баннер.
  • Магазин приложений.
  • Установка приложения.
  • Регистрация, активация, возвращения — если мы хотим более тщательно измерять своих клиентов.
  • Покупка.

И вы наверное знаете, что уже на стадии №2 в большинстве случаев теряются все параметры, которые мы попытаемся передать в URL. В том числе всеми любимые UTM-метки.

Чтобы этого избежать и всё-таки замерить хотя бы установки, все пользуются так называемыми трекерами. Трекеры передают в рекламную сеть или аналитические сервисы информацию о произошедших установках вашего приложения. Это AppsFlyer, MobileAppTracking, Adjust, ADX и другие.

Мы пользуемся MobileAppTracking (MAT). В упомянутый myTarget информация о том, состоялась ли установка после клика по баннеру, передается с помощью специального postback-запроса. Такой запрос отправляет SDK MobileAppTracking, встроенное в наше приложение. Это и есть главная функция трекера.

Далее я буду рассказывать о трекинге на примере MAT, но всё это будет справедливо и для любого другого трекера. Также всё применимо и для любой другой рекламной сети или другого источника клиентов, который вы хотите «трекать».

Postback из MobileAppTracking на myTarget настраивается так:

1. В Разделе Integrated Partners активируете партнера Mail.ru.

Здесь заодно можно глянуть отранжированный список рекламных сетей, если вы ищете новые рекламные каналы.

2. На открывшейся странице партнера необходим создать Measurement URL — ссылка, по которой будут переходить пользователи, при клике по баннеру.

После перехода трекер запомнит устройство и перенаправит на вашу страницу в мобильном сторе. Под каждую платформу (iOS, Android или Windows) создается свой Measurement URL. Этот URL используйте при создании рекламных кампаний.

3. Далее переходите в раздел Postback URLs и создаете новый постбек, который будет использовать трекер для извещения рекламной сети о успешной установке.

Выбираете тип Advertising Partner, Mail.ru из списка партнеров, указываете ваше приложение (предварительно создав его в разделе Mobile Apps), событие — Install.

Сразу после создания постбека, MAT автоматически начнет пинговать рекламную сеть каждый раз после установки вашего приложения.

С виду — простая инструкция, но учитывая сложность интерфейса MAT, у меня ушло несколько часов на то, чтобы в этом разобраться. Надеюсь, данная статья поможет вам сделать это быстрее.

Теперь перейдём к главной части нашего повествования. Как настроить передачу информации из рекламной сети в платформу аналитики Amplitude. Для этого используются всё те же постбеки.

Опять переходим в раздел «Партнеры MobileAppTracking». Подключаем на этот раз Amplitude. Создаем новый Postback URL, указываем Technology Partner Type, выбираем Amplitude, в Postback Template выбираем Install и ставим галочку на Modify Template. В этой галочке и содержится вся боль интеграции с Amplitude.

Тот темплейт, который установлен по умолчанию, будет слать вам в Amplitude не совсем те данные, которые хотелось бы. И если вы при создании рекламной кампании настроили передачу UTM-меток, то не ждите их в Amplitude при таком темплейте.

Путем множества экспериментов я добился корректной передачи информации о кампании с помощью следующей схемы.

1. При создании объявления выбираем пункт «Добавлять метки вручную»:

Метки указываем такие:

sub_placement=cpc&sub_ad={{banner_id}}&sub_publisher=mytarget&sub_campaign=mytarget_android&sub1={{geo}}&sub2={{gender}}&sub3={{age}}

Также можно добавить поле sub_keyword, но я это делаю прямо в ссылке каждого конкретного баннера, размечая каждый креатив своими тегами.

2. Amplitude Postback Template в MAT указываем примерно такой:

<a href="<a href=" https:="" api.amplitude.com="" attribution?api_key="AMPLITUDE_API_KEY&event=""></a><a href="https://api.amplitude.com/attribution?api_key=AMPL..">https://api.amplitude.com/attribution?api_key=AMPL...</a>."><a href="https://api.amplitude.com/attribution?api_key=AMPL..">https://api.amplitude.com/attribution?api_key=AMPL...</a>.{"event_type":"mat_install", "idfa": "{ios_ifa}", "idfv": "{ios_ifv}", "adid": "{google_aid_lower}", "android_id": "{android_id}", "user_properties": {"[MAT] Publisher": "{publisher_name}", "[MAT] App": "{site_name}", "[MAT] Offer": "{campaign_name}", "utm_source": "{sub_publisher}", "utm_campaign": "{sub_campaign}", "utm_content": "{sub_ad}", "utm_medium": "{sub_placement}", "utm_term": "{sub_keyword}", "my_geo": "{sub1}", "my_gender": "{sub2}", "age": "{sub3}"}, "platform": "{sdk}"}

Далее вы можете под себя настроить, например, название события ("event_type":"mat_install"). В этой схеме вы также получаете в Amplitude бонус в виде информации о поле и возрасте вашего пользователя.

Если вы всё правильно сделали, то в Amplitude у вас должно появиться новое событие mat_install. Умная Амплитуда с помощью параметров Platform, Device ID, android_id, idfa и adid сама свяжет это событие с юзером, информацию о котором вы либо уже передали из приложения, либо передадите в ближайшее время.

Важно понимать, что если Amplitude не найдёт, к кому привязать это событие в течение суток, оно его удалит.

Вот итог наших стараний:

А теперь немного о том, как это пригодилось в анализе приложения Wachanga.

В Amplitude, как и во всех хороших системах аналитики, есть funnels, воронки. Если вы всё правильно делали до этого, то при создании воронки у вас появится возможность выбрать событие mat_install:

В правой панели вы теперь сможете выбрать вариант группировки по параметрам рекламных кампаний:

Комбинируем эти две возможности и получаем, например, такой отчет:

Здесь цвета колонок — это конкретные баннеры. Первый шаг воронки — это «Установка приложения». Далее идет «Активация пользователя» и «Попытка покупки». Трекинг самой покупки мы пока не интегрировали, так как за это в у нас отвечает бэкенд, который мы «релизим» каждые две недели, и просто не успели ещё этого сделать.

На гистограммах мы видим, что наименьшую конверсию в попытки покупок показал баннер 16952602, а наибольшую — 16952604.

Вот они:

Конверсия первого — 20,3%, второго — 28,8%.

Теперь глянем их статистику в myTarget:

Как видите, по всем параметрам баннер 16952602 лучше — и по кликабельности, и по конверсии из просмотра в магазине приложений в установки и по цене установки.

Совместим эти два отчета и получим стоимость попытки покупки.

  • Для первого баннера: 4,19 рублей / 20,3% = 20,64 рублей.
  • Для второго баннера: 4,7 рублей / 28,8% = 16,32 рублей.

Казавшийся на первый взгляд эффективным баннер проиграл в итоге менее кликабельному, но более продающему.

Покупками такой анализ не должен ограничиваться. Подобным же образом можно анализировать влияние разных внешних инструментов работы с аудиторией на возвращаемость пользователей, виральность продукта и так далее. И это отличный инструмент для A/B-тестирования разных гипотез.

Например, мы можем выявить зависимость продаж от возраста и пола пользователей. И сконцентрироваться на более эффективной демографической группе.

Если у вас есть веб-версия продукта, то и оттуда активности можно прокинуть через такую связку. И тогда вы сможете анализировать веб и mobile в одном интерфейсе. Дальше всё зависит только от вашей фантазии.

Присылайте собственные кейсы, в результате которых вам удалось заметно улучшить (или, наоборот, ухудшить) показатели проекта, на what@growthhacks.ru. Интересные эксперименты обязательно попадут на страницы рубрики Growth Hacks.

0

Вот это я понимаю бизнес-сначала заставить родителя поднять задницу, а потом еще и деньги заплатить!
Кто нито знает как в андройде насовсем отключить эти поганые баннеры?

Круто вы заморочились, ребята! Респект! Копипастну себе пожалуй :)

0

А почему такой сложный путь? Разве нельзя настроить трекинг установок из разных рк с помощью google analytics?

support.google.com/analytics/answer/3389142?hl=ru

0

Google Anflytics умеет хорошо трекать только из родного Google Play Market. И то, там всё хорошо с utm-метками только при условии установки из веб-версии Play Market, в других случаях всё теряется. О метках из App Store с ним вообще можно забыть.

Максим здесь прав. Даже трекинг из родного Play Market подтягивается через раз: когда в самом Google Play данные видны более-менее корректно, то до Google Analytics информация об источниках переходит процентов на 20-30.

Что самое смешное, то для установок из источников, не являющихся партнерами и трекающихся исключительно по UTM меткам все работает прекрасно. А для установок из AdWords и Facebook ситуация крайне печальна.

0

У вас работают UTM-метки? У нас через раз отображаются.

0

Как я уже написал выше:

0

Как я уже писал выше:
- Для Google Play источники подтягиваются достаточно неплохо. UTM метки тянутся правильно.
- В Google Analytics данные доходят не всегда. При этом для Яндекс и Mail.ru (ОК) данные сохраняются практически всегда. В то время как для установок по рекламе из AdWords / Facebook получить статистику без сторонних трекеров практически невозможно - действительно данные через раз отображаются.

0

Спасибо за уточнение

0

надо попробовать - но кнопки на установку приложения на сайте перепутаны между собой :)

А вам какой вариант нашей A/B-страницы попался? :)

А, всё, вижу. На одном из лендингов и вправду проблема. Спасибо, поправим!

0

Там в текст постбек-запроса лишний тег вкрался. Наверное, из-за WYSIWYG-редатора. Правильно так:
api.amplitude.com/attribution?api_key=AMPLITUDE_API_KEY&event={"event_type":"mat_install", "idfa": "{ios_ifa}", "idfv": "{ios_ifv}", "adid": "{google_aid_lower}", "android_id": "{android_id}", "user_properties": {"[MAT] Publisher": "{publisher_name}", "[MAT] App": "{site_name}", "[MAT] Offer": "{campaign_name}", "utm_source": "{sub_publisher}", "utm_campaign": "{sub_campaign}", "utm_content": "{sub_ad}", "utm_medium": "{sub_placement}", "utm_term": "{sub_keyword}", "my_geo": "{sub1}", "my_gender": "{sub2}", "age": "{sub3}"}, "platform": "{sdk}"}

0

вот, он теперь и сюда прокрался )

0

А почему использовали Amplitude дополнительно? Разве в трекере (MAT тут) нельзя настройку ивентов сделать? Или там не корректно считает?

0

Важно не просто собрать ивенты, но и качественно их сгруппировать, визуализировать, подготовить для анализа. На текущий момент Amplitude делает это наиболее качественно, на мой взгляд. MAT (нынче TUNE) тоже в последнее время пытается в эту сторону двигаться, но пока что он не настолько удобен, как хотелось бы, поэтому чаще используется просто как трекер.

0

Неплохо, прям, заморочились.

Макс, а ты сам этим всем страдаешь или у вас выделенный чувак на аналитике? Вы всё, кстати, так же в Кемерово? Или в штаты перебрались таки?

0

Беру маркетингом канал, настраиваю его полностью сам, а потом делегирую. Сейчас вот и ищу такого выделенного чувака.
В Штаты рано пока, сидим всё там же, в It-офисе, заезжайте ;) треть команды - распределенная

0

*маркетинговый канал

Как ваш коллега, позволю себе заметить – прекрасно настроенная система маркетинговой мобильной аналитики с завязкой на KPI. Далее - хардкор левел еще остается, собственно, чем и мы заняты, реализовав все точно так же, как у вас, хоть и несколько другими инструментами) — делать аналитику не только по первой покупке, но и по дальнейшим продлениям подписки, в том числе реккурентным. Соотвественно понимать из какого канала (можно до креатива, но тут уже спорная целесообразность) приходят наиболее долго "живущие" в сервисе пользователи.

0

Всё верно, это мы тоже делаем, конечно же. Но есть ещё интересные задачи, которые ещё нам предстоят:
- Применить всё это к ремаркетинговым кампаниям.
- Замерять каналы по степени виральности приходящей аудитоии.

А какие инструменты вы используете, поделитесь?

Спасибо за статью! Настроили постбеки из Apsalar в Amplitude, все работает.

Прямой эфир
Узнавайте первым
о важных новостях
Мы будем присылать вам только срочные уведомления в браузере
Mail.Ru Group получила полный контроль над «ВКонтакте»
Хочу знать!
Не нужно