Называйте ID элементов так, чтобы аналитика их понимала
SDK Adapty сообщает вашему приложению о каждом просмотре экрана и каждом ответе пользователя. Каждое событие содержит ID экрана или элемента, из которого оно пришло, и именно эти ID отображаются в вашей аналитике. По умолчанию ID экрана выглядит как scr_oAPBHPa7, поэтому воронка в Amplitude или Mixpanel превращается в столбец кодов, и кому-то приходится вручную поддерживать таблицу соответствия кодов и названий.
Вы можете задать эти ID самостоятельно. Инпуты и группы выбора называются в Flow Builder. ID экранов задаются через скилл flow-generator, который переименовывает экран везде, где на него ссылается флоу.
Переименование экранов входит в скилл flow-generator, поэтому ничего дополнительно устанавливать не нужно — следуйте инструкции по установке flow-generator, и он уже доступен. Скилл сохраняет изменения во флоу прямо в вашем дашборде, поэтому сначала запустите его на черновике и проверьте результат в Flow Builder, прежде чем публиковать.
Для чего это нужно
- Воронка, которую понимает вся команда: Последовательность
welcome → signup → paywallговорит сама за себя. Три сгенерированных кода — нет. - Единый словарь для всех инструментов: Каждое событие, которое приложение передаёт дальше, называет экран одинаково — воронка, когорта и фильтр дашборда совпадают без таблицы соответствий.
- Данные, по которым можно делать запросы: Вариант квиза с названием
beginner— это значение, которое аналитик может отфильтровать. Сгенерированный ID сначала нужно расшифровать.
Какие ID видит ваша аналитика
Два события несут ID. flow_screen_showed срабатывает, когда пользователь открывает экран, а flow_user_input — когда заполняет поле ввода, выбирает ответ в квизе или переключает тогл. Каждый гайд описывает все параметры своего события. В этой таблице приведены только те параметры, которые идентифицируют экран или элемент.
| Параметр события | Что содержит | Где задаётся |
|---|---|---|
instanceId | ID экрана | Скилл flow-generator |
element_id | Element ID поля ввода или Group ID группы с выбором | Flow Builder |
item_ids | Element IDs выбранных вариантов | Flow Builder |
Названия инпутов и вариантов квиза
У инпутов и групп с выбором есть поля ID в конструкторе. Element ID инпута находится в Input settings — это тот же ID, который используется для ссылки на значение в других частях флоу (см. Инпуты и формы). Group ID группы задаётся в Screen settings > Selectable groups, а каждый вариант внутри группы получает свой Element ID.
Давайте каждому из них осмысленное название, потому что именно эта строка будет отображаться в вашей аналитике. birthday и beginner говорят сами за себя. el_024F потребует расшифровки.
Задавайте ID элемента сразу при его добавлении, а не позже. Условия и текстовые переменные ссылаются на Element ID, и при смене ID они перестают работать — без каких-либо ошибок. Если нужно переименовать ID во флоу, которое уже работает, обновите все условия и переменные, которые его используют. Подробнее: Условия и переменные перестают работать после изменения Element ID.
Скилл flow-generator автоматически задаёт имена для любого флоу, которое он строит. Скилл flow-audit сообщает о тех, что не заданы.
Переименование экранов
В Flow Builder нет отдельного поля для ID экрана, поэтому попросите скилл:
Give the screens in my onboarding flow readable IDs.
Скилл предложит имя для каждого экрана, а затем переименует его везде, где на него ссылается флоу, — в самом экране, во всех навигационных действиях, ведущих к нему, и в привязанных продуктах. Все изменения вносятся одновременно: экран, переименованный в одном месте и не переименованный в другом, сделает флоу нерабочим.
Команда сообщает, какие именно имена были изменены и сколько ссылок перемещено, и не выполнит переименование, если оно приведёт к конфликту с уже существующим экраном. ID экрана можно безопасно переименовать во флоу, который уже работает, — в отличие от Element ID: скилл перемещает вместе с ним все ссылки.
Что проверить
- Переименовывайте до запуска флоу: события, уже собранные под старым ID, не переименуются. Воронка, охватывающая момент изменения, покажет два полузаполненных экрана, а возврат к старому названию не объединит их. Метрики флоу в Adapty разделятся аналогично, поскольку строки экранов группируются по ID — переименованный экран получит вторую строку с тем же подписью, что и первая.
- У каждого варианта в группе должен быть свой Element ID: если у варианта нет ID, если два варианта используют один и тот же ID или если Group ID повторяется на другом экране — вся группа не передаёт никаких данных, не только этот вариант. Билдер никак не сигнализирует об этом, поэтому проверяйте группу каждый раз, когда добавляете в неё вариант.
- ID попадают в аналитику ровно так, как введены: выберите один стиль — например,
plan_selectionилиplanSelection— и придерживайтесь его во всём флоу. Смешанные стили сложнее запрашивать, чем любые сгенерированные коды.
Ограничения
- ID экранов переименовываются только через скилл: в Flow Builder для них нет отдельного поля.
- Метрики флоу Adapty не отображают эти имена: Метрики флоу обозначают экран как
<position>. <caption>из опубликованной версии флоу, поэтому там всегда будет, например,9. Paywall A— независимо от ID экрана. Заданные ID видны только в вашей собственной аналитике. - Переименование не переносит историю: старые события сохраняют прежний ID.
- Некоторые элементы не отправляют события ввода: поля для паролей, выбор продукта и переключение вкладок не фиксируются. Присвоение им имени влияет на флоу, но не на вашу аналитику.