Согласие на cookie для одностраничных приложений (React, Vue, Angular)

Почему SPA сложны для согласия на cookie

Одностраничные приложения загружаются один раз и обрабатывают навигацию на стороне клиента. Нет перезагрузок страницы, которые повторно запускали бы проверки согласия. Сторонние скрипты, загруженные в index.html, срабатывают до появления какого-либо интерфейса согласия.

Распространённые ошибки SPA

Правильная реализация

  1. Загружайте в head вашего HTML только скрипт CMP — больше ничего
  2. Загружайте сторонние скрипты условно только после получения согласия
  3. Используйте JavaScript API CMP для программной проверки состояния согласия
  4. Закрывайте вызовы аналитики и маркетинга проверками согласия в ваших компонентах

Советы для конкретных фреймворков

React

Используйте провайдер контекста согласия. Проверяйте состояние согласия в хуках useEffect перед инициализацией трекеров.

Vue

Создайте плагин согласия. Используйте охранники маршрутизатора для проверки состояния согласия при навигации.

Angular

Используйте сервис согласия, внедряемый через DI. Проверяйте согласие в охранниках маршрутов и при инициализации компонентов.

FlexyConsent с SPA

Подход FlexyConsent с одним скриптом работает с любым фреймворком. Он загружается асинхронно, управляет состоянием согласия через cookie и предоставляет JavaScript API для программных проверок согласия. Не нужен SDK для конкретного фреймворка.

← Блог Читать все →