Реалізація Cookie Consent Banner для сайту (GDPR)

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Реалізація Cookie Consent Banner для сайту (GDPR)
Середня
від 1 робочого дня до 3 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Реалізація Cookie Consent Banner для сайту (GDPR)

Cookie consent banner - це компонент, який отримує інформовану згоду користувача перед встановленням необов'язкових cookies. Вимога GDPR (стаття 7) та ePrivacy Directive для всіх сайтів, доступних користувачам ЄС.

Класифікація cookies

За GDPR cookies розділяються на категорії:

Категорія Опис Вимагає згоди
Strictly Necessary Сесія, CSRF, корзина Ні
Functional Мовні налаштування, тема Зазвичай ні
Analytics Google Analytics, Metrika Так
Marketing Facebook Pixel, ремаркетинг Так

Технічні вимоги до баннеру

  • Згода до встановлення cookies (не після)
  • Відмова така ж проста, як згода
  • Гранулярна згода по категоріях
  • Можливість відозвати згоду в будь-який момент
  • Зберігання запису про згоду з timestamp

Реалізація через Cookiebot / OneTrust

Готові рішення для відповідності GDPR:

Cookiebot:

<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js"
        data-cbid="YOUR-CBID"
        data-blockingmode="auto"
        type="text/javascript">
</script>

Користувацька реалізація (React)

interface ConsentState {
  analytics: boolean;
  marketing: boolean;
  functional: boolean;
}

export function CookieConsentProvider({ children }: { children: ReactNode }) {
  const [consent, setConsent] = useState<ConsentState>({
    analytics: false,
    marketing: false,
    functional: false,
  });
  const [hasResponded, setHasResponded] = useState(false);

  useEffect(() => {
    const stored = localStorage.getItem('cookie_consent');
    if (stored) {
      const data = JSON.parse(stored);
      setConsent(data.preferences);
      setHasResponded(true);
    }
  }, []);

  const updateConsent = (updates: Partial<ConsentState>) => {
    const newConsent = { ...consent, ...updates };
    const record = {
      preferences: newConsent,
      timestamp: new Date().toISOString(),
      version: '1.0',
    };
    localStorage.setItem('cookie_consent', JSON.stringify(record));
    setConsent(newConsent);
    setHasResponded(true);

    fetch('/api/consent', {
      method: 'POST',
      body: JSON.stringify(record),
    });
  };

  return (
    <CookieConsentContext.Provider value={{ consent, updateConsent, hasResponded }}>
      {children}
    </CookieConsentContext.Provider>
  );
}

Зберігання записів про згоду

За GDPR ви повинні зберігати докази згоди:

Schema::create('consent_records', function (Blueprint $table) {
    $table->id();
    $table->string('user_identifier');
    $table->json('preferences');
    $table->string('version');
    $table->ipAddress('ip_address');
    $table->timestamp('consented_at');
    $table->timestamp('withdrawn_at')->nullable();
});

Тривалість реалізації

  • Готове рішення (Cookiebot/CookieYes): 1 день
  • Користувацький баннер з блокуванням скриптів: 3–5 днів
  • Зберігання записів про згоду + API: +1 день