Компания
45,46
рейтинг
22 августа 2013 в 16:25

Разработка → Правильная аналитика в мобильном приложении

Подавляющее большинство мобильных приложений выходит в свет без интегрированных фреймворков аналитики и без правильной их настройки. Это очень печально, приложение не веб-сайт, где можно воткнуть Google Analytics за 10 минут и собирать статистику.

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

Под катом набор инструментов для аналитики и рекомендации по их настройке принятые в Touch Instinct и ценные комментарии от LinguaLeo и агентства мобильной рекламы Mobio.




Аналитика поведения пользователей


Под аналитикой поведения пользователей я подразумеваю сбор и отображение таких данных как:
— количество ежедневной аудитории (DAU);
— пути пользователей в приложении;
— насколько часто используются функции приложения;
— достижения целей (регистрация, покупка, три захода в течении месяца, ...);
— частота возврата аудитории (retention rate).

В вебе для получения этих данных обычно используется бесплатный и мощный Google Analytics. У Google Analytics есть прекрасная мобильная версия. Чтобы она заработала нужно встроить специальную библиотеку iOS, Android.



Рекомендации по настройке Google Analytics Mobile

Отслеживайте открытие каждого экрана. В Android вызываем трекер в onStart и onStop для каждой Activity. В iOS наследуем ViewController от GAITrackedViewController и прописываем название экрана.

Отслеживайте нажатие любой кнопки, интерактивного элемента на экране или поисковый запрос. В Google Analytics для этого предназначены События (Events). В обработчиках интересующих нас элементов вызываем sendEvent. Подумайте, какие параметры действия потребуются при аналитике: текст поискового запроса, id объекта на карточке которого нажали кнопку,… и передайте их в Label.

Если в приложении есть встроенные покупки не забудьте настроить их трекинг. (Android, iOS)

Analytics мощный и бесплатный, все аналитики знают как с ним работать. Почти идеальный инструмент. Если бы не одно жирное НО, Google Anayltics не умеет отслеживать источник установок для iOS. Умеет только для Android. Это резко перечеркивает все его достоинства, поэтому я рекомендую использовать бесплатный Flurry.

Илья Красинский, Lingua Leo
1. Гораздо хуже, что ГА работает по сессиям. Это часто приводит к ошибкам в рассчете уников, т.е. его уники очень часто врут, особенно, если в некоторых продуктах, например, после регистрации/авторизации, по непонятной причине происходит разрыв сессии (косвенно, можно отследить по большому числу 1-3 секундных сессий) или сравнить с другой аналитикой

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

3. ГА не рассчитывает конверсии на основе всех данных, он постоянно использует только небольшой % данных и на основе них аппроксимирует результаты всей выборке, особенно когда смотришь за месяц-два на поведение метрики.

Осенью прошлого года вышла версия 2.0 мобильная, часть багов поправили, но все равно переодически на приложении сталкиваешься с запредельными багами в данных


Для использования Flurry встройте библиотеку в приложение (iOS, Android)

Во Flurry нет понятия экрана, есть только события (logEvent). Ни в коем случае не используйте одно событие pageView с параметрами. Этим потом невозможно пользоваться. Для каждого экрана вызывайте отдельное событие.

Алексей Писаревский, агентство мобильного маркетинга Mobio
При настройке событий Flurry начните с самых основных. Например, настройка событий Flurry для приложения сериала с оплатой серий деньгами или просмотром рекламного ролика.

Ключевыми событиями в приложении у нас будут:
  • покупки;
  • просмотры роликов;
  • авторизация;
  • шаринг в соц сети;

Базовая настройка событий и параметров для измерения этих событий:

Илья Красинский, Lingua Leo
Я рекомендую использовать в названии событий глаголы с дополнениями: Success Purchase, Press plus button, Create Task, Watch movie

Это сильно облегчает построение и анализ воронок — читаешь связный текст.

Помимо GA и Flurry популярны: MixPanel (самый мощный инструмент), Localytics и Apsalar. Я рекомендую начать с Flurry.

Источники установок


В вебе вы можете точно отследить откуда к вам пришел каждый пользователь благодаря referer и возможности передать произвольные параметры в url (например, utm-метки).

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



Google сделал поддержку referer и utm-меток для Android. Достаточно добавить пару строк в манифест и вы увидите источники трафика в Analytics. Apple, к сожалению, не так великодушен и понять откуда пришла установка невозможно. Поэтому Google Analytics не закрывает проблему мобильной аналитики.

Помогают сторонние сервисы: AppsFlyer, Distimo, Mobile app tracking, Adxtracking и… Flurry.

Эти инструменты работают эвристически и не всегда правильно связывают установку с переходом по ссылке. Работает это примерно так:
  1. Для каждого канала (ex. iphones.ru, google admob, habr, баннер на сайте, email рассылка...) создается уникальная ссылка
  2. Пользователь открывает ссылку на смартфоне
  3. Сервер собирает максимум открытых данных о смартфоне и перенаправляет пользователя в AppStore
  4. После установки приложения, запускается метод из SDK трекера. Он собирает данные о смартфоне еще раз и сравнивает с данными из пункта 3.

