Инженерный блог

Закон суров: Как легально использовать Google Analytics в Казахстане и не получить штраф за утечку ПДн

07.08.2026
Шарафутдинов Р.

Представьте ситуацию: вы запустили крутой e-commerce проект, прикрутили к нему Google Analytics 4 (GA4), настроили сквозную аналитику и спокойно льете трафик. Цифры сходятся, ROAS радует, жизнь прекрасна. А потом в один непрекрасный день к вам в офис стучится регулятор (Министерство цифрового развития) и выкатывает штраф, от которого у финдиректора начинает дергаться глаз.

За что? А за то, что вы, сами того не ведая, сливаете персональные данные (ПДн) граждан Казахстана на сервера дяди Сэма в США, нарушая Закон РК «О персональных данных и их защите». И незнание закона, как известно, не освобождает от ответственности (а от штрафов — тем более).

«Ну всё, тушите свет, удаляем GA4 и переходим на счетчики из 2000-х», — скажет паникер. «Подержите мое пиво», — скажет Data Engineer. В этой статье мы разберем (с щепоткой инженерного юмора и реальными примерами кода), как настроить аналитику так, чтобы и юристы были довольны, и маркетологи не плакали от нехватки данных.

Где прячется состав преступления? (Что не так с базовым GA4)

Закон РК четко говорит: сбор и обработка ПДн возможны только с согласия субъекта, а хранение баз данных должно осуществляться на территории Казахстана. Что происходит, когда вы просто вставляете стандартный gtag.js на сайт?

  1. IP-адрес юзера летит в Google: Да, IP-адрес может быть признан косвенными персональными данными. Google, конечно, клянется, что в GA4 IP-адреса анонимизируются по умолчанию, но до того, как они будут анонимизированы, они физически пересекают границу РК.
  2. PII (Personally Identifiable Information) в URL: Разработчик Вася забыл настроить метод POST для формы регистрации, и теперь email пользователя (?email=vasya@mail.kz) летит прямиком в отчеты GA4. За это Google может не только забанить ваш аккаунт (по своим правилам), но и регулятор задаст вопросы.
  3. User-ID: Вы радостно передаете номер телефона или ИИН в качестве user_id для кросс-девайс трекинга. Бинго! Статья обеспечена.

Архитектура спасения: Серверный GTM как «чистилище» данных

Чтобы спасти ситуацию, мы не можем отправлять данные напрямую из браузера пользователя в Google. Нам нужен посредник — эдакое «чистилище», которое будет принимать сырые данные, вырезать из них все незаконное и только потом отправлять в буржуйские дата-центры. Этот посредник — Server-Side Google Tag Manager (sGTM).

Схема выглядит так:

  • Браузер отправляет данные не на google-analytics.com, а на ваш собственный поддомен (например, metrics.yoursite.kz).
  • Этот поддомен смотрит на сервер в казахстанском дата-центре (или на легальном облаке).
  • Серверный GTM берет запрос, безжалостно вырезает из него PII (хэширует email-ы, дропает точные IP-адреса, меняя их на гео-координаты).
  • «Обезличенный» лог улетает в GA4. Закон соблюден.
// Пример кастомного Client-скрипта в sGTM для очистки PII
const claimRequest = require('claimRequest');
const getRequestPath = require('getRequestPath');
const setPixelResponse = require('setPixelResponse');
const log = require('logToConsole');
const computeSHA256 = require('sha256Sync');

// Перехватываем запрос с фронтенда
let url = getRequestPath();

// Если в URL затесался email - хэшируем его от греха подальше
if (url.indexOf('@') > -1) {
    const rawEmail = url.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z0-9_-]+)/gi)[0];
    const hashedEmail = computeSHA256(rawEmail.toLowerCase());
    url = url.replace(rawEmail, hashedEmail);
    log('PII Sanitized: Email hashed.');
}

// Удаляем IP-адрес из полезной нагрузки, оставляем только страну/город (это легально)
const eventData = claimRequest();
delete eventData.ip_override; 

// Отправляем очищенные данные дальше по пайплайну
setPixelResponse('Sanitization complete', 200);

Google Consent Mode v2: Когда "Да" значит "Да", а "Нет" — это головная боль маркетолога

