← База знаний

Кастомные атрибуты контакта

Кастомные атрибуты — это произвольные параметры, которые вы отправляете со своего сайта и сохраняете на карточке клиента: тариф, возраст, статус подписки, дата окончания триала и т.п. По ним потом можно фильтровать контакты в дашборде.

Предусловие: контакт должен быть идентифицирован

Атрибуты ставятся только идентифицированному контакту. Сначала вызовите identify (обычно после логина пользователя), затем — set. Для анонимного посетителя атрибут не сохранится.

Синтаксис

LiveContext('set', { variable: 'plan', value: 'pro' });

Типы значений

ТипПримерФильтры
СтрокаLiveContext('set', { variable: 'plan', value: 'pro' })есть/нет, =, ≠
ЧислоLiveContext('set', { variable: 'age', value: 30 })=, ≠, >, <, ≥, ≤
БулевоLiveContext('set', { variable: 'is_vip', value: true })есть/нет, =, ≠
Дата/времяLiveContext('set', { variable: 'trial_ends', value: '2026-08-15T00:00:00Z' })>/< (до/после)

Дату можно передавать строкой в формате ISO-8601 или объектом Date — SDK сериализует его сам. Числа и булевы передавайте как есть (не строкой), иначе числовые сравнения не сработают.

Удаление атрибута

Передайте value: null, чтобы удалить переменную у контакта:

LiveContext('set', { variable: 'plan', value: null });

Полный пример

После логина пользователя на вашем сайте:

// 1. Идентифицируем пользователя
LiveContext('identify', 'user-42', { email: 'anna@shop.ru', name: 'Анна' });

// 2. Отправляем кастомные атрибуты
LiveContext('set', { variable: 'plan',       value: 'pro' });
LiveContext('set', { variable: 'age',        value: 30 });
LiveContext('set', { variable: 'is_vip',     value: true });
LiveContext('set', { variable: 'trial_ends', value: '2026-08-15T00:00:00Z' });

npm-пакет (React, Vue, Next)

В приложениях со сборкой те же атрибуты ставятся через типизированный пакет @livecontextapp/sdk методом set:

import { createLiveContext } from '@livecontextapp/sdk';

const lc = createLiveContext({ publicKey: 'pk_live_…', apiUrl: 'https://livecontext.ru' });
lc.identify('user-42', { email: 'anna@shop.ru' });
lc.set('plan', 'pro');
lc.set('trial_ends', new Date('2026-08-15')); // Date → ISO
lc.set('plan', null);                         // сброс

Где это видно

Важно