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

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

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

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

1Терминология

  • in-app event: любое событие, инициированное пользователем приложения
  • revenue event: любое событие, инициированное пользователем приложения и содержащее сумму выручки
  • CPA: стоимость действия - общий термин, обозначающий модель вознаграждения рекламной сети за определенное действие привлеченного пользователя
  • conversion chain: ряд конверсионных событий, которые пользователь может вызвать в приложении, начиная от клика до покупки
  • callback: HTTP запрос от одного сервера к другому с целью передачи данных
  • API: интерфейс для передачи данных

2Лучшая практика: Просмотр конверсий через отслеживание событий

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

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

Если ваша цель рост виральных установок приложения, для вас самыми важными событиями могут быть приглашения нового пользователя в приложение и их социальная вовлеченность. Отправление сообщения или нажатие кнопки «share» отличные события для этого, и вам также необходимо отслеживать, когда происходят эти события, чтобы понимать, что может увеличить виральность вашего приложения.

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

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

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

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

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

3Лучшая практика: Анализирование особенностей приложения с помощью отслеживания событий

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

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

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

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

4Лучшая практика: Общие события для покупок по системе CPA

Переход на покупку траффика по модели cost-per-action позволит сузить таргетинг и делать оптимизацию по определенным целям, выставленным для вашего приложения, тем самым улучшая конверсию и уменьшая ваши бизнес-риски. Для этого вам необходимо хорошо отлаженное отслеживание событий, на которое смогут положиться ваши партнеры.

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

Детальное изучение conversion chain может стать очень затруднительным. Зачастую такие важные события, как покупка, виральные приглашения и т.п., могут встречаться слишком редко, чтобы делать прямую оптимизацию по ним. Если данные, по которым вы оптимизируете, встречается только в небольших группах, статистически очень мало вероятно, что вы двигаетесь в правильном направлении. Если события происходят через неделю или две после оптимизации, это значит, что данные доходят не достаточно быстро.

Многие наши клиенты используют так называемы ранние события в conversion chain или подсобытия. К примеру, событие «Добавить в корзину» это подсобытие к покупке: оно происходит раньше и чаще, чем покупка. Поэтому действия, которые вызывают событие «Добавить в корзину» – это хороший источник для монетизации пользователей. Ваши данные должны приходить быстро и в большом количество, чтобы вы могли принимать решения на их основе.

5Рекомендации: Отслеживание покупок и выручки

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

Покупки могут быть отслежены стандартными General Revenue Events, даже если они закреплены за определенными событиями в приложении. Если вы отслеживаете простые события покупки, которые мало друг от друга отличаются, вам будет легче работать с General Revenue Events, в котором вы отправляете выручку в SDK без обозначения определенного маркера события. Имейте в виду, что General Revenue Events не являются точками конверсий и не будут вызывать соответствующие постбэки. Этим удобно пользоваться для отчетов, но не для покупки через CPA модель.

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

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

5.1Удаление дубликатов покупок

Покупки тесно связаны с сторонними системами, которые обрабатывают платежи и переводят оплату от пользователя. Для iOS, используется специальный фреймворк Store Kit, для выполнения этих функций. Для Android существует функциональность, связанная с магазином Google Play или сторонними сервисами, например, PayPal.

Также принято присоединять отслеживание adjust с постбэками или подтверждением событий, отправляемых библиотекой. Важно продумать как подобная библиотека будет отсылать подтверждение. К примеру, фреймворк Store Kit будет отправлять несколько подтверждений для той же покупки с одним ID транзакции. Это делается для того, чтобы событие покупки было доставлено, но это не оптимальный вариант для отслеживания.

Если вы присоедините отслеживание к таким повторяющимся событиям, вы сгенерируете дублированное отслеживание, которое повлечет за собой некорректные данные. К счастью, вы можете отсылать ID транзакций из Store Kit в iOS SDK, и мы удалим дубли локально до того, как они будут отправлены. Прочитайте последний readme для того, чтобы быть в курсе всех деталей.

5.2Отслеживание выручки в разной валюте

Если ваша клиентская база состоит из пользователей из разных стран мира, вам возможно будет необходимо отслеживать выручку в разной валюте. Для целей отслеживания и анализа вам нужно понимать, как собирать выручку, приходящую из разных источников. Для маркетинга в основном необходим общий анализ, для него зачастую важно сделать грубый расчет, используя фиксированный курс, вместо того, чтобы работать с каждой валютой отдельно по текущему курсу Форекс. Ваше приложение должно отправлять EUR нашему SDK, пересчитав на нужный курс заранее.

Контрольная панель adjust не отображает какую-то конкретную валюту и не имеет конкретной логики для валюты. По умолчанию она показывает EUR. В документации и readme мы определяем валюту как EUR, но вы можете отслеживать USD или любую другую валюту. Вам необходимо отслеживать одну и ту же валюту как в контрольной панели, так и в отчетах.

Для покупок в iOS SDK adjust предоставляет возможность перевести фиксированную цену Apple к необходимой валюте, используя AEPriceMatrix. Это означает, что все покупки могут быть переведены в EUR цены и отображены в EUR без каких-либо других пересчетов.

6Рекомендации: Отслеживание событий на стороне сервера

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

Для работы с событиями через сервер-сервер, ваш сервер должен собирать IDFA устройств, окруженное знаками вопроса и проставленным местными временем. Также вам необходимо передать правильный token приложения и события. Постбэки с вашего сервера должны приходить синхронно с временим события.

Существует 2 адреса, на которые можно отправлять события и выручку:

https://app.adjust.com/revenue  (выручка)
https://app.adjust.com/event    (все другие события)

Обязательные параметры

Параметр Контент
app_token adjust app token из контрольной панели
event_token adjust event token из контрольной панели
s2s должна быть 1
created_at местное время Устройства, включая часовой пояс

Также необходимо присылать ID устройства в любом из форматов ниже:

Параметр Контент
idfa iOS ID для Рекламодателя
mac MAC address устройства (с и без двоеточий, с большой и маленькой буквы)
mac_md5 MD5 of MAC, хешированом виде, с большой буквы и без двоеточий
mac_sha1 SHA1 of MAC, с большой буквы и с двоеточиями
android_id Android ID

Для отслеживания выручки, вы должны указывать параметры выручки и выборочно указывать окружение (к примеру, настройка sandbox для тестирования):

Параметр Контент
amount евро-центы (990 == 0.99$)
environment Окружение, к которому будут приписываться данные “sandbox” или “production”. Если не указано окружение, данные будут отправлены в окружение production.

7Рекомендации: Передача дополнительных данных с произвольным параметрами

adjust может отправлять произвольные данные по определенным событиям на ваш сервер как для трекинга, так и для последующей обработки. Вы можете использовать SDK adjust для отправки дополнительных параметров на каждый вызов, к примеру, ID пользователя, номер покупки, категория продукта и так далее. В каждом SDK readme вы можете найти детальное описание как эти параметры могут быть добавлены к вызову.

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

Для более детальной информации как использовать постбэки для передачи дополнительных параметров и о некоторых примерах этого, ознакомьтесь с нашим гайдом Working with Callbacks.