Илья Красинский, Lingua Leo
MAT (Mobile App Tracking) вообще наиболее надежен. Считается, что он в 80% случаев точно определяет источник.

Инструмент трекинга в флури появился не так давно и пока о его надежности у меня нет данных.

MAT хорош тем, что он может обернуть ссылку в флури и таким образом будут 2 системы для трекинга.

Флури хорош тем, что на основе трекинга можно строить сегменты и анализировать аудиторию пришедшую из разных каналов.


Алексей Писаревский, агентство мобильного маркетинга Mobio
Я рекомендуем встраивать систему трекинга, которая позволит покупать рекламу по модели CPI (cost-per-install, оплата за установки). Такие системы сообщают рекламной сети о факте установки. В России существует несколько CPI-сетей: Clickrocket, Unilead, Mobioffers),… они работают по тому же принципу, что CPA-сети в вебе. Назначаете цену за установку (например, 3$), предложение рассылается партнерам сети. Площадки принимают это предложение и размещают у себя рекламу. По факту установок сеть выплачивает площадкам вознаграждение равное вашей ставке минус комиссия сети. Для использования CPI-сетей вы должны отправлять ей информацию с какой площадки пришел пользователь. Можно встроить библиотеку каждой площадки или трекер, который интегрирован с большим количеством CPI-сетей. Flurry интегрирован с немногими сетями, а Google Analytics вообще не умеет отправлять информацию. Они для этой цели не подходят.

Самый мощный трекер Mobile App Tracking. Он интегрирован с подавляющим большинством рекламных источников. К сожалению, он дорогой: 0,2 цента за каждое измеряемое событие, включая клики и события. Другие популярные трекеры — AdXtracking и Appsflyer. Их цена более лояльна. Appsflyer берет только 5 центов за установку. Органические установки бесплатны.

Своим клиентам я рекомендую Appsflyer + Flurry. Первый — для оценки эффективности продвижения, а второй — для анализа поведения пользователей.


По-моему, в большинстве случаев Flurry идеальное решение. Это и аналитика поведения пользователей и трекинг источника установок под iOS/Android да еще и бесплатно. Хотя на мой вкус Google Analytics симпатичнее и работает ощутимо быстрее.



Push аналитика


Push-оповещения важный инструмент для вовлечения пользователей. Важно не только правильно рассылать Push-оповещения, но и постоянно отслеживать их эффективность и корректировать стратегию.

Push аналитику можно разделить на две части: анализ поведения пользователей пришедших с push-сообщений и аналитика в сервисе рассылки.

С анализом поведения все просто. При запуске приложения с push-оповещения посылаем событие в Flurry, указав тип и текст сообщения. В стандартных отчетах появятся пользователи, открывшие приложение с различных push-сообщений.

С сервисом рассылки история немного сложнее, если вы еще не определились, рекомендую использовать Parse, у него прекрасные отчеты. Если вы делаете свою админку для push-оповещений собирайте следующую статистику:
  • количество отправленных;
  • количество открытий приложения после push сообщения;
  • процент подписавшихся на push среди всех пользователей приложения.

Push-аналитика в сервисе рассылки позволяет проводить a/b тестирование. Например, перед массовой рассылкой делаем тестовую на 20% пользователей, смотрим у какого текста выше конверсия в открытия и рассылаем его оставшимся 80% (спасибо Максиму Ильяхову за идею).

Тепловые карты


Это скорее приятное дополнение, чем необходимый инструмент, бывает полезен для выявления проблем в интерфейсе приложения. Выглядит примерно так.


Я рекомендую сервис Heatma.ps, хотя он стоит денег: $18 для приложений с небольшим количеством пользователей, $90 для приложений с 10 000 активных пользователей в месяц.

Все приложения, что Touch Instinct выпускает с августа по-умолчанию соответствуют этим правилам. И мы обучаем клиентов как всем этим пользоваться.

Очень интересно услышать ваше мнение! Что должно быть из аналитики обязательно? Может быть есть что-то лучше Flurry? Или вы добавляете необычных событий вроде «доскроллил до второго экрана»?


Подписывайтесь на наш хабра-блог (кнопка справа вверху). Каждый четверг интересные статьи о мобильной разработке, маркетинге и бизнесе мобильной студии. Следующая статья (29 августа) «Верстка Android-макетов без боли» практические советы о том как сверстать макет дизайнера под Android, который будет адаптироваться под все разрешения, корректно растягивать элементы и масштабировать шрифты.
Автор: @junk
Touch Instinct
рейтинг 45,46
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Комментарии (28)

  • 0
    Толя, почему ничего не написал про AppAnnie? Не используете?
    • 0
      Countly
    • 0
      не используем, он же только рейтинги из AppStore показывает?
  • –4
    Heatmaps — это круто. Но клики позволят понять не всё, другое дело отслеживать куда посмотрел пользователь. Есть ли сервис eye-tracker+heatmaps?
    • +7
      Вы серьезно предлагаете пользователю лишаться приватности, запускать фронтальную камеру и садить батарею на обработку алгоритмов CV, ради того, что бы очередной менеджер 100500-го клона match3 узнал, что пользователь смотрит в центр экрана?
      • 0
        Я предлагаю технологию для фокус-групп
      • –1
        ЛОЛ)
    • 0
      Есть что-то подобное: lookback.io/
  • +3
    Вот свежак:
    1. heapanalytics.com/ — записывает сразу все экшены, потом делайте с ними что хотите. По любыми срезами.
    2. www.dev-2-dev.com/ — GI сделала коробку на собственном движке, с фирменной озвучкой в FB :) www.facebook.com/pages/Dev2Dev/702078779808639?fref=ts

    Есть ещё одна, очень крутая, круче всех указанных, расскажу на вечеринке в октябре.
    • 0
      Владимир, а ты бы что рекомендовал использовать?
      • –1
        Две части водки, лёд и лимон.
  • 0
    Когда публикуете приложение в Google Play, Amazon App Store и, например, Samsung Apps, то в Flurry используете одно и тоже application? Или на каждый магазин добавляете новое application в Flurry?
    • +1
      на каждый магазин новое

      upd. хотя рано ответил :) На каждую платформу новое, а в другие магазины мы пока не релизили ничего, большинство приложений на российский рынок
  • 0
    А почему никто при приведении Google Analitics в качестве одной из альтернатив не учитывает Measurement Protocol?

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

    Если хабрасообществу тема интересна, могу заняться статьёй по этому протоколу.
    • 0
      думаю, пост будет интересен. Но вот допиливать систему аналитики на простых бизнесовых приложениях никто не будет.
    • 0
      Будет статья по Measurement Protocol?
  • 0
    Можно вопрос о Flurry и трекинге событий? Например, в игре в виртуальный магазин можно попасть различными способами — нажать кнопку «Магазин», нажать кнопку в главном меню «Магазин» или попасть в магазин через разговор с торговцем. Как трекерить это:
    1. На каждый вариант использовать новое событие? Но в Flurry есть ограничение на количество событий.
    или
    2. Использовать одно и то же имя события («Открыл магазин»), но с различным параметром источника перехода («Источник» = «Меню 1», «Меню 2» или «Торговец»)?
    • +1
      нажатие кнопок отдельное событие на каждую (если укладываетесь в лимит)

      открытие экрана другое событие, то есть у вас два события кнопок, один торговец и одно события открытия магазина

      события объединяются в funnels если нужно отслеживать конверсию на типовых сценариях.
  • 0
    Очень пригодится! Спасибо за статью
  • 0
    Вопрос по flurry:
    Скажите, можно ли на использовать срезы в furry?
    Например, я определил событие «пользователь заплатил» и «пользователь залогинился в фейсбук». Могу ли я посмотреть количество заплативших пользователей, которые залогинились в фейсбук?
    UPD: а еще вопрос — если в событии «пользователь заплатил» передавать сумму, которую он заплатил, то смогу ли я, например, узнать, сколько людей заплатило более 10 баксов за прошлый месяц
    • 0
      Для этого можно использовать funnels во Flurry.
      И можно сделать разные фаннелы на разные значения «пользователь заплатил», да.
      • 0
        1) а можно ли funnels создавать по уже существующим данным? он покажет их или нужно ждать накопления статистики?
        2) можно ли как то в этом случае узнать, сколько людей заплатило более 10 баксов за прошлый месяц (если в событии «пользователь заплатил» передавать сумму, которую он заплатил)
    • 0
      да во flurry есть срезы (сегменты), вот подробнее support.flurry.com/index.php?title=Analytics/Overview/Lexicon/Segmentation
      • 0
        а эти срезы показывают значения, которые передаются в событиях? это по поводу второго моего вопроса насчет «сколько людей заплатило более 10 баксов за прошлый месяц»
        • 0
          только что проверил, можно но не >10, а нужно будет указывать конкретные значения

  • 0
    Ни в коем случае не используйте одно событие pageView с параметрами — Т.е., на каждую страницу делать по отдельному событию? Почему пользоваться невозможно?
    • 0
      отвечу картинкой, вот классный отчет из Flurry про пути пользователя в приложении



      То есть ни в одном отчете flurry невозможно понять по каким экранам и в каком порядке ходил пользователь, если пользоваться одним ивентом на каждый экран
  • +3
    Отличная статья.

    Редкий случай, когда статья на хабре на голову обскакивает зарубежные аналоги.

    Отлично, что автор не поленился и взял интервью у людей которые реально пользуются продуктом на проф. уровне
    (в отличии, от it is amazing, installed it yesterday. It is 20% more amazing than the prev. version!) и сравнивают все с альтернативами.

    Спасибо!

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

Самое читаемое Разработка