Быстрый старт
Установите Cookiesh за несколько минут с помощью обычного HTML, Next.js или Google Tag Manager и убедитесь, что сторонние скрипты заблокированы до согласия посетителей.
Последнее обновление: 29 октября 2026 г.
Cookiesh работает через один тег script. Загрузите его раньше всех остальных тегов на странице, отметьте категорией скрипты, которым нужно согласие, — и Cookiesh покажет каждому посетителю баннер, подходящий для его региона, заблокирует эти скрипты до получения согласия и сохранит сделанный выбор. Большинство сайтов запускаются менее чем за пять минут.
Перед началом
Вам понадобятся аккаунт Cookiesh и сайт. В панели управления откройте Domains → Add domain, введите свой домен и скопируйте Site ID. Он выглядит так: ck_live_8f2a91.
Cookiesh распределяет всё по четырем категориям согласия:
| Категория | По умолчанию | Типичное применение |
|---|---|---|
necessary |
Всегда включена | Сессии, безопасность, балансировка нагрузки, сам файл cookie с согласием |
preferences |
Выключена | Язык, тема и другие запоминаемые настройки |
analytics |
Выключена | Продуктовая и трафиковая аналитика |
marketing |
Выключена | Реклама, ретаргетинг и пиксели соцсетей |
Перед запуском сайта выполните первое сканирование файлов cookie из панели управления. Тогда Cookiesh будет знать, какие скрипты и файлы cookie к какой категории относятся, и сможет заранее заполнить ваш баннер.
Установка с помощью HTML
Добавьте загрузчик первым скриптом в <head>, чтобы он выполнялся раньше всего, что устанавливает файлы cookie:
<head>
<script
src="https://sdk.cookiesh.eu/v1/cookiesh.js"
data-site-id="ck_live_8f2a91"
async
></script>
<!-- остальные теги ниже -->
</head>
Затем у каждого скрипта, которому нужно согласие, замените type="text/javascript" на type="text/plain" и добавьте категорию в атрибут data-cookiesh. Когда посетитель разрешит эту категорию, Cookiesh вернет прежний тип и запустит скрипт:
<script
type="text/plain"
data-cookiesh="analytics"
src="https://analytics.example.com/script.js"
></script>
<script type="text/plain" data-cookiesh="marketing">
// Встроенные скрипты работают так же.
initAdPixel();
</script>
Можно блокировать и iframe, например встроенные видео и карты. Используйте data-cookiesh-src вместо src, и Cookiesh загрузит их после получения согласия.
Установка с Next.js
Установите React SDK:
npm install @cookiesh/react
Подключите скрипт в корневом layout со стратегией beforeInteractive, чтобы он выполнялся раньше других скриптов, и оберните приложение в CookieshProvider:
// app/layout.tsx
import Script from 'next/script';
import { CookieshProvider } from '@cookiesh/react';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
<Script
src="https://sdk.cookiesh.eu/v1/cookiesh.js"
data-site-id={process.env.NEXT_PUBLIC_COOKIESH_SITE_ID}
strategy="beforeInteractive"
/>
<CookieshProvider>{children}</CookieshProvider>
</body>
</html>
);
}
Отображайте код, зависящий от согласия, только когда категория разрешена. useConsent() перерисовывает компонент каждый раз, когда посетитель меняет свой выбор:
// app/analytics.tsx
'use client';
import Script from 'next/script';
import { useConsent } from '@cookiesh/react';
export function Analytics() {
const { analytics } = useConsent();
if (!analytics) return null;
return <Script src="https://analytics.example.com/script.js" strategy="afterInteractive" />;
}
Для продуктов с авторизацией передайте userId в CookieshProvider, чтобы синхронизировать выбор посетителя между устройствами.
Установка с Google Tag Manager
Community Template от Cookiesh задает состояния Google Consent Mode v2 по умолчанию до срабатывания любых тегов и обновляет их, когда посетитель делает выбор.
- В контейнере GTM откройте Templates → Tag templates → Search gallery и добавьте Cookiesh CMP.
- Создайте новый тег на основе шаблона и вставьте свой Site ID.
- В качестве триггера выберите Consent Initialization – All Pages.
- Выберите состояние согласия по умолчанию для каждого региона. Для ЕЭЗ, Великобритании и Швейцарии используйте
denied. - Для каждого тега Google откройте Advanced settings → Consent settings. Оставьте встроенные проверки согласия включенными и потребуйте дополнительное согласие для тегов не от Google.
- Опубликуйте контейнер.
Если вы подключаете gtag.js без GTM, задайте состояния по умолчанию самостоятельно, до тега Google:
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
wait_for_update: 500,
});
</script>
Cookiesh отправляет соответствующий вызов gtag('consent', 'update', …) сразу после того, как посетитель сделает выбор, а также при каждом последующем просмотре страницы.
Проверка установки
- Откройте сайт в приватном окне. Должен появиться баннер, а в инструментах разработчика браузера пока не должно быть файлов cookie аналитики и маркетинга.
- Выполните
Cookiesh.debug()в консоли. Команда выведет определенный регион, активный баннер, каждый заблокированный скрипт и текущее состояние согласия. - Разрешите только аналитику и перезагрузите страницу. Скрипты аналитики запустятся, а маркетинговые останутся заблокированными.
- В Google Tag Assistant убедитесь, что на вкладке Consent события default и update идут в правильном порядке.
Следующие шаги
- Подстройте баннер под свой бренд: см. Оформление баннера.
- Проверьте, как классифицируются и блокируются ваши файлы cookie: см. Категории cookie.
- Добавьте региональные правила для GDPR, CCPA и LGPD: см. Правила геотаргетинга.
- Узнавайте о согласии и реагируйте на него в собственном коде с помощью JavaScript API и событий.
- Читайте блог: там есть практические руководства по требованиям к согласию.