Вкратце: Записывайте внутренние события после установки (например, вход в систему, регистрация или покупка внутри приложения), приписываемые медиаисточникам и кампаниям.
Зачем необходимо записывать внутренние события?
Внутренние события предоставляют представление о том, что происходит в вашем приложении, и являются идеальным инструментом для определения ценности, значения пользователей приложения и качества трафика из различных медиаисточников. Запись внутренних событий помогает измерять такие ключевые показатели эффективности, как ROI (окупаемость инвестиций) и LTV (пожизненная ценность пользователя).
Когда пользователи регистрируются, проходят обучение, добавляют товары в корзину или совершают покупки, данные о внутренних событиях могут фиксировать такие события с деталями. Реализация внутренних событий обязательна для всех целей анализа после установки.
О внутренних событиях
Внутреннее событие приложения включает в себя название события и может содержать параметры события. Когда вы добавляете параметры события к внутреннему событию приложения, они называются внутренними событиями приложения. Параметры события предоставляют больше контекста и информации о происходящем событии. Например, важно знать, что пользователь сделал бронирование, но параметры события могут предоставить вам такие детали, как тип покупки, пункт назначения и выручка.
Совет
Хотите узнать больше о внутренних событиях? Ознакомьтесь с этим коротким информативным курсом на учебном портале AppsFlyer.
Предопределенные и пользовательские события
Внутренние события, которые вы хотите отправлять, требуют внедрения кода вашим разработчиком, где это применимо, в вашем приложении. Названия событий и параметры событий классифицируются следующим образом:
-
Предопределенные: Это названия событий и параметры событий, которые обычно используются в различных приложениях. Мы настоятельно рекомендуем использовать предопределенные имена событий и параметры событий как можно чаще по следующим причинам:
- Предопределенное именование позволяет автоматически сопоставлять события с Партнерами.
- Если AppsFlyer решит изменить название события или параметра, ваша реализация останется обратно совместимой.
- Пользовательский: Это названия событий и параметры, которые вы определяете для конкретных сценариев использования вашим пользователем в приложении. Вы можете использовать любую строку с названием пользовательского события или параметра, но имейте в виду, что для пользовательских событий требуется поддержка со стороны вашего разработчика. Смотрите Советы и Ограничения.
Доход от внутренних событий приложения
В разделах ниже описывается, как отправлять события доходов в AppsFlyer и сопоставлять параметры, которые эти события содержат. Тем не менее, важно отметить, что подписка ROI360 позволяет получать самые точные и актуальные данные о затратах и доходах (включая данные о доходах от покупок в приложении, подписок и рекламы). Подробнее о ROI360
Доход от события
Каждый раз, когда вы отправляете события в приложении, такие как покупка или бронирование
перелета,
вы отправляете их с соответствующей выручкой. Единственным параметром,
несущим выручку в событиях в приложении, является af_revenue
Вы также можете записывать отрицательную выручку, если пользователь отменяет
покупку
или если вы возвращаете деньги. Чтобы записать отрицательную выручку, вам необходимо
просто
добавить знак минус (-) к значению выручки, которое
вы
передаете в af_revenue
af_revenue — это единственный параметр, который накапливает выручку ваших пользователей. Всегда используйте его с событиями в приложении, представляющими фактическое получение выручки в вашей бизнес-логике.
af_revenue также может иметь отрицательные значения выручки, если вам нужно регистрировать события, такие как отмены сделок или возвраты.
Значение выручки должно содержать только цифры (и десятичную точку, если необходимо):
- Не включайте другие символы или форматируйте значение выручки каким-либо иным способом. Это значит, что никаких запятых, знаков валюты (например, $), специальных символов или текста.
- AppsFlyer предоставляет значение выручки с точностью до пяти знаков после запятой.
- Диапазон этого значения должен быть от -1 000 000 до 1 000 000 в долларах или эквивалентной сумме в исходной валюте. Ценности, значения вне этого диапазона включаются в отчеты о необработанных данных, но не в сводные отчеты.
- Пример: 1234.56
- Когда выручка отправлена в виде строки, значение в кавычках отметки должны быть действительными. Например: «1234,56».
Примечание:
- AppsFlyer отображает точную выручку, отправленную из SDK. Это не включает расчеты НДС или комиссии магазинов приложений, и др., если только они не были учтены разработчиком в SDK до отправки в AppsFlyer.
af_currency представляет валюту, которая указана в af_revenue (или af_price). Если af_currency отсутствует в параметрах события, AppsFlyer отправляет его со значением по умолчанию «USD».
Вы можете использовать af_price как денежный параметр, который не считается выручкой (например, в событии "Добавить в корзину"). Этот параметр относится к цене отдельного товара. Общая сумма всех покупок отображается под параметром af_revenue.
Прогнозируемая выручка
Рекламодатели используют прогнозируемую выручку для оптимизации своих кампаний на ранних этапах жизненного цикла пользователя, прогнозируя потенциальную ценность для пользователя. Прогнозируемая выручка рассчитывается на основе предыдущих взаимодействий и поведения пользователя. Примечание: Свяжитесь с поддержкой AppsFlyer, чтобы узнать, поддерживается ли вашей рекламной сетью прогнозируемая выручка.
Как следует сообщать о прогнозируемой выручке в AppsFlyer?
При отчетности о прогнозируемой выручке в AppsFlyer её необходимо отправлять в события отдельно от тех, которые содержат фактическую выручку. Рекламодатели должны обеспечить, чтобы:
- События с фактической выручкой и события с прогнозируемой выручкой рассматривались и сообщаются как отдельные события.
-
Прогнозируемая выручка включена в значение события,
например,
пример:
"event_value": { "af_projected_revenue": 0.79 }
Прогнозируемая выручка в дэшборде AppsFlyer и отчетах
- Прогнозируемая выручка не включена в общие расчёты выручки или метрики, отображаемые на дэшборде AppsFlyer. Это гарантирует, что дэшборд отражает только реальную, заработанную выручку.
- В необработанных данных прогнозируемая выручка не указана в отдельном поле, но доступна в рамках значения события, которое содержит сумму выручки, отправленную рекламодателем.
Отправлять постбэки прогнозируемой выручки
Чтобы узнать, как отправлять прогнозируемую выручку в рекламные сети, см. Поделитесь проектной выручкой.
Валюта выручки
Важно понимать, как AppsFlyer обрабатывает настройки валюты и конвертацию валют.
AppsFlyer обрабатывает разницу между валютой настроек приложения и и валютой внутреннего события приложения с использованием конверсии валют.
На диаграмме выше показан следующий процесс:
- События в приложении отправляются — для каждого события используется разная валюта.
- AppsFlyer нормализует все валюты до доллара США.
- AppsFlyer обрабатывает данные о выручке.
- Данные о выручке отображаются в дэшборде в соответствии с настройками приложения. знаков валюты
- AppsFlyer заполняет данные о выручке в отчетах о необработанных данных как в валюте событий, так и приложений. валюта событий и приложений.
AppsFlyer использует Открытые курсы валют для конвертации валют. Курсы обновляются ежечасно. основа. Каждый раз, когда AppsFlyer выполняет конвертацию валют, используется последний обновленный обменный курс.
Конвертация валюты
Пример
В настройках приложения вы выбрали валюту GBP. Пользователь из Франции покупает товар через ваше приложение. Цена указана в евро. (€). Событие в приложении, которое вы отправляете в AppsFlyer, выглядит так: этим образом:
Map<String, Object> eventValue = new HashMap<String, Object>(); eventValue.put(AFInAppEventParameterName.REVENUE,200); eventValue.put(AFInAppEventParameterName.CONTENT_TYPE,"category_a"); eventValue.put(AFInAppEventParameterName.CONTENT_ID,"1234567"); eventValue.put(AFInAppEventParameterName.CURRENCY,"EUR"); AppsFlyerLib.getInstance().trackEvent(getApplicationContext() , AFInAppEventType.PURCHASE , eventValue);
В этом случае AppsFlyer конвертирует выручку из евро в доллары США, и а затем в фунты стерлингов. Предположим, обменный курс составляет 1 евро = 1,13 доллара. Таким образом, 200 евро превращаются в 226,85 долларов. Затем AppsFlyer конвертирует доллары США в GBP. Предположим, что курс обмена составляет 1 доллар США = 0,78 фунта стерлингов. Таким образом, $226.85 превращается в £176.92.
Отображение валюты
Валюта задается в настройках приложения. Валюта, которую вы устанавливаете в настройках приложения, является валютой, который которая отображается на дэшборде. Неважно, в какой валюте вы отправляете внутренние события, выручка на дэшборде всегда отображается в валюте, которую вы установили в настройках приложения.
Пример
Предположим, вы отправляете события с другими валютами, чем та, которая установлена в настройках приложения, или без указания валюты вообще. Совсем. В этом примере в настройках приложения валюта установлена на GBP.
Вы отправляете три события в приложении в AppsFlyer.
- Событие A имеет выручку 234 и GBP как валюту.
- Событие B имеет выручку 171 и EUR как валюту.
- Событие C имеет выручку 171, но валюта не указана
Данные о выручке на дэшборде
Выручка, отображаемая на дэшборде — это конвертированная ценность, значение из валюты внутреннего события в доллары США, а затем в валюту настроек приложения.
Если в событии не указана валюта, AppsFlyer по умолчанию использует доллары США. Дэшборд отображает события и выручку следующим образом:
Внутренние события | Уникальные пользователи | Количество действий | Выручка |
---|---|---|---|
A | 1 | 1 | £234 |
B | 1 | 1 | £149.4 — конвертировано из EUR в USD, а затем в GBP. |
C | 1 | 1 | £132.9 — по умолчанию использует USD, так как валюта не указана. Конвертировано прямо из USD в GBP. Конвертировано напрямую из доллара США в фунт стерлингов. |
Данные о выручке в Отчете о необработанных данных отчеты
Если вы установите в приложении валюту GBP в настройках, но отправляете события с другими валютами, в Отчете о необработанных данных показывает выручку как в валюте настроек приложения, так и в валюте событий в приложении.
Если вы установите в приложении валюту GBP в настройках, но отправлять события без указания валюты, Отчет о необработанных данных показывает выручку как в валюте настроек приложения, так и в долларах США.
Отчет о необработанных данных событий в приложении отображает событие и выручку следующим образом:
Событие | Выручка от события | Валюта выручки от события | Выручка от события в фунтах стерлингов |
---|---|---|---|
A | 234 | GBP | 234 |
B | 171 | евро. | 149.4 — конвертировано из евро в доллары США, а затем в фунты стерлингов. |
C | 171 | USD | 132.9 по умолчанию использует USD, поскольку валюта не указана. Конвертировано напрямую из доллара США в фунт стерлингов. |
Отправка событий
Существует несколько способов отправить внутренние события в AppsFlyer:
- AppsFlyer SDK (пакет средств разработки ПО): Это наиболее распространенный способ отправки событий. Вы можете отправлять события в приложении, которые фиксируют действия пользователя в приложении, используя API событий в приложении AppsFlyer на уровне SDK (пакета средств разработки ПО).
- API сервер-сервер: Используйте API сервер-сервер для отправки событий, происходящих вне мобильного приложения, напрямую в AppsFlyer. Например, если у вас есть пользователь, который активен как в веб-, так и в мобильном интерфейсе, вы можете фиксировать события из обоих источников и приписывать их одному и тому же пользователю в AppsFlyer. Это может быть как внутреннее событие, так и другие события, такие как события на веб-сайте, события в колл-центре или покупки в вашем физическом магазине.
- Проверка получения: Это безопасный механизм, в котором платежная платформа, такая как Apple или Google, проверяет, что внутренняя покупка действительно совершена, как это сообщается. Проверка покупок является основным инструментом для предотвращения мошеннических событий по выручке. Это также помогает вам видеть реальную выручку и отфильтровывать незавершенные покупки внутри приложения.
- Гибридные приложения: Эти приложения сочетают в себе нативные представления и HTML-контент и могут также фиксировать события в приложении. Однако, поскольку SDK (пакет средств разработки ПО) может отправлять события только с нативной стороны, разработчикам приходится пересылать все данные событий в нативный код.
Настройка событий в приложении
Процесс настройки событий в приложении требует совместной работы маркетолога и разработчика следующим образом:
Шаг | Роль | Задача | Подробности |
---|---|---|---|
1 | Маркетолог | Определите, какие события в приложении вы хотите измерять. Определите и сообщите имена событий и параметры событий своему разработчику. |
Рекомендуется начать с 3-5 событий для использования в качестве KPI для измерения качества ваших пользователей (например, покупки, регистрации и публикации). Параметры события являются необязательными, и они могут использоваться с любым названием события. См. Рекомендуемые события по отраслевым вертикалям для типичных событий в приложении. |
2 | Разработчик | Внедрите код в приложение, где это необходимо. | Документация для разработчиков находится здесь. |
3 [Необязательно] | Маркетолог | Работайте с разработчиком, чтобы настроить поле идентификатора пользователя клиента (CUID). | Это поле помогает обогатить данные о внутренние события путем межссылки данные атрибуции AppsFlyer с другими вашими данными, используя CUID как ключ. |
4 [Необязательно] | Маркетолог | Сопоставьте события с соответствующими Партнерами на дэшборде. | Это непрерывная задача, зависящая от Партнеров, с которыми вы интегрируетесь. |
Определение внутреннего события приложения
После того как вы определите, какие in-app события вы хотите измерять, использовать наш Генератор внутренних событий приложения, чтобы задать события и параметры следующим образом:
- Выберите название события, наиболее подходящее для сценария, который вы хотите зафиксировать.
- Выберите параметры события, которые вы хотите связать с событием. Выберите параметры, которые предоставят дополнительный контекст событию и обогатят данные.
- Загрузка готового файла из генератора внутренних событий приложения, а затем поделитесь им с разработчиком.
Пример
Маркетолог Приложения для электронной коммерции хочет зафиксировать тип контента, который просматривают пользователи, чтобы лучше понять, какие категории наиболее популярны, и связать просмотры продуктов с их продажами.
Следующая таблица демонстрирует пример структуры события, которую маркетолог передает разработчику:
Имя события | Параметры события | Ценности, значения параметров | Когда запускается событие? |
---|---|---|---|
af_content_view | af_price | Цена Продукта | Когда пользователь просматривает страницу с деталями определенного Продукта |
af_content_type | Название категории Продукта, например, обувь | ||
af_content_id | Идентификатор Продукта, например, SKU |
Рекомендуемые события по бизнес-вертикалям
Следующая таблица содержит ссылки на статьи, которые включают примеры и схемы типичных внутренних событий, которые мы рекомендуем регистрировать по вертикали.
Просмотр данных о событиях в приложении
События в приложении атрибутируются медиа-источнику, ответственному за установку, на протяжении всего жизненного цикла пользователя. Данные о событиях представлены как Пожизненная ценность (LTV) или данные об активности.
Вы можете просмотреть данные о событиях в приложении в следующих случаях:
- Обзорная страница Дэшборда: Отображает реальную эффективность привлечения пользователей (UA) и LTV. Примечание: Это включает выручку, разделенную между органическими и неорганическими пользователями, зарегистрированную через события в приложении, а также выручку от ретаргетинга, который учитывается дважды.
- Страница событий: Отображает эффективность LTV in-app события через медиа-источники.
- Страница активности: Отображает внутренние активности за выбранный диапазон дат.
-
Отчет о внутренних событиях приложения с необработанными данными: Отображает данные об активности, то есть хронологический список действий, выполненных всей вашей пользовательской базой. В этот отчет включены ценности, значения параметров событий, например:
{ "af_level":"10", "af_score":"3387", "arena":"7", "char_type":"paladin" }
Обратите внимание, что отчетность по сырым данным является премиум-функцией.
Примечание
Значения параметров внутренних событий приложения доступны исключительно в отчетах по сырым данным о внутренних событиях приложения. Они не отображаются на обзорном дэшборде, дэшбордах событий и активности, а также в отчетах по агрегированным данным.
Советы
При определении названий и параметров событий в приложении держите в уме следующее:
- Для обеспечения согласованности данных в отчетности по необработанным данным мы рекомендуем определять и использовать одинаковые названия и структуры внутренних событий приложения на всех платформах.
- Используйте минимальное количество событий, чтобы было проще сравнивать качество пользователей, приходящих из разных источников.
- Важно обеспечить конфиденциальность ваших пользователей. Не заполняйте ценности, значения внутренних событий приложения данными, которые могут напрямую их идентифицировать. Например, адрес электронной почты, имя, идентификационный номер, а в некоторых местах — почтовый индекс. Для получения дополнительной информации об ограниченных данных ознакомьтесь с Политикой конфиденциальности услуг.
- Обратите внимание, что AppsFlyer включает IP адрес устройств во время взаимодействий. В некоторых юрисдикциях или сценариях использования IP адрес может рассматриваться как персональная информация. Мы используем IP адрес для определения общего географического местоположения (уровень города, района) устройства, но не конкретного адреса. При необходимости вы можете маскировать IP адреса, чтобы они не отображались в Отчетах о необработанных данных.
- Единственным источником данных о выручке в AppsFlyer являются in-app события. Вы можете присвоить каждому событию определенное значение выручки и просмотреть его на Дэшборде вашего приложения. Узнать больше о параметрах монетизации. altrevenue_data.pngalt
Ограничения
При определении названий и параметров событий в приложении держите в уме следующее:
- Для названий внутренних событий приложения мы рекомендуем использовать только строчные буквенно-цифровые символы (a-z и 0-9). Названия событий чувствительны к регистру, то есть af_purchase и af_PURCHASE – это два разных события в сырых данных. Однако в сводных отчетах и дэшбордах (например, обзорном или для событий) разрешены только строчные буквы, и поэтому они могут отображаться как одно событие.
- Ограничение на количество уникальных событий составляет 300 в день. Узнать больше
- Уникальные пользователи учитываются только для первых 100 событий после установки приложения.
- Имена событий не могут начинаться с этих символов: " = + -
- Значения событий не должны содержать символ +, за исключением случаев в закодированных URL-адресах или кодированных в соответствии с ASCII.
- Имена событий не могут содержать пустых пробелов. Вы можете использовать подчеркивания (нижние тире) до или после названия события.
- Значения событий не должны превышать 2000 символов, чтобы избежать их сокращения в отчетах о необработанных данных. Однако, если событие поступает из SDK (пакет средств разработки ПО), рекомендуется ограничить его длину до 1000 символов, чтобы гарантировать, что нагрузка не будет урезана при отправке в HTTP-запросе.
- Если вы указываете ссылающийся URL-адрес в качестве значения события, он должен быть закодирован в URL.
- Медиа-реклама имеет некоторые ограничения для названий событий и параметров. Подробнее об ограничениях здесь.
Часто задаваемые вопросы
Следующий раздел содержит различные часто задаваемые вопросы о внутренних событиях приложений.
Как использовать параметр выручки?
Вы можете отправлять значения выручки с любым именем параметра и события. Однако, чтобы зарегистрировать выручку (включая отрицательную выручку) в необработанных и агрегированных данных AppsFlyer, необходимо использовать параметр af_revenue . Всегда используйте его с событиями в приложении, которые представляют фактическое получение выручки в вашей бизнес-логике.
af_currency обозначает валюту, указанную в af_revenue (или af_price). Если из параметров события отсутствует af_currency, AppsFlyer отправляет его со значением по умолчанию «USD».
Дополнительную информацию о параметре af_revenue смотрите в Руководстве по Атрибуции выручки.
Как AppsFlyer атрибутирует события?
Внутренние события приложений приписываются исходному медиа-источнику установки приложения.
При установке приложения (первом запуске) AppsFlyer использует различные методы атрибуции для определения атрибуции установки. Одновременно SDK AppsFlyer создает новый уникальный идентификатор AppsFlyer, который связывается с деталями атрибуции.
Каждое последующее внутреннее событие, выполняемое тем же устройством в приложении, имеет этот идентификатор. Это позволяет AppsFlyer атрибутировать событие исходному медиа-источнику. Рекламодатели могут использовать это для отслеживания полного пути пользователя в их приложении.
События недавно ретаргетированных пользователей могут иметь двойную атрибуцию.
AppsFlyer атрибутирует события установок как органические, если:
- Условия медиа-источника требуют удаления данных на уровне пользователей
- Пользователь удаляет данные приложения, сохраненные на устройстве, что приводит к созданию нового идентификатора AppsFlyer.
Регистрируются ли события, если устройство в автономном режиме?
Если пользователь инициирует событие при отсутствии интернет-соединения, AppsFlyer все равно сможет его зафиксировать. Вот как это работает:
- SDK отправляет события на серверы AppsFlyer и ожидает успешного ответа.
- Если SDK не получает успешный ответ, событие сохраняется в кэше.
- Как только следующий успешный ответ получен, сохраненное событие повторно отправляется на сервер.
- Если в кэше несколько событий, они отправляются на сервер поочередно.
Примечание
Кэш SDK может сохранять до 40 событий, что означает, что сохраняются только первые 40 событий, произошедших в автономном режиме. Все, что происходит после, до следующего успешного ответа, не сохраняется.
Время события, отображаемое в необработанных данных, — это время отправки события в AppsFlyer после восстановления интернет-соединения. Это не фактическое время выполнения события.
Что такое сложные внутренние события и как их настроить?
Комплексные внутренние события позволяют отправлять несколько действий за один вызов API.
Они полезны, когда необходимо видеть несколько связанных действий пользователя, сгруппированных вместе (например, добавление нескольких товаров в корзину за одну сессию).
Пример:
{ "af_revenue":"50.87", "af_currency":"USD", "af_receipt_id":"57601333", "product":[ { "af_content_id":"1164_8186", "af_price":"8.97", "af_quantity":"1" }, { "af_content_id":"1164_8186", "af_price":"8.97", "af_quantity":"1" }, { "af_content_id":"1164_8186", "af_price":"8.97", "af_quantity":"1" }, { "af_content_id":"1177_8185", "af_price":"8.97", "af_quantity":"1" }, { "af_content_id":"0153_9077", "af_price":"14.99", "af_quantity":"1" } ] }
Внимание
Комплексные внутренние события вызывают проблемы с постбэками в Meta рекламе и Criteo. Если необходимо, чтобы событие полностью соответствовало Meta рекламе и Criteo, отправляйте отдельные события для каждого действия пользователя (например, отправляйте событие "Добавить в корзину" для каждого добавленного товара). Используйте необработанные данные о событиях в приложении, чтобы сгруппировать эти события вместе.
Можно ли добавить несколько товаров в одну транзакцию?
Вы можете добавить несколько товаров в одну транзакцию. Вместо отдельных значений для параметра события можно использовать массив элементов, описывающих транзакцию, разделённых запятыми. Формат должен быть строкой JSON.
Пример
В одной сделке г-н Смит покупает две одинаковые рубашки, одну пару обуви и шляпу в интернет-магазине, расположенном в США. Последовательность перечисления элементов должна быть идентичной для каждого параметра.
"{\"af_content_id\": [\"123\",\"988\",\"399\"], \"af_quantity\": [\"2\",\"1\",\"1\"], \"af_price\": [\"25\",\"50\",\"10\"], \"af_revenue\": \"110\", \"af_currency\": \"USD\"}"
Несколько элементов отправляются дальше в виде массива в постбэках. На данный момент Meta реклама и X Ads не могут правильно разобрать параметры массива. Чтобы помочь в данной ситуации, AppsFlyer суммирует количество элементов (af_quantity) вместо отправки их в эти SRNs в виде массива. В нашем примере Meta реклама получит af_quantity=4.
Примечание
Несколько элементов можно использовать со следующими событиями в приложении:
af_add_to_cart, af_add_to_wishlist, af_tutorial_completion, af_initiated_checkout, af_purchase, af_rate, af_spent_credits, af_content_view, af_travel_booking, af_update
Как AppsFlyer обрабатывает дедупликацию событий?
У нас есть механизм дедупликации событий в приложениях. Механизм проверяет все события в приложении, чтобы выяснить, было ли идентичное событие, поступившее с тем же идентификатором AppsFlyer менее чем за 10 секунд до этого. Если такое событие обнаруживается, механизм удаляет дубликат.
Два события считаются идентичными, если в обоих совпадают следующие поля:
- Имя события
- Значение события
- Идентификатор приложения
- AppsFlyer ID
Примечание
Дедупликация работает только для событий в приложении, отправляемых из SDK.
S2S события в приложении не подлежат дедупликации.
Как долго AppsFlyer хранит данные на уровне пользователя и какие обязательства по их удалению?
AppsFlyer хранит данные на уровне пользователя (необработанные данные) в течение 24 месяцев, если иное не предусмотрено, не требуется или не разрешено законом. Некоторые SRN/партнеры требуют от атрибуционных поставщиков, включая AppsFlyer, удаления данных уровня пользователя, связанных с ними, до истечения 24-месячного периода.
После удаления события, связанные с удаленными пользователями, отображаются как органические. Прошлые агрегированные данные остаются неизменными. Для получения дополнительной информации смотрите Удержание и обязательства по удалению данных.
Нужно ли добавлять параметр ОС (операционной системы) в мои события?
- Android SDK и iOS SDK автоматически добавляют параметр ОС (операционной системы).
- Для S2S API, начиная с 1 июля 2021 года, необходимо отправлять параметр ОС для iOS приложений. Если этот параметр не отправлен, данные считаются полученными от пользователя iOS 14.5, что влияет на доступность необработанных данных.