# Практика · События и параметры GA4

Результат: на своём опубликованном сайте проверить автоматические события, реализовать `generate_lead` и `cta_click`, увидеть параметры в DebugView и настроить разрез и ключевое действие. Работа продолжает тему 5.

## 1. Подготовка

Используйте личную копию проекта темы 5. Запишите production URL, название ресурса и Measurement ID. Откройте сайт и убедитесь, что `page_view` приходит именно в ваш поток. Не отправляйте реальные имена, email, телефоны или содержимое формы в GA4; проверяйте также адреса страниц на наличие персональных данных.

В `stend/` лежит готовый пример с тремя страницами. Это запасной вариант, а не требование заменить существующий проект. В нём Google Tag отсутствует: вставьте один тег своего потока в `<head>` каждой страницы. Не добавляйте второй тег поверх уже установленного. Никаких реальных заявок стенд не сохраняет.

## 2. Автоматические измерения

В GA4 откройте Администратор → Потоки данных → свой веб-поток → Улучшенная статистика (Enhanced Measurement). Проверьте нужные переключатели: прокрутка, исходящие клики, скачивания и взаимодействия с формами. Названия пунктов могут зависеть от языка интерфейса.

Выполняйте действия по одному на production-сайте:

1. Откройте длинную `about.html` и прокрутите до конца: ожидается `scroll`, впервые при 90% за просмотр.
2. Нажмите внешнюю ссылку Google: ожидается `click`. Внутренняя ссылка между страницами не является исходящей.
3. Нажмите ссылку на `files/analytics-guide.pdf`: ожидается `file_download`. Это сигнал клика, не доказательство завершённого скачивания.
4. Взаимодействуйте с формой и отправьте её с тестовыми значениями: проверьте `form_start` и `form_submit`. Автоматическое распознавание формы нужно проверить, а не предполагать.

Найдите события в Realtime. Отсутствие сигнала сначала проверяйте через DebugView, настройки согласия, блокировщики и правильность потока. Не отключайте защиту браузера глобально.

## 3. Два собственных обработчика

Добавьте CTA `id="program-cta"` и область `id="program-preview"`, как в `stend/index.html`. Код `stend/js/script.js` отправляет `cta_click` с `button_name: 'program'` и `page_section: 'hero'`.

В шаблоне темы 5 форма называлась `contact-form`, и обработчик `submit` уже существовал. Переименуйте её в `lead-form` и **замените прежний обработчик**, не добавляйте второй. Сохраните элемент `id="form-status"`. Новый обработчик отправляет `generate_lead` с `lead_source: 'contact_form'`; значения полей не передаются. Подключите скрипт один раз, с `defer`.

Это учебное допущение: событие означает успешную клиентскую проверку формы, не принятую сервером заявку. На реальном сайте отправляйте его после подтверждения успешного сохранения заявки сервером.

Опубликуйте изменения обычным способом своего проекта. Дождитесь успешного deployment в Vercel. Проверьте production URL: нужная кнопка, PDF и новая форма должны присутствовать. Один клик или submit должен давать одну отправку соответствующего события.

## 4. DebugView

Подключите свой сайт через Google Tag Assistant и откройте DebugView учебного ресурса. Сделайте CTA-клик и отправьте тестовую форму. Раскройте каждое событие и проверьте имена и значения параметров.

Если Tag Assistant недоступен, временно добавьте `debug_mode: true` к параметрам двух проверяемых событий и опубликуйте учебную версию. После проверки **удалите параметр** и опубликуйте снова; значение `false` не является способом выключения debug mode. Учитывайте задержки, выбранное устройство, consent и блокировщики. Локальный журнал примера не доказывает получение данных GA4.

## 5. Разрез и ключевое действие

Создайте Custom Dimension: название «Название кнопки», область действия Event, параметр `button_name`. Значение `program` сюда не вписывают. Данные для отчётов могут появляться через 24–48 часов; настройка не добавляет разрез задним числом.

Найдите `generate_lead` в списке событий и проверьте отметку Key Event. Если её нет — включите. В день занятия события в списке обычно ещё нет: он наполняется после обработки данных, поэтому этот шаг выполняется на следующий день. Обходного пути нет — отметить можно только событие из списка. Снова выполните действие. Статус применяется к новым данным и сам не добавляет обработчик на сайт.

## 6. Что сдать

Заполните `REPORT.md` в своей копии учебного репозитория. Для студенческого отчёта сохраните 15 итоговых кадров в `screenshots/` и вставьте их относительными Markdown-ссылками. Отдельный преподавательский список из 39 пошаговых кадров находится в `SCREENSHOTS.md`. Добавьте production URL и ссылку на коммит с кодом. На снимках должны читаться событие, параметры и нужная настройка; скройте личные данные. Если сигнал не получен — опишите симптом и проверенные гипотезы.

Ответьте на три вопроса из шаблона. Критерии: рабочий production-сайт, один обработчик на действие, отсутствие персональных данных в параметрах, подтверждение получения обоих событий и корректные настройки Custom Dimension и Key Event.