В 2024 году Google выкатил Consent Mode v2. Если вы таргетируетесь на Европу (GDPR), это уже мастхэв, но и для стран СНГ это отличный инструмент соблюдения комплаенса. Суть в том, что пока пользователь не нажал кнопку «Согласен» на дурацком поп-апе с куки-файлами, GA4 работает в «бескуки» режиме (Cookieless pings).

Как это выглядит под капотом?

  • Пользователь зашел, но не дал согласие (ad_storage='denied', analytics_storage='denied').
  • Браузер НЕ сохраняет _ga куки (Client ID).
  • Данные о просмотре страниц все равно улетают на сервер, но они полностью анонимны и не связаны в сессии.
  • В GA4 эти данные используются для поведенческого моделирования (Behavioral Modeling) на основе машинного обучения. Алгоритм «достраивает» картину, угадывая, откуда пришел этот аноним, опираясь на данные тех, кто согласие дал.

Инженерная боль: Внедрение Consent Mode требует филигранной настройки Data Layer. Если вы просто скроете баннер через CSS, вас ждут сюрпризы в виде полностью пустых отчетов. Триггеры в GTM должны стрелять строго ПОСЛЕ события consent_update.

Потеря данных: Базовый GA4 vs Consent Mode v2

Процент учтенных сессий при отказе пользователя от cookies (отказ = 40% трафика).

BigQuery: Экспорт без компромиссов

Многие компании экспортируют сырые данные из GA4 в BigQuery для глубокой аналитики. И тут возникает вопрос: а где физически находится ваш BigQuery датасет? Если он в США, то передача туда нехэшированных данных (например, User-ID, который вы связали с телефоном в вашей CRM) — это опять нарушение.

Как делать правильно (Data Engineering Best Practices):

  1. Создавайте датасет BigQuery в европейской юрисдикции (которая признается РК обеспечивающей адекватную защиту) или используйте локальные DWH.
  2. Никогда не передавайте в GA4 открытые персональные данные. Используйте SHA-256 хэширование с солью (salt) еще на стороне бэкенда до отправки в Data Layer.
  3. В BigQuery ваши дата-аналитики будут джоинить (JOIN) данные GA4 с базой данных CRM именно по этому хэшу. Аналитика работает, PII не утекает. Шах и мат, проверяющие!

Экономика комплаенса: Штрафы vs Настройка

Сравнение потенциальных штрафов за утечку ПДн с затратами на внедрение Server-Side GTM.

Инсайты и Советы (Tips & Tricks)

  • Аудит на регулярках: Настройте автоматический алерт (через Cloud Functions), который будет парсить логи sGTM и искать совпадения по RegEx на email, ИИН (12 цифр) и номера телефонов. Если скрипт нашел PII — бейте тревогу и чините фронтенд.
  • Следите за субподрядчиками: Убедитесь, что ваше рекламное агентство не устанавливает левые пиксели через GTM в обход серверного контейнера. Включите GTM Approval Workflow (когда изменения публикует только ваш Senior Engineer).
  • First-Party Data — король: Собирайте данные сами, храните их у себя (в KZ), а в рекламные кабинеты (Google/Meta) отправляйте только агрегированные и хэшированные сигналы через Conversions API (CAPI).

Итоги: Комплаенс — это не конец света

Защита персональных данных — это не просто прихоть юристов, это глобальный тренд. Настроить легальную аналитику в Казахстане можно, и это не требует отказа от мощных инструментов вроде GA4.

Да, это требует перехода от простой вставки скрипта в <head> к полноценной Server-Side архитектуре. Да, ваши инженеры выпьют не один литр кофе, настраивая sGTM и Consent Mode. Но зато вы получите не просто «законную» аналитику, а более чистые данные (потому что sGTM обходит блокировщики рекламы) и крепкий сон для вашего финдиректора. А крепкий сон, как известно, бесценен.

Рустам Шарафутдинов

Рустам Шарафутдинов

Автор инженерного блога

Эксперт в области архитектуры Google Cloud и Senior Full-Stack разработчик с более чем 15-летним опытом. Специализируется на отказоустойчивых архитектурах, оптимизации высоконагруженных проектов и интеграции AI (Vertex AI).

Экспертность: GCP, Kubernetes, Микросервисы, React, Node.js

Комментарии (0)