Согласие и данные пользователя
В боковом меню откройте «Интеграция виджета», включите «Собирать данные о посетителях» и выберите режим в поле «Когда собирать данные». При режиме «Только после согласия» передавайте решение вашего баннера в виджет. Вход в аккаунт сам по себе не даёт согласия.
js
await window.FlowtomateWidget.ready();
window.FlowtomateWidget.setConsent('granted');
await window.FlowtomateWidget.identify('user_42', {
email: 'anna@example.com',
plan: 'pro'
});В identify передавайте один и тот же ID пользователя при каждом входе и на другом устройстве. Email храните отдельным полем: он может измениться. Все поля пользователя передавайте строками. При смене тарифа или email вызовите await setTraits({ plan: 'team' }) после identify. Подробный пример есть в инструкции по JavaScript API.
setConsent('denied') прекращает сбор и очищает очередь событий и постоянные идентификаторы виджета. setConsent('unknown') убирает сохранённый выбор. В режиме «Без запроса согласия» после unknown сбор может возобновиться, поэтому для отказа используйте denied. setConsent возвращает void: await не даёт подтверждения загрузки настроек.
До согласия не вызывайте identify, setTraits и track. Даже если режим «Только после согласия» запрещает запись аудитории и событий, ранние identify и setTraits могут оставить поля в памяти страницы и передать их при следующем запросе настроек. Если посетитель отказался, прекратите вызовы этих методов в своём коде.
При выходе дождитесь сброса до входа другого человека:
js
await window.FlowtomateWidget.reset();
await window.FlowtomateWidget.identify('user_73', { email: 'pavel@example.com' });Обычный reset() сохраняет выбор согласия. Если согласие относится к аккаунту и при следующем входе его нужно спросить снова, используйте await reset({ clearConsent: true }). В режиме «Только после согласия» после этого ждите нового согласия перед identify. Правила работы с данными и публичным ключом приведены в статье о конфиденциальности.