Меню документації

Усунення несправностей

Розв'язання проблем із CookieHug: банер не з'являється, скрипти не блокуються, GTM, Debug Mode і запізнілі сигнали згоди.

Поширені запитання / усунення несправностей

Банер не з'являється

  • Перевірте, чи правильний ліцензійний ключ в URL скрипта (або атрибут data-ecid, якщо ви використовуєте стару форму завантажувача)
  • Переконайтеся, що тег скрипта розміщено в секції <head>
  • Перегляньте помилки в консолі браузера
  • Перевірте, чи домен збігається з конфігурацією вашої ліцензії

Скрипти не блокуються

  • Перевірте, чи data-cookiehug-blockingmode має значення "auto" (або взагалі не заданий)
  • Скрипт може бути в білому списку (поширені бібліотеки на кшталт jQuery не блокуються)
  • Для ручного керування використовуйте атрибути data-cookiehug-consent

Google Tag Manager не отримує сигналів згоди

  • Перевірте, що data-cookiehug-consentmode не має значення "disabled"
  • Перевірте, чи gtag або dataLayer доступні на сторінці
  • Перевірте в консолі браузера: dataLayer має містити події згоди

Згода не зберігається між завантаженнями сторінки

  • Перевірте, чи localStorage доступний і не заблокований
  • Перевірте, чи cookie не очищаються налаштуваннями браузера
  • Перевірте, чи згода не втратила чинність (типово 30 днів)

Як тестувати згоду, не очищаючи cookie щоразу?

Виконайте CookieHug.withdraw() у консолі браузера, щоб скинути стан згоди. Це видалить усі дані згоди, поверне Google Consent Mode до denied і автоматично перезавантажить сторінку, щоб раніше дозволені скрипти знову були коректно заблоковані.

Як перевірити стан згоди в консолі браузера?

// Повний стан згоди
console.log(window.CookieHug.consent);

// Чи користувач відповів?
console.log(window.CookieHug.hasResponse);

// Які норми застосовуються?
console.log(window.CookieHug.regulations);

Debug Mode і діагностика

CookieHug має вбудований Debug Mode, який завчасно перевіряє, чи ваша команда default для Consent Mode (і можлива заглушка TCF) завантажується раніше за спрацювання ваших тегів Google. Він ніколи не впливає на банер чи згоду — це спостерігач, який повідомляє про хибні налаштування.

Увімкнути його можна трьома способами:

  • додати ?cookiehug_debug=1 до адреси сторінки,
  • виконати localStorage.cookiehugDebug = '1' у консолі браузера,
  • або увімкнути Debug Mode на 24 години в панелі CookieHug (деталі домену → діагностика).

Коли він активний, унизу праворуч з'являється значок CookieHug debug (зелений = гаразд, бурштиновий = попередження, червоний = помилки). Натисніть на нього, щоб отримати повний звіт у консолі. Звіти також надходять до панелі й запускають завчасні сповіщення електронною поштою та банер у самій панелі.

Повідомлення налагодження

  • CHUG_ORDER_OK — конфігурація правильна: команда default виконалася раніше за ваші теги.
  • CHUG_GA_BEFORE_SDK / CHUG_ORDER_LATE — тег Google спрацював зарано. Див. Що робити, коли тег запізнюється.
  • CHUG_NO_DEFAULT_CONSENT — команду default не виявлено; теги могли виконатися без згоди.
  • CHUG_TCF_STUB_PRESENT — виявлено заглушку TCF __tcfapi; переконайтеся, що вона завантажується раніше за ваші теги.

Google Tag Gateway (GTG)

Google Tag Gateway (GTG) — це спосіб віддавати теги Google (тег Google / GA4 / цілий контейнер GTM) з вашого власного домену (first-party) замість прямого завантаження з googletagmanager.com. Запити проходять через легкий шлюз у вашій інфраструктурі (CDN/сервер), що підвищує стійкість вимірювань у браузерах, які обмежують сторонні скрипти.

Вплив на згоду — прочитайте це першим. GTG часто вмикають через інтеграцію CDN одним кліком (наприклад, просто в Cloudflare). Ця зручність має ціну: CDN сам вставляє й виконує тег Google, тож клієнт часто втрачає контроль над порядком завантаження скриптів. Шлюз може виконати тег Google *до* того, як спрацює команда default вашого CMP — саме це й породжує «запізнілий» сигнал згоди в Debug Mode CookieHug. GTG змінює, *звідки й коли* завантажується тег, але тег і далі читає Consent Mode; складність у тому, щоб гарантувати виконання команди default першою.

Офіційна документація Google: Google tag gateway for advertisers · Get started guide · One-click CDN (Cloudflare) setup.

Як перевірити, чи тег підключено до GTG

  • Відкрийте DevTools → Network і перезавантажте сторінку.
  • Знайдіть запит, який завантажує тег Google (напр. gtag/js, gtm.js, collect).
  • Подивіться на домен запиту: якщо він іде з вашого власного домену чи піддомену (напр. metrics.вашдомен.ua) замість googletagmanager.com / google-analytics.com, тег підключено до GTG.
  • Перевірте також у налаштуваннях Google Ads / GA4 → Google tag gateway, де перелічено підключені домени.

Чому GTG можуть помилково вважати запізнілим

Debug Mode у CookieHug порівнює час початку запитів Google з ініціалізацією SDK. З GTG тег завантажується з вашого домену й часто раніше або швидше, тож евристика може позначити його як запізнілий, хоча Consent Mode працює правильно. Завжди перевіряйте підключення до GTG, перш ніж вважати попередження реальною проблемою.

Запізнілий сигнал на тезі з GTG — рекомендоване рішення

Якщо Debug Mode повідомляє про запізнілий сигнал (`CHUG_ORDER_LATE`) і ви підтвердили, що тег підключено до GTG, порядок завантаження зазвичай визначає CDN, а не ви. Оберіть один із варіантів у порядку пріоритету:

  • Рекомендовано — перейдіть на U+C (розширений Consent Mode). Для тегів із GTG U+C (розширений Consent Mode) є рекомендованим механізмом, бо він сумісний із ручним GTG: тег завжди завантажується й сам коригує свою поведінку за сигналом згоди, тож не залежить від перемоги в «перегонах» порядку завантаження. Потім у своєму продукті Google увімкніть Data Transmission Controls і Global Consent Defaults відповідно до потреб, щоб приховування даних і типова згода застосовувалися на боці Google.
  • Або перенесіть усе до контейнера GTM і віддавайте GTM через GTG. Зберіть свої теги Google в одному контейнері GTM і віддавайте його через шлюз. Тоді згоду налаштовують один раз усередині GTM (Consent Settings для кожного тега), а команда default від CookieHug враховується ще до того, як теги контейнера перевірять свою згоду.
  • Або налаштуйте GTG вручну (замість інтеграції CDN одним кліком), щоб ви керували порядком підключення скриптів — завантажте команду default Consent Mode від CookieHug перед тегом шлюзу.

Як працювати з GTG у CookieHug

  • Тримайте скрипт CookieHug першим у <head> — навіть із GTG команду default треба надіслати до ініціалізації тега.
  • Перевірте, чи команду default враховано: відкрийте GA4 → Адміністратор → DebugView і подивіться analytics_storage / ad_storage у подіях.
  • У консолі перевірте window.CookieHug.consent — значення має відповідати вибору користувача.
  • Якщо згоду враховано, вважайте попередження про запізнення GTG хибним спрацюванням через first-party тайминг.
  • Якщо згоду не враховано (тег збирає дані попри denied), скористайтеся рішенням вище.