Cookies і згода (CMP)
CMP (Consent Management Platform) — це банер згоди на cookies плюс механіка, яка реально блокує сторонні скрипти до того, як відвідувач натиснув «Прийняти». Однієї «плашки внизу екрана» для GDPR недостатньо: до згоди аналітика й рекламні пікселі не повинні виконуватися взагалі.
Наш CMP працює і на нашій вітрині, і на вашому власному сайті — одним і тим самим кодом.
Де налаштовується:
- Маркетинг → «Мій сайт» → картка «Cookies і згода» (для зовнішнього сайту);
- або Сайт → «Налаштувати сайт» → секція «Cookies і згода (CMP)» (для нашої вітрини).
Як увімкнути#
- Вставте на сайт код встановлення з розділу «Мій сайт» — cookie-банер завантажується першим з усіх віджетів, щоб решта скриптів побачили вже ухвалене рішення.
- Увімкніть тумблер віджета.
- Запустіть сканер — він збере список cookies вашого сайту.
- Опублікуйте сторінку «Політика cookies» або вкажіть посилання на свою.
Банер сам визначає мову сторінки й показується нею — переклади на 45 мов уже готові.
Для WordPress є окремий плагін Cenaly Consent: ставите його у своїй адмінці WP, натискаєте «Підключити», вибираєте локацію у вікні, що відкрилося — тег і налаштування прилітають самі, вставляти код руками не потрібно.
Скільки це коштує#
Сам банер і блокування трекерів безкоштовні на будь-якому плані — і на нашій вітрині, і на вашому власному сайті. Відповідність закону не продається частинами: 45 мов, автоблокування, Consent Mode v2, центр налаштувань і hosted-сторінка «Політика cookies» входять у платформу.
Окремо продається рівень «Cookies Pro» — картка «Cookies і згода» в Магазині додатків, 9 $ на місяць або 90 $ на рік на локацію. Це не доступ до розділу, а масштаб сервісу: глибший і частіший скан сайту (включно із закритими розділами), довгий журнал згод із вивантаженням-доказом, власні правила за країнами, повне налаштування дизайну й тексти-перевизначення за мовами, зняття бейджа «Працює на Cenaly». Актуальний склад рівня й ціна — на самій картці в магазині.
ІІ-розмітка нерозпізнаних cookies у рівень не входить і окремо не продається: вона доступна на будь-якому рівні, а кожен виклик оплачується з ІІ-балансу облікового запису. На брендах у хмарі Yandex (cenaly.ru) немає автоматичного сканера сайту (див. нижче), тому його частина рівня там не працює; журнал згод і вивантаження там є.
Категорії та що блокується до згоди#
Чотири стандартні категорії:
| Категорія | Що до неї потрапляє | За замовчуванням |
|---|---|---|
| Необхідні | Кошик, сесія, безпека | Завжди увімкнені, вимкнути не можна |
| Налаштування | Мова, валюта, раніше вибрана локація | За рішенням гостя |
| Статистика | Google Analytics, Яндекс.Метрика, Matomo, Clarity | За рішенням гостя |
| Маркетинг | Facebook Pixel, VK, TikTok, рекламні пікселі й ремаркетинг | За рішенням гостя |
Поки згоди немає, скрипти та iframe цих категорій не завантажуються: їхні адреси звіряються з вбудованим реєстром трекерів, а ви можете додати свої патерни. Заблокований iframe (наприклад, відео з YouTube) показує заглушку з посиланням «дозволити».
Додатково передаються сигнали згоди рекламним системам: Google Consent Mode v2 (до згоди — режим без cookies), Microsoft UET, Meta (fbq), Clarity Consent API. Враховуються сигнали браузера GPC і Do Not Track.
Термін дії згоди налаштовується (за замовчуванням 365 днів, допустимо 30–730), після чого банер запитає знову. Відмова гостя запам'ятовується — повторно запитувати при кожному візиті ми не будемо. Можна увімкнути спільну згоду для всіх піддоменів і вказати посилання на список сайтів, які вона покриває.
Режими за країнами#
Режим — це поведінка банера до того, як гість щось натиснув. Він вибирається так:
- ваше правило для країни гостя (якщо задано),
- ваш режим за замовчуванням,
- вбудована карта країн,
- евристика за часовим поясом браузера.
Країна гостя визначається за IP. ⚠️ Це вибір поведінки, яку налаштували ви, а не висновок про те, який закон до вас застосовний.
П'ять режимів#
| Режим | Що відбувається до рішення гостя | Що бачить гість |
|---|---|---|
| opt-in | усе, крім необхідних, заблоковано | банер «Прийняти / Відхилити / Налаштувати» |
| opt-out | дозволено до явної відмови | банер + «Do Not Sell or Share»; сигнал браузера GPC або Do Not Track вважається автоматичною відмовою від маркетингу |
| м'який | дозволено, нічого не блокується | інформаційний банер |
| повідомлення | дозволено | один рядок-повідомлення, згоди не запитуємо |
| прихований | дозволено | банера немає взагалі; налаштування відкриваються посиланням #cenaly-consent на вашому сайті |
Окремо від режимів є надбудова «повідомлення замість запиту згоди»: ви її дозволяєте, і якщо звіт сканера довів, що поза категорією «необхідні» на сайті нічого немає, перший шар повідомляє, а не запитує. Блокування вона не знімає: з'явиться новий трекер — він усе одно буде заблокований до дозволу гостя.
Вбудована карта країн#
Застосовується, коли ви не задали ні правила для країни, ні свого режиму за замовчуванням:
- opt-in — 32 країни: 27 країн Євросоюзу плюс Ісландія, Ліхтенштейн і Норвегія (разом — ЄЕЗ), Велика Британія і Швейцарія;
- opt-out — США;
- усі інші країни — правила немає: спрацює ваш режим за замовчуванням, а якщо і він не заданий — евристика за часовим поясом браузера (
Europe/*→ opt-in,America/*→ opt-out, в інших випадках opt-in). Безпечний дефолт — opt-in.
⚠️ Карта — це наше налаштування за замовчуванням, а не юридична класифікація країн. Країни, де запитувати згоду прийнято, але яких у карті немає (Туреччина, Росія, Бразилія і десятки інших), потраплять під ваш дефолт або під евристику. Потрібен конкретний режим у конкретній країні — задайте його правилом, а не покладайтеся на карту.
⚠️ Визначення країни за IP є не скрізь. На брендах у хмарі Yandex (cenaly.ru) ендпоінта гео немає, і віджет одразу падає на евристику за часовим поясом — вона грубіша: гість із ЄС у подорожі США отримає America/* → opt-out. Якщо для вас це важливо, задайте режим за замовчуванням явно. Країну семи часових поясів віджет усе ж розпізнає (Москва → RU, Стамбул → TR, Тбілісі → GE, Київ → UA, Лондон → GB, Єреван → AM, Тирана → AL): ваше правило для такої країни спрацює і при заданому режимі за замовчуванням.
Де налаштовується: картка «Cookies і згода» → шестерня → «Режим згоди за замовчуванням» і «Правила за країнами» (країна у форматі ISO-2 → режим).
Чого режим НЕ робить#
- не вибирає за вас юрисдикцію — який режим увімкнути в кожній країні, вирішуєте ви (і ваш юрист);
- не змінює тексти документів: набір юридичних сторінок та їхні формулювання — окремий інструмент зі своїми країнами, див. Юридичні документи;
- не покриває мобільні додатки — це скрипт для вебсторінок;
- не видає TCF-рядок IAB Europe: якщо рекламний партнер вимагає саме сертифікований CMP із фреймворку TCF, наш банер йому не підійде. Ми передаємо сигнали згоди напряму — Google Consent Mode v2, Microsoft UET, Meta, Clarity.
Звідки беруться звичні очікування ринку#
⚖️ Це довідкові орієнтири, а не юридична консультація і не твердження, що до вас застосовна та чи інша норма. Ми наводимо першоджерела, на які спираємося самі; актуальність і застосовність до вашого бізнесу перевіряйте з юристом.
| Де | Норма | Що в ній про cookies | Першоджерело |
|---|---|---|---|
| ЄС / ЄЕЗ | Директива 2002/58/EC (ePrivacy), ст. 5(3), плюс національні імплементації | доступ до пристрою користувача заради не суворо необхідних cookies — лише з попередньої згоди; суворо необхідні — без згоди | eur-lex.europa.eu/eli/dir/2002/58 |
| Франція | рекомендації CNIL щодо cookies і трекерів | кнопки «Прийняти» і «Відхилити» мають бути рівнозначні за помітністю; продовження навігації згодою не вважається | cnil.fr |
| Велика Британія | PECR 2003 (зі змінами Data (Use and Access) Act 2025) | необов'язкові cookies і аналогічні технології — лише за явної активної згоди; попередньо позначені галочки не годяться | legislation.gov.uk/uksi/2003/2426 |
| США, Каліфорнія | CCPA/CPRA і регламенти CPPA | модель відмови: opt-out із «продажу/шерингу» і обов'язкове розпізнавання сигналу Global Privacy Control. Діє вище порогів (зокрема, за виторгом) — типовий невеликий бізнес під них може не підпадати | cppa.ca.gov |
| Туреччина | керівництво KVKK щодо cookies (2022) і рішення Kurulu №2022/1358 | необов'язкові cookies — явна згода; продовження перегляду сайту згодою не вважається | kvkk.gov.tr |
| Росія | окремого закону про cookies немає — загальні норми 152-ФЗ, ст. 9 | згода на обробку персональних даних — явна, окрема, відклична | consultant.ru, 152-ФЗ |
| Грузія | окремого закону про cookies немає — Закон про захист персональних даних | підстава обробки — згода; технічні cookies — інформування | matsne.gov.ge |
Країн у світі більше, ніж рядків у цій таблиці: список неповний навмисно — ми перелічуємо лише те, чим користуємося самі при налаштуванні продукту.
Зовнішній вигляд і тексти#
- Розкладка: смуга, картка, модальне вікно; позиція — будь-який із шести варіантів краю/кута.
- Екран налаштувань: розворот у картці або висувна бічна панель.
- Палітра за елементами окремо для світлої та темної теми, власний логотип, власний CSS (до 10 КБ).
- Перемикачі кнопок: хрестик, «Відхилити все», «Налаштувати». Кнопку «Прийняти» приховати не можна, а в opt-in-режимі адмінка попередить про ризики, якщо прибрати «Відхилити».
- Категорії можна винести галочками прямо на перший шар банера.
- Будь-який текст банера редагується за мовами поверх наших перекладів.
- Прев'ю в кабінеті перемикається між desktop, планшетом і мобільним.
- Окремо налаштовується плаваюча кнопка «Налаштування cookies» (ліворуч/праворуч/вимкнена) і список сторінок, на яких банер не показується.
Сканер cookies і декларація#
⚠️ Сканера немає на брендах у хмарі Yandex (cenaly.ru). Там список cookies для декларації ведеться вручну в тій самій таблиці нижче — сторінка політики залишається живою, — а повідомлень замість запиту згоди та ІІ-розмітки, які спираються на звіт скану, немає.
Сканер відкриває ваш сайт у браузері та збирає реальні cookies і сторонні сервіси. Кожна сторінка проходиться двічі — без згоди (так видно порушення prior consent) і з повною згодою (так збирається повна декларація):
- обхід за
robots.txt,sitemap.xmlі посиланнями зі стартових сторінок, обмеження за кількістю сторінок; - розклад: щомісяця або щотижня, у кабінеті видно дату наступного скану;
- історія сканів — скільки сторінок пройдено, скільки cookies знайдено і скільки з них нових порівняно з минулим разом;
- скан за логіном — для сторінок особистого кабінету;
- ІІ-класифікатор: незнайомі cookies отримують запропоновану категорію з поясненням, ви підтверджуєте або змінюєте. Виклик платний — списується з ІІ-балансу облікового запису на будь-якому рівні.
Декларація cookies — таблиця всіх cookies за категоріями: ім'я, постачальник, термін зберігання, призначення. Можна додавати свої записи, правити описи та переклади. Із цієї ж таблиці збирається список для банера і для сторінки політики.
Не плутайте сканер із публічною сторінкою «Перевірка сайту»: вона доступна без входу в кабінет, але читає лише вихідний HTML однієї сторінки — покаже трекери в коді, наявність банера згоди та наш тег, а реальні cookies і те, що підвантажують скрипти в браузері, не побачить. Це вітрина-магніт «подивитися, що в мене на сайті»; повну декларацію збирає саме сканер вище.
Сторінка «Політика cookies»#
Посилання в банері веде або на вашу наявну сторінку, або на документ, який ми згенеруємо й розмістимо самі: він збирається з результатів скану, публікується 45 мовами та оновлюється разом із декларацією — таблиця cookies на ньому завжди жива.
Якщо потрібні й решта юридичних сторінок (політика конфіденційності, умови, повернення, доставка) — див. Юридичні документи.
Журнал згод і звіти#
ℹ️ На брендах у хмарі Yandex (cenaly.ru) журнал збирається інакше, але так само повно. На основній інфраструктурі рішення переносяться в журнал уночі, а на cenaly.ru — у момент, коли ви відкриваєте журнал, тренди або вивантаження: перше відкриття за день може тривати на пару секунд довше, зате свіжі рішення видно одразу. Формат, дедуплікація та терміни зберігання спільні, тому вивантаження-доказ однакове в обох хмарах.
Журнал — це доказ згоди (proof of consent) на випадок перевірки:
- дата, анонімний ідентифікатор, вибрані категорії, версія політики, країна та мова;
- вивантаження CSV і окремого запису;
- тренди: прийнято / відхилено / частково за днями та за країнами;
- лічильник показів банера.
Кнопка «Перезапитати всіх зараз» піднімає версію політики — після суттєвих змін банер запитає всіх заново.
Обмеження#
- Строгий «prior consent» потребує окремого тегу. Через єдиний завантажувач cookie-банер піднімається першим із наших віджетів, але чужу аналітику, прибиту в
<head>вище за наш код, він не випередить. Якщо потрібно, щоб жоден сторонній скрипт не стартував до відповіді гостя, ставте тег банера першим рядком у<head>, до всіх інших. - Зламаний або недоступний конфіг знімає блокування, а не вмикає його. Віджет вимкнено, сторінка у винятках, конфіг не прочитався — трекери на сайті працюють як звичайно. Тримати чужий сайт заблокованим через наш збій не можна, тому перевіряйте, що банер справді показується.
- Блокується те, що відомо. Скрипти та iframe звіряються з вбудованим реєстром трекерів; нестандартний або самописний лічильник потрібно додати своїм патерном — інакше він завантажиться до згоди.
- Віковий гейт 18+ — окрема секція й окремі тексти. Він вимкнений за замовчуванням, а його написи є англійською, російською, грузинською та турецькою з падінням на англійську, тоді як сам банер говорить 45 мовами: формулювання для свого ринку задавайте своїми текстами.
- Покриття регіонів — це налаштування, а не сертифікація. Вбудована карта знає 32 країни з opt-in і США з opt-out, решту задаєте ви правилами; перевірити відповідність вашій юрисдикції банер не може і не намагається — подробиці та першоджерела в розділі «Режими за країнами».
- Фреймворку TCF (IAB Europe) у нас немає. Якщо рекламна мережа вимагає сертифікований CMP із TCF-рядком, наш банер їй не підійде: ми передаємо згоду напряму — Google Consent Mode v2, Microsoft UET, Meta, Clarity.
- Це веб-банер. Для мобільних додатків (власні SDK, системні запити відстеження) він не призначений.
- Банер не замінює політику. Посилання на сторінку «Політика cookies» (нашу опубліковану або вашу власну) має бути заповнене — без нього гостю нема де подивитися, на що він погоджується.
Усунення неполадок#
Баннера на сайті немає. Тег не вставлено або він стоїть не на всіх сторінках шаблону (натисніть «Перевірити встановлення»); у тегу чужий data-domain; перемикач віджета вимкнено; зміни ще не дійшли — файли віджетів роздаються через CDN із кешем 5 хвилин. Тег, який вставляє вже в браузері Google Tag Manager, перевірка встановлення не побачить — це не помилка, дивіться сайт очима; повний список таких випадків — «Що перевірка встановлення не бачить».
Банер є, але трекери завантажуються до згоди. Найімовірніше, чужий скрипт стоїть у <head> вище за наш тег — переставте наш тег першим. Другий частий випадок — лічильника немає у вбудованому реєстрі: додайте його адресу своїм патерном.
Банер показується знову й знову. Перевірте строк дії згоди й чи не було перевидано політику: перевидання піднімає версію, і банер запитує заново — так і задумано.
Інструменти діагностики:
- Перевірити встановлення — читаємо вихідний HTML вашої сторінки й повідомляємо, чи знайдено код і чи стоїть він усередині
<head>. - Надіслати код розробнику — відкриває готовий лист зі сніпетом у вашій поштовій програмі.
- Гайд із Google Tag Manager — як поставити банер тегом GTM.
- Режим налагодження: відкрийте сайт із
?cenaly_consent_debug=1— у консоль підуть події Consent Mode (default/update) і визначений режим регіону, видно, що саме отримують Google та інші системи.
Пов'язані розділи#
- Мій сайт — код встановлення та інші віджети
- Юридичні документи — політика конфіденційності, умови, повернення
- Аналітика — що видно після згоди
Часті запитання#
Банер обов'язковий? Це питання до вашого юриста, а не до нас: обов'язок залежить від того, де ви працюєте, звідки до вас приходять відвідувачі та які скрипти стоять на сайті. З боку продукту відповідь така: наш банер уміє п'ять режимів, за замовчуванням у 32 країнах ЄЕЗ, Великій Британії та Швейцарії вмикається строгий opt-in, у США — opt-out із «Do Not Sell», в інших країнах поведінку задаєте ви. Орієнтири та першоджерела зібрано вище, у розділі «Режими за країнами».
Чи заблокує CMP мою власну аналітику? До згоди — так, це його робота. Платформна аналітика при цьому продовжує рахувати візити в cookieless-режимі Consent Mode v2.
Що буде зі старими згодами після правки політики? Нічого, поки ви не натиснете «Перепитати всіх зараз» або не перевидасте політику — тоді версія підніметься, і банер запитає заново.
Чи працює це, якщо сайт не на нашій платформі? Так — це основний сценарій. Один тег на будь-якому сайті, а для WordPress — плагін Cenaly Consent, який ставить тег за вас.