Матчинг пользователей
Матчинг — это механизм, который определяет, относится ли полученное событие или запись аудитории к уже существующему пользователю или нужно создать нового.
Цель матчинга — поддерживать единый реестр пользователей при поступлении данных из разных источников и каналов. Таким образом, аудитории не создают дубликатов пользователей, а обогащают существующие профили.
Какие идентификаторы используются
MoodRec сопоставляет записи по стабильным идентификаторам, которые передаются в событиях и при загрузке аудиторий. В качестве идентификаторов используются:
- User ID
- Телефон
Если в запросе передано несколько идентификаторов, система рассматривает их все.
User ID — это внешний идентификатор пользователя. Он должен быть уникальным. При импорте аудитории необходимо выбрать поле/колонку, в котором будет задан этот ID.
Как происходит сопоставление
При поступлении данных MoodRec выполняет следующие действия:
- Система проверяет, существует ли в базе пользователь с таким же User ID, email или телефоном. Приоритетным для поиска является User ID.
- Если совпадение найдено хотя бы по одному идентификатору, данные относится к существующему пользователю. В этом случае система дополняет запись о пользователе новыми идентификаторами и данными, которых ранее не было.
- Если совпадений нет, создаётся новый пользователь и к нему привязываются все идентификаторы, переданные в запросе.
Когда выполняется матчинг
Матчинг выполняется каждый раз, когда в систему поступают данные, потенциально относящиеся к пользователю, например:
-
При получении пользовательских событий: матчинг выполняется при обработке событий из сайта, приложения или других каналов (просмотр, клик, покупка и т.д.). Система анализирует переданные идентификаторы пользователя и сопоставляет событие с существующим профилем либо создаёт новый, если совпадений нет. Это обеспечивает накопление поведенческой истории в рамках одного пользователя, даже если события приходят из разных каналов.
-
При загрузке и обновлении аудиторий: при импорте аудиторий матчинг используется для сопоставления загружаемых записей с уже существующими пользователями. Если пользователь уже есть в системе, его профиль дополняется новыми данными. Если нет — создаётся новый профиль.
-
При переходе от анонимного пользователя к известному: если пользователь сначала взаимодействует с системой анонимно, а затем авторизуется или оставляет контактные данные, матчинг связывает ранее накопленные данные с новым идентификатором. В результате профиль пользователя не «обнуляется», а продолжает использовать всю предыдущую историю взаимодействий.
-
При обновлении идентификаторов пользователя: матчинг срабатывает, когда для уже известного пользователя поступают новые или изменённые идентификаторы (например, новый телефон или внешний идентификатор). Система проверяет, не относится ли этот идентификатор к другому профилю, и в зависимости от правил либо объединяет данные, либо предотвращает некорректное объединение.
Примеры матчинга
Кейс 1. Пользователь найден по User ID
Ситуация В систему поступают данные с User ID, который уже существует.
Поведение системы MoodRec однозначно идентифицирует пользователя по User ID и относит данные к существующему профилю. Если в запросе присутствуют email или phone, которых ранее не было, они добавляются в профиль пользователя.
Результат Профиль пользователя обновляется и обогащается новыми данными. Дубликаты не создаются.
Кейс 2. Пользователь не найден по User ID, но найден по email или телефону
Ситуация User ID в системе отсутствует, но email или phone совпадает с уже существующим пользователем.
Поведение системы MoodRec считает, что данные относятся к существующему пользователю, найденному по email или телефону. Новый User ID привязывается к этому профилю и далее используется как основной идентификатор пользователя.
Результат Существующий профиль сохраняется, к нему добавляется User ID. История пользователя остаётся непрерывной.
Кейс 3. Конфликт идентификаторов
Ситуация В запросе присутствуют несколько идентификаторов, которые по отдельности указывают на разных пользователей. Например, User ID относится к одному профилю, а email или phone — к другому.
Поведение системы MoodRec разрешает конфликт, опираясь на приоритет идентификаторов:
- User ID — основной и наиболее приоритетный идентификатор.
- Phone — второй по приоритету.
- Email — третий по приоритету.
Если идентификаторы в запросе указывают на разные профили, система выбирает профиль, связанный с идентификатором с более высоким приоритетом, и приводит остальные данные в соответствие с ним.
Результат В системе сохраняется один профиль пользователя, выбранный по приоритетному идентификатору, что исключает дублирование и обеспечивает корректную идентификацию пользователя.