Если на сайте стоит Яндекс Метрика, Google Analytics или рекламный пиксель — посетителя нужно уведомить о том, что сайт использует cookie. В Тильде для этого есть штатные блоки, но они не всегда вписываются в дизайн. Ниже — готовый код баннера с отдельным окном настроек: вставляется в один блок, работает на всех страницах и запоминает выбор посетителя.Так же вы можете использовать онлайн генератор:https://av-five.ru/instrumenty/cookie-generator
Сначала — что уже умеет сама Тильда
Прежде чем вставлять чужой код, честно проверьте: возможно, вам хватит штатного блока. Все они лежат в Библиотеке блоков → категория «Другое».
- T657, T886, T887 — простое уведомление. Посетитель видит плашку и кнопку «Ок». Выбирать или отключать cookie нельзя.
- T972 — полноценный виджет с четырьмя видами cookie: обязательные, аналитические, рекламные и собственные. Главное отличие — он реально управляет счётчиками: пока человек не дал согласие, код Метрики, Google Analytics и пикселей не запускается.
Если задача формулируется как «нужно соблюсти закон» — берите T972. Он делает не только вид, но и техническую часть. Свой код имеет смысл ставить в другом случае: когда нужен полный контроль над внешним видом — свои цвета, свои отступы, свой текст, своё расположение на экране. Как раз для этого и написан код ниже.
Что делает этот код
- Плашка внизу экрана. Заголовок, короткий текст, ссылка на политику и три кнопки: «Принять все», «Принять необходимые», «Настроить параметры». Плюс крестик, чтобы закрыть.
- Окно настроек. Открывается по кнопке «Настроить параметры». Четыре категории с галочками: строго необходимые (всегда включены, отключить нельзя), производительности, функциональные, аналитические.
- Запоминает выбор. Решение сохраняется в браузере посетителя, при следующем визите плашка уже не появляется.
- Подхватывает стиль сайта. Шрифты и цвета кнопок берутся из настроек проекта Тильды, а если их нет — из запасных значений прямо в коде.
- Адаптивный. На телефоне кнопки становятся в столбик, отступы уменьшаются.
- Закрывается по клавише Esc и уважает системную настройку «уменьшить анимацию».
Как добавить на сайт: пошагово
Баннер нужен на всех страницах сразу, поэтому ставим его не на конкретную страницу, а в подвал сайта — тогда он автоматически появится везде.
Шаг 1. Найдите страницу подвала
Откройте Настройки сайта → Шапка и подвал и посмотрите, какая страница назначена подвалом. Если подвала ещё нет — создайте обычную новую страницу и назовите её, например, «Подвал».
Шаг 2. Добавьте блок для кода
Зайдите в редактирование этой страницы: Библиотека блоков → Другое → блок T123 «HTML-код». Поставьте его в самый низ страницы.
Шаг 3. Вставьте код
Нажмите «Контент» у блока T123 и вставьте туда КОД целиком.
КОД:
Шаг 4. Назначьте страницу подвалом
Вернитесь в Настройки сайта → Шапка и подвал и в поле «Подвал» выберите эту страницу. Если она уже была назначена — ничего менять не нужно.
Шаг 5. Опубликуйте
Опубликуйте страницу подвала, а затем переопубликуйте все страницы сайта. Без этого баннер не появится — это самая частая причина «я всё сделал, но ничего не работает».
Важно: в режиме редактирования и в предпросмотре код показывается простым текстом. Это нормально. Проверять нужно только на опубликованном сайте.
Что обязательно поменять под себя
1. Ссылку на политику cookie
В коде стоит заглушка href="/policy". Замените её на адрес своей страницы с политикой. Найти строку просто: ищите по слову ck-banner__link.
2. Тексты
Заголовки «Файлы cookie» и «Настройки файлов cookie», описания и названия категорий — обычный текст внутри тегов, меняйте прямо в коде. Не трогайте только атрибуты data-action и aria-label у чекбоксов: на них завязана логика скрипта.
3. Цвета
Цвета записаны так: var(--uc-button-bgcolor-zQYsuSY, #3e563e). Первое значение — переменная из настроек стилей вашего проекта, второе (после запятой) — запасной цвет, который применится, если переменной нет. Самый простой путь: найти в коде шестизначные коды и заменить на свои.
- #ffffff — фон плашки и окна настроек;
- #1f2a1f — цвет заголовков;
- #2c3530 — цвет основного текста;
- #3e563e — фон кнопок;
- #000000 — фон кнопок при наведении;
- #618c61 — акцентный цвет: рамки галочек, крестик, обводка при фокусе.
4. Положение и ширину
В самом начале стилей есть строка --ck-w: min(820px, 100%) — это максимальная ширина плашки. Рядом bottom: 16px — отступ от нижнего края экрана. Если хотите прижать баннер к левому краю, замените justify-content: center на justify-content: flex-start.
Важно: баннер не отключает счётчики
Это нужно понимать честно. Код показывает уведомление и запоминает выбор посетителя — но сам по себе он не мешает Яндекс Метрике или пикселю собирать данные. Если вам нужна именно техническая сторона (счётчики не работают до согласия) — тут выигрывает штатный блок T972, он умеет это из коробки.
Свой код с этим тоже можно подружить. После выбора посетителя скрипт отправляет событие cookie:notice:resolved — за него можно зацепить подключение своих счётчиков:
КОД 2:
<script>
document.addEventListener('cookie:notice:resolved', function (e) {
var d = e.detail || {};
var c = d.choices || {};
var all = d.action === 'accept-all';
if (all || c.analytics) {
// сюда переносим код Яндекс Метрики / Google Analytics
console.log('Аналитика разрешена');
}
if (all || c.performance) {
// сюда то, что относится к производительности
console.log('Куки производительности разрешены');
}
});
</script>Счётчики в этом случае нельзя ставить обычным способом через настройки сайта — их код переносят внутрь этого обработчика, чтобы он срабатывал только после согласия.
Как проверить, что всё работает
- Опубликуйте сайт и откройте его в новой вкладке — лучше в режиме инкогнито.
- Примерно через треть секунды снизу должна плавно появиться плашка.
- Нажмите «Настроить параметры» — должно открыться окно с четырьмя галочками. Первая заблокирована, это правильно.
- Нажмите любую кнопку выбора и обновите страницу. Плашка появиться не должна.
- Откройте сайт на телефоне: кнопки должны встать в столбик и не вылезать за края.
Чтобы показать баннер заново и проверить ещё раз, откройте консоль браузера (Ctrl+Shift+J или ⌘+Option+J) и выполните:
CookieNotice.reset()Эта же команда пригодится, когда вы правите тексты и хотите посмотреть результат. А команда CookieNotice.openSettings() откроет окно настроек — её удобно повесить на ссылку в подвале, чтобы посетитель мог изменить решение позже.
Частые ошибки
- Код виден на странице как текст. Страница не опубликована. В предпросмотре так и должно быть.
- Баннер есть только на одной странице. Код лежит не в подвале, либо остальные страницы не переопубликованы.
- Ссылка ведёт на чужой сайт. Не заменили заглушку в href.
- Баннер больше не показывается, а нужно проверить. Выбор уже сохранён в браузере — используйте CookieNotice.reset().
- На сайте два баннера. Остался включённым штатный блок T657, T886, T887 или T972 — отключите лишний.
- Вставили только часть кода. Копировать нужно целиком: разметку, стили и скрипт. Без скрипта плашка просто не появится.
Коротко
Один блок T123 в подвале сайта, один кусок кода, пять минут работы — и на всех страницах появляется аккуратное уведомление о cookie с настройками, которое выглядит как часть вашего дизайна, а не как чужой виджет. Если нужна не только форма, но и реальное управление счётчиками — ставьте штатный блок T972 или перенесите коды счётчиков в обработчик события, как показано выше.