Этот пост написан Антоном Елфимовым, аналитиком-консультантом. С 2012 года Антон помогает компаниям внедрять и получать инсайты из систем аналитики (Google Analytics, Mixpanel, Amplitude, Appsflyer и т.д.)

Далее повествование ведется от лица Антона.

Один из распространенных вопросов про Amplitude и другие системы продуктовой аналитики следующий: «Я вижу, как в Amplitude можно отслеживать доход или Revenue. Но как мне учесть расходы на привлечение пользователей, чтобы посчитать ROI по каналам»

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

Ниже приведены алгоритмы решения задачи расчета ROI для веб- и мобильных продуктов, а также системы аналитики, которые помогут в ее решении.

Для простоты и наглядности мы рассмотрим способы решения данной задачи на конкретных примерах.

Расчет ROI по каналам для SaaS-сервиса

Обычно при работе над SaaS-сервисом ваша ситуация будет выглядеть следующим образом:

  • Ваш SaaS-сервис монетизируется через продажу платных тарифных планов.
  • У вас есть отдельный лендинг или маркетинговый сайт, на который вы привлекаете платный и бесплатный трафик.
  • На этом сайте есть форма для регистрации.
  • После регистрации пользователь переходит в сам продукт.

В таком случае имеет смысл ставить системы веб-аналитики (Google Analytics или Яндекс Метрика) только на маркетинговую часть сайта, а Amplitude — и на маркетинговую, и на продуктовую часть.

Google Analytics и «Яндекс Метрика» позволят собирать информацию о том, что происходит на маркетинговом сайте.

Amplitude будет отслеживать действия пользователей на маркетинговом сайте (в качестве идентификатора пользователя будут использоваться cookie-файлы), а когда пользователь зарегистрируется или залогинится в продукте, то к его cookie будет добавлен его внутренний user_id.

Использование идентификации пользователей по user id

Далее можно отправлять данные о действиях пользователя в продукте с сервера, указывая этот самый user_id. Такая настройка Amplitude позволит вам в системе аналитики видеть весь путь пользователя по воронке.

Подходы же к использованию Amplitude для расчета ROI каналов привлечения зависят от стадии развития вашего продукта.

Расчет ROI по каналам для SaaS-сервиса на раннем этапе развития

Если у вас мало рекламных кампаний (например, вы только начинаете тестировать каналы привлечения), то можете решать задачу расчета ROI следующим образом:

  • Включить в коде отслеживания Amplitude запись utm-меток;
  • Разметить рекламные ссылки utm-метками, например так;
  • Выгружать данные о расходах на рекламу из рекламных кабинетов;
  • Выгружать данные о доходах по каналам привлечения из Amplitude;
  • Сводить данные о расходах/доходах и считать ROI в Excel/Google Spreadsheets.

В Amplitude вы можете использовать следующие модели атрибуции: FirstClick, LastTouch и MultiTouch.

  • Модель “FirstClick” позволит вам понять откуда впервые пришел пользователь на ваш сайт. Для использования этой модели в Amplitude вам нужно сегментировать отчеты по свойствам пользователя, которые начинаются с initial_utm (initial_utm_source, initial_utm_medium и т.д.)
  • Модель “LastTouch” позволяет вам увидеть источники привлечения пользователя в каждой отдельной сессии. Вы сможете определить, например, откуда пришел пользователь непосредственно перед покупкой, по какому рекламному каналу было последние «касание» пользователя перед покупкой. Для реализации этой модели в Amplitude по умолчанию один раз за сессию записываются пользовательские свойства: utm_source, utm_medium, utm_campaign, utm_term, utm_content, referrer, referring_domain, gclid.
  • Модель “Multi-Touch” активируется в Amplitude если вы установите saveParamsReferrerOncePerSession=false в настройках JavaScript SDK. В таком случае пользовательские свойства атрибуции (utm_source, utm_medium, utm_campaign, utm_term, utm_content, referrer, referring_domain, gclid) будут записываться столько раз, сколько будут встречаться в рамках сессии пользователя. Если честно, то практических кейсов, где использование Multi-Touch атрибуции было бы оправдано, почти нет.

Для правильного отслеживания utm-меток для маркетинговых кампаний необходимо убрать utm-метки из внутренних (ведущих на внутренние страницы сайта) ссылок. Размечать utm-метками нужно только внешние источники трафика. Это позволит вам избежать путницы, при сегментации отчетов в Amplitude.

Если вам нужно отслеживать источники внутренних переходов на сайте, то передавайте в URL свои собственные параметры, например, следующим образом: https://yandex.ru/tune/search/?retpath=https://yandex.ru/?domredir=1&nosync=1.

Для отслеживания переходов с других сайтов (referring sites) включите опцию includeReferrer в коде отслеживания. Подробнее читайте про это в этой статье.

С отслеживанием переходов из поисковых систем в Amplitude беда. Для решения этой задачи можно использовать скрипт SourceBuster, чтобы определять переходы с органической поисковой выдачи и записывать их в свойства пользователя в Amplitude.

Расчет ROI по каналам для SaaS сервиса на этапе масштабирования

Если вы перешли к этапу масштабирования каналов привлечения, то рекламных кампаний станет значительно больше. Использовать Amplitude для расчета ROI быстро станет неудобно, так как для этого нужно с завидной регулярностью выгружать данные из рекламных кабинетов и Amplitude, форматировать их, сводить в единые таблицы в Excel/Google Spreadsheets.

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

Я рекомендую для маркетинговой аналитики использовать связку Google Analytics + OWOX BI + Google Data Studio.

Расчет ROI по каналам для мобильного приложения

Давайте предположим, что ваше мобильное приложение монетизируется через продажу инапов.

Вы запускаете рекламные кампании для увеличения количества установок приложения и хотите оценить ROI по этим рекламным кампаниям.

Для полноценной маркетинговой аналитики нужно использовать системы маркетинговой аналитики, например Appsflyer. В эти сервисы нужно передавать ключевые данные о событиях в приложении (прохождение онбординга, покупки, платежи по подписке).

В интерфейсе систем маркетинговой аналитики вы можете посчитать ROI в разбивке по рекламным каналам и по рекламным кампаниям.

Данные об источниках трафика в системах продуктовой аналитики

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

Но считать ROI внутри Amplitude не стоит. Важно понимать, что Amplitude — это инструмент продуктовой, а не маркетинговой аналитики.

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

Для передачи данных об источниках установок в Amplitude вам надо настроить интеграцию с одним из сервисов маркетинговой аналитики и атрибуции из каталога интеграций (Appsflyer, Adjust, Branch и другие).

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

После настройки интеграции данные об источниках установок приложения будут приходить в Amplitude и записываться в специальные свойства пользователя. Далее вы сможете создать отчет “Revenue LTV“ и посмотреть доходы приложения в разрезе рекламных кампаний.

Вот ссылки на инструкции по интеграции Amplitude с популярными системами:

Проблема добавления информации об источнике трафика в Amplitude

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

Из-за этого возникает сложность строить отчеты по воронке, где первым шагом хочется выбрать “New user”, так как на момент отправки этого события данные об источнике пользователя в Amplitude еще не попадут.

Для решения этой проблемы вам будет нужно выгрузить список пользователей с нужных этапов воронки и сделать анализ воронки в Excel/Google Spreadsheets.

Есть альтернативный способ отправки данных об источниках установок в Amplitude, который решает описанную проблему. Используя коллбек в SDK, вы можете получить данные об источнике трафика из Appsflyer внутри самого приложения, а потом добавить их ко всем событиями, которые будут отправлены в Amplitude.

Важно понимать, что данные по коллбеку придут не моментально, а с задержкой, поэтому на клиенте вам нужно будет накапливать очередь событий и лишь после получения данных от AppsFlyer отправлять накопленные события в Amplitude, добавив ко всем событиям данные про источник трафика. Настраивать прямую интеграцию Appsflyer и Amplitude в таком случае не нужно.

У вас есть еще вопросы про настройку систем аналитики?

Данная статья является частью постоянно обновляющегося материала с популярными вопросами и ответами про настройку и выбор систем аналитики.