Множество компаний держит сайт и мобильное приложение, измеряет их двумя разными инструментами и обнаруживает, что эти двое ни в чём никогда не сходятся. Обычный ответ — брать то число, которое поддерживает ведущийся спор. Вот что на самом деле идёт не так и что должно быть верно об инструменте, чтобы он покрыл оба и при этом вам не соврал.
Четыре вещи, которые действительно отличаются
Соблазнительно считать приложение сайтом с браузером похуже. Это предположение ломают четыре различия, и у любого инструмента, измеряющего оба, должен быть ответ на каждое.
Нет URL. У сайта есть адрес страницы, который заодно служит именем, иерархией и способом группировать. У приложения есть экраны, чьи имена выбираете вы и можете менять. Единообразие ничем не поддерживается, поэтому Checkout, checkout и CheckoutViewController оказываются тремя экранами в одном отчёте.
Нет загрузки страницы. В вебе переход — очевидное наблюдаемое событие, о котором объявляет браузер. В приложении переход между экранами — вызов функции. Если его ничто не размечает, ничего не записывается и никакой ошибки не возникает.
Сеть ненадёжна. Вкладка браузера обычно в сети. Приложение регулярно нет: туннель, самолёт, мёртвая зона. События приходится ставить в очередь на устройстве и слать позже, а значит, инструмент, считающий порядок прихода порядком времени, перепутает их местами, а тот, кто не подозревает, что событие лежало в очереди, поставит ему неверную отметку времени.
Сессии заканчиваются по-разному. Веб-сессия истекает после периода бездействия, обычно через тридцать минут. Приложение уходит в фон и может пролежать там днями, вернувшись на передний план с всё ещё живым процессом. Наивное правило сессии отчитается одной сессией длиной в четыре дня.
Что должно означать «в одном месте» и что обычно означает
Большинство инструментов, рекламирующих оба, делает одну из двух вещей, и разница важнее, чем подсказывает реклама.
Первое — общая панель поверх двух совершенно раздельных наборов данных. Вы получаете один вход. Одного числа вы не получаете, потому что две стороны считают разное и ничто их не примиряет.
Второе — один набор данных со столбцом платформы, чтобы отчёт можно было отфильтровать или разделить. Обычно люди думают, что покупают именно это.
Есть и третье устройство, и назвать его стоит прямо, потому что именно оно вызывает споры: приложение и сайт — действительно разные вещи, и запихивание их в одну сущность даёт отчёты, где ни то ни другое не верно. Просмотр экрана — не просмотр страницы. У приложения есть версии, а у сайта нет. Приложение падает, сайт возвращает 500.
Полезное устройство таково: это отдельные сущности со своими идентификаторами, измеряемые одним продуктом, показываемые в одном интерфейсе и оплачиваемые с одного аккаунта. На каждое можно посмотреть, чтобы форма другого в него не затекала, и можно посмотреть на оба.
Вопросы, которые стоит задать поставщику
- Как SDK ведёт себя без сети? Конкретно: ставит ли в очередь, сколько событий, что происходит при заполнении очереди и сохраняет ли он исходную отметку времени вместо времени отправки?
- Что происходит с испорченным событием? SDK, вечно переотправляющий окончательно отклонённое событие, — это проблема с батареей и трафиком у ваших пользователей. Правильное поведение — отбросить и посчитать отброшенное.
- Версионирован ли формат передачи? Приложения не обновляются за день. Какая-то доля ваших пользователей будет на сборке годичной давности, и сервер обязан продолжать принимать то, что шлёт эта сборка.
- Как решается имя экрана? Если ответ «то, что вы передадите», спросите, что инструментарий делает для его единообразия.
- Каково правило сессии после ухода в фон? Конкретное число, а не «мы это обрабатываем».
Третий вопрос ловит больше настоящих проблем, чем все остальные вместе, и именно его никто не задаёт. Веб-трекер можно поменять правкой страницы, и он работает в тот же день. SDK приложения выходит, когда выходит приложение, принимается неделями или месяцами и никогда не доходит до всех. Сломать формат, который шлют ваши старые сборки, — не та ошибка, которую можно исправить срочным выпуском; это парк установок, которые перестают отчитываться.
Где здесь Skomi
Skomi относится к отслеживаемому приложению как к своей сущности со своим пространством ключей, стоящей рядом с сайтами, а не внутри них. Отчёты живут в том же аккаунте, и ходят по ним так же, но приложение никогда не описывается как сайт, а его экраны никогда не называются страницами.
Есть SDK для распространённых платформ, и формат передачи, на котором они говорят, версионирован и заморожен, именно потому, что старую сборку нельзя починить удалённо. Страница App Analytics рассказывает, что измеряется и какие платформы поддерживаются.
Кредиты общие на всё, что есть на аккаунте (на сайты и приложения одинаково), поэтому добавить приложение это не вторая подписка. Арифметика есть на странице цен.
Две половины сохраняют свой словарь там, где различаются: у сайта просмотры страниц, у приложения просмотры экранов, и делят то окно сессии, которое делает их сопоставимыми.