Установка свойств пользователя (идентификация). В одном запросе можно установить до 250 свойств.
Аргумент | Описание |
---|---|
data |
Обязательный. Описание выполняемой операции. См. примеры. |
options |
JS-объект. Дополнительные параметры запроса установки свойств. |
contact_source |
JS-объект. Идентифицирует источник контакта - попап, чат, форму и т. п. |
// Упрощенный формат:
carrotquest.identify({'$name': 'Maks', myProp: 'myValue'});
// Сложный формат:
carrotquest.identify([
{op: 'add', key: 'segment1', value: 1},
{op: 'update_or_create', key: 'segment2', value: 1},
]);
// Использование дополнительных параметров:
carrotquest.identify([
{op: 'update_or_create', key: '$email', value: 'mail@example.com'},
{op: 'add', key: 'segment1', value: '65535'}
], {
doubleSubscribe: true,
parseCustomPropsType: false
});
//Передача данных об источнике контакта
carrotquest.identify([
{op: 'update_or_create', key: '$phone', value: '9888888898'}
],
undefined,
{
id:'123123', type:'run_script'
});
Простой формат следует использовать, когда нужно записать свойство, если оно не существует, либо перезаписать,
если оно уже существует (update_or_create
- наиболее часто используемый вариант).
Тогда параметр data
- это JS-объект, представляющий собой набор имен и значений изменяемых свойств.
Позволяет выполнять разлиные операции над данными, а не только update_or_create
.
Так можно устанавливать свойство только один раз (без перезаписи существующего), удалять и т.д.
Здесь data будет массивом, состоящим из набора операций. Описание сложного формата.
Во второй аргумент метода можно передавать объект с дополнительными параметрами:
doubleSubscribe
Позволяет переподписать пользователя на рассылки писем.
Этот параметр имеет смысл указывать, если в этом же вызове carrotquest.identify
изменяется системное свойство $email
.
Если в запросе на установку свойств пользователю, чей email находится в статусе "Отписан", передать дополнительный параметр doubleSubscribe: true
,
то email пользователя перейдёт в статус "Подписан"
(в случае включенного Double Opt-in пользователю отправится письмо для подтверждения email,
а статус изменится на "Ожидает подтверждения").
parseCustomPropsType
отвечает за отключение автоматического определения типа у свойств.
По умолчанию сервис пытается определить тип свойства, исходя из значения, которое в него записывается.
Например, если без использования этого параметра передать строку "123"
, то система запишет в свойство число 123
.
Чтобы отключить это поведение и записать свойство в том же виде, в котором оно передаётся (строку "123"
),
нужно в запросе передать этот параметр со значением false
(parseCustomPropsType: false
)
В третий аргумент также можно передать объект, идентифицирующий источник сбора данных для событий "Имя изменено", "Email изменен", "Телефон изменен" с полями:
id
идентификатор триггерного сообщения, либо какой-то другой идентификатор, помогающий определить источник получения контактаtype
тип сообщения, в котором получен контакт ("popup_small", "popup_big", "block_popup_small", "block_popup_big", "run_script", "auto_reply", "lead_bot", "routing_bot"
).Если вы записываете свойства, полученные в результате авторизации или регистрации пользователя и используете механизм склейки пользователей,
то вызывать установку свойств пользователя методом carrotquest.identify
необходимо после carrotquest.auth
.
Если сделать наоборот, свойства могут записаться не в того пользователя, который авторизовался.