ОП.03 · занятие 1 · 2 академических часа
Цифровая
воронка
Вопрос 1
О чём это
занятие?
Одно предложение, к которому мы вернёмся в конце
Ответ
Про то, что происходит между «человек кликнул ссылку» и «мы увидели цифру в отчёте»
Между этими двумя моментами данные проходят длинный путь через несколько систем. Сегодня мы разберём этот путь по частям: из чего он состоит, кто им управляет и где он рвётся.
К концу пары каждый из вас откроет действующий сайт, своими глазами увидит, какие данные он отправляет, и составит карту этого пути.
Вопрос 2
Что происходит,
когда вы открываете сайт?
Кроме того, что загружается страница
Ответ
Загружается страница — и одновременно сайт сообщает о вас наружу
Открытие страницы — это не один запрос, а несколько десятков. Часть из них ничего не приносит на экран: они уходят на серверы аналитики и сообщают, что страницу открыли. Пока вы читаете и прокручиваете, отправляются новые — уже про ваши действия. Из них и собирается всё, что потом видно в отчётах.
Вопрос 3
Хорошо. А что такое
воронка?
Слово из названия темы, начнём с него
Ответ · определение и происхождение
Воронка — это путь клиента, разбитый на шаги, на каждом из которых часть людей отсеивается
Наверх входит много людей — те, кто увидел рекламу или ссылку. Донизу доходят немногие — те, кто оставил заявку. Форма воронки показывает это сужение: чем ниже шаг, тем меньше людей на нём осталось.
Модель, из которой выросла воронка, предложил рекламист Элиас Сент-Эльмо Льюис в 1898 году: внимание → интерес → желание → действие. Изображать её именно воронкой стали позже; этот образ закрепил Уильям Таунсенд в книге «Bond Salesmanship» (1924).
«Клиента нужно провести через четыре ступени: привлечь внимание, вызвать интерес, пробудить желание и подтолкнуть к действию».
Э. Сент-Эльмо Льюис · модель AIDA, 1898Вопрос 4
Почему её рисуют
сужающейся?
Почему не лестницей и не прямой линией
Ответ
Потому что переход на каждый следующий шаг делают не все
Ширина полосы — это число людей, дошедших до шага. Разница между соседними полосами — потеря на переходе. Именно эти потери нас интересуют: воронку строят не ради красивой картинки, а чтобы найти шаг, на котором отсеивается больше всего.
Вопрос 5
А что значит
«цифровая» воронка?
Воронки строили и до интернета
Ответ
Каждый шаг можно измерить автоматически, потому что действие оставляет цифровой след
До интернета доля дошедших до покупки оценивалась опросами и догадками. В цифровой воронке каждый переход фиксируется сам: нажатие, открытие формы, отправка — всё это записывается в момент, когда происходит. Поэтому воронку видно не приблизительно, а по числам.
«Половину денег, которые я трачу на рекламу, я выбрасываю впустую. Беда в том, что я не знаю, какую именно половину».
фразу приписывают Джону Ванамейкеру, владельцу универмагов, конец XIX векаЦифровая воронка существует, чтобы ответить на этот вопрос — какая половина.
Вопрос 6
Что считается
одним шагом воронки?
Чем измеряется переход
Ответ · первое из четырёх понятий
Событие
Сначала есть действие — то, что человек сделал в интерфейсе: нажал, прокрутил, ввёл текст. Действие само по себе нигде не сохраняется: если его не зафиксировать программно, оно происходит и исчезает.
Событие — это зафиксированный факт действия, переданный в систему аналитики. У него есть имя, например generate_lead, и набор параметров. Событие отвечает на вопрос «что произошло». Исправить переданное событие нельзя — можно только отправить новое.
Шаг воронки — это событие. «Открыли форму» — событие form_start. «Оставили заявку» — событие generate_lead.
Вопрос 7
Значит, 200 событий —
это 200 клиентов?
Здесь чаще всего ошибаются
Ответ · второе понятие
Нет. Событие — это не заявка
Заявка — это запись со смысловыми данными обращения: имя, контакт, текст, источник, время. Она хранится в таблице или системе управления заявками и отвечает на вопрос «с кем и о чём». Одно нажатие кнопки — это событие; заявка появляется, только если человек заполнил и отправил форму.
«Тщеславные метрики — это красивые растущие числа, по которым нельзя понять, что делать дальше. Полезные метрики отвечают на вопрос: какое решение принять».
Эрик Рис, «Бизнес с нуля» (The Lean Startup), 2011 — пересказВопрос 8
Что происходит
с заявкой дальше?
После того как форма отправлена
Ответ · третье понятие и сводка
Её обрабатывают, и у неё меняется статус
Статус — это этап обработки заявки: new, in progress, done, при необходимости rejected. Он отвечает на вопрос «на каком этапе работа» и меняется многократно — людьми и автоматизацией. Заявки и их статусы хранятся в системе управления заявками (CRM).
Аналитик считает события, менеджер работает с заявками, руководитель смотрит на статусы. Три роли — три взгляда на один поток.
Вопрос 9
Как действие
превращается в данные?
Что происходит технически в момент нажатия
Ответ
Программа в браузере отправляет письмо — HTTP-запрос
В момент действия скрипт на странице собирает строку с параметрами и отправляет её на сервер системы аналитики. С точки зрения сети это ничем не отличается от загрузки картинки; разница в том, что вместо картинки передаётся описание произошедшего. Ниже — настоящий запрос, пойманный на учебном стенде после нажатия «Отправить».
Кому: www.google-analytics.com /g/collect · Метод: POST
Вопрос 10
И что написано
внутри этого письма?
Разберём по одному параметру
Ответ · параметры запроса /g/collect · значения с учебного стенда
Каждый ключ — одна строчка смысла
tid=G-4EXAMPLE99Куда поступит событие — идентификатор ресурса аналитики. Разные сайты пишут в разные tid.en=generate_leadИмя события. По нему строят отчёты. Бывает автоматическим (page_view) или заданным вручную.dl=… · dt=…Адрес и заголовок страницы, с которой отправлено событие. В dl видны метки utm_* из ссылки.ep.source=collegeДополнительный параметр. Здесь «college» подставился из метки utm_source в адресе. Без метки было бы (not set)._et=3758Engagement time: 3758 мс — столько человек взаимодействовал со страницей до отправки.Всё, что мы настраиваем в диспетчере тегов и в аналитике, в итоге меняет именно эти строки.
Ответ · продолжение · откуда берётся ep.source
Один и тот же клик, две разные ссылки
utm_source=college, справа — по ссылке без метки. Это и чиним на занятии 2.Вопрос 11
Это можно увидеть
своими глазами?
Без доступа к самой аналитике
Ответ · шаг 1 из 7 · настроить панель
Открыть Network и оставить только запросы аналитики
1
2
3
F12 (или Cmd + Option + I) и перейти на вкладку Network.collect — останутся только запросы к системе аналитики.Ответ · шаг 2 из 7 · действие даёт строку
Каждое действие на странице — новая строка в списке


collect?…&en=…Открытие страницы даёт page_view, прокрутка — scroll, нажатие кнопки — select_content, отправка формы — generate_lead. Имя действия записано прямо в адресе строки, в параметре en=.
Ответ · шаг 3 из 7 · открыть запрос → откуда каждый параметр
Клик по строке → вкладка Payload → разбор значений
Часть 1 — поля, которые зависят от того, что вы сделали на странице.
en=generate_lead←вы нажали кнопку «Отправить». Имя задал программист сайта в вызове счётчикаdl=…/?utm_source=college&…←адресная строка браузера целиком, вместе с метками utm_*ep.source=college←кусок utm_source, вырезанный из того же адреса кодом страницыdt=Курс «Аналитика с нуля»…←тег <title> открытой страницы, браузер берёт его самep.form_id=lead_main←атрибут id формы в вёрстке — так различают несколько форм на сайте_et=3758←счётчик активного времени: сколько миллисекунд вы взаимодействовали со страницей до нажатияОтвет · шаг 3 · откуда это в коде
Слева — код учебного стенда, справа — что улетело
form.addEventListener('submit', () => {
gtag('event', 'generate_lead', {
form_id: 'lead_main',
source: currentSource(),
value: 0,
currency:'RUB'
});
});
// currentSource() — это буквально:
new URLSearchParams(location.search)
.get('utm_source') || '(not set)'
stend/index.html
en=generate_lead ep.form_id=lead_main ep.source=college epn.value=0 ep.currency=RUB
вкладка Payload
Второй аргумент gtag('event', …) становится параметром en. Каждый ключ объекта — отдельным полем: строка превращается в ep.имя, число — в epn.имя. Никакой магии: что программист написал в объекте, то и уходит в запросе.
Ответ · шаг 3 · часть 2 · служебные поля
Откуда берутся поля, которые вы не задавали
tid=G-4EXAMPLE99←прописан в коде счётчика при установке. Один на весь сайт, от посетителя не зависитcid=1788496860.36949…←файл cookie _ga в вашем браузере. Создаётся при первом визите и живёт до очистки cookiesid=1788496860←номер текущего визита. Новый — после 30 минут без действий или на следующий деньsct=1 · seg=1←какой это визит по счёту и был ли он «вовлечённым» — считает сам счётчикul=ru-ru · sr=1470x956←язык браузера и разрешение экрана. Браузер сообщает их сам, не спрашивая_s=5←порядковый номер запроса в этом визите: это пятое событие подрядРазница принципиальная. Поля с прошлых экранов — про действие: их задаёт сайт. Эта группа — про вас и ваш браузер: она уходит автоматически при любом событии, даже если сайт ничего специально не настраивал.
Ответ · шаг 4 из 7 · пустые поля
Что ломается дальше, если поле пришло пустым
Если перейти по ссылке без метки, событие всё равно уйдёт — но часть полей окажется пустой: вместо значения будет (not set) или ничего. Вот к чему это приводит на следующих станциях маршрута.
ep.source — пусто→в отчёте по каналам заявка попадёт в строку (not set) или direct. Неясно, какая ссылка её привелаep.form_id — пусто→если форм на сайте несколько, отличить их будет нечем: все заявки склеятся в однуcid — пусто→события одного человека не свяжутся между собой; один визит распадётся на несколько «пользователей»ID заявки — пусто→автоматизация не найдёт запись при повторном обращении и создаст дубль в CRMОтсюда правило, к которому мы вернёмся на каждом занятии: пустое поле — это не «мелочь в данных», а сломанная связь между двумя станциями маршрута. Проверять поля нужно там, где они появляются, а не в конце, когда цифры уже не сходятся.
Ответ · шаг 5 из 7 · что означают столбцы
Что означают колонки строки collect
1
2
3
4
en= — имя события.navigator.sendBeacon: браузер дошлёт его, даже если вкладку закрыть.Ответ · шаг 6 из 7 · вкладка Headers
Куда ушёл запрос и что ответил сервер
? — адрес приёмника (/g/collect), после — параметры через &.:// превращается в %3A%2F%2F, буквы — в %D0…. Читать удобнее во вкладке Payload.POST — способ отправки. Данные всё равно лежат в адресе, а не в теле.204 No Content с зелёной точкой — сервер принял запрос, возвращать нечего. Это норма для аналитики.Ответ · шаг 7 из 7 · вкладка Payload · тот же запрос, разобранный по полям
Query String Parameters — все поля события
_ga — связывает визиты одного человекаdl целиком лежат метки utm_*generate_lead. Главное поле: по нему строятся отчёты и воронкиep.form_id, ep.source) и числовые (epn.value)Вопрос 12
Всегда ли так
измеряли?
Короткая историческая справка
Ответ · как считали посещения в разные годы
От журналов сервера к встроенным счётчикам
Вопрос 13
Кто ведёт заявку
от ссылки до отчёта?
Человек или программа
Ответ · маршрут из десяти станций
И человек, и программа — по очереди
Ручными участками управляют люди: ссылку размечает специалист по продвижению, форму заполняет посетитель, статус изменяет менеджер. Остальное работает автоматически.
Вопрос 14
Где на этом маршруте
теряются данные?
И почему именно там
Ответ · четвёртое понятие
На стыках, а не внутри станций
Точка разрыва — стык двух шагов или систем, на котором данные теряются, искажаются или дублируются. Форма не передала поле source — в отчёте у заявки источник останется (not set). Внутри самой формы и самой таблицы данные при этом целы. Рвётся именно на переходе, чаще всего — там, где ручной участок передаёт данные автоматическому.
Вопрос 15
Почему аналитика, таблица
и CRM показывают разные цифры?
Три типичные ловушки
Ответ · разберём на числах
Одна кампания, три системы, три разных числа
Запустили рассылку. Через неделю смотрим на три экрана и видим три разные цифры — про одно и то же событие.
Вопрос не «какая система врёт». Все три считают разные вещи, и каждую разницу можно объяснить. Разберём обе по очереди.
Первый разрыв · аналитика 120 → таблица 96
Куда делись 24 заявки
Итог: 120 − 14 + 30 + 8 ≈ 96 после вычитания задвоений и тестов. Числа сходятся, когда каждую поправку назвали.
Второй разрыв · таблица 96 → CRM 84
Куда делись ещё 12 заявок
Из трёх причин проблема только одна — упавший шаг. Две другие — так и задумано. Поэтому сверка данных нужна не для «одинаковых чисел», а чтобы отделить норму от поломки.
Отдельная беда · не «сколько», а «откуда»
Почему у половины заявок источник неизвестен
VK — 8, vk — 5, Vk — 3. Для аналитики это три разных источника. Лечится справочником меток: только строчные буквы.direct сваливаются переходы из мессенджеров, приложений и писем без меток.Это и есть тема занятия 2: научиться размечать ссылки так, чтобы источник доезжал до отчёта целым.
Вопрос 16
Что из этого
мы делаем на курсе?
Границы учебного проекта
Ответ
В объективе и за кадром
- один учебный сайт с формой и кнопкой
- воронка из 4 шагов: просмотр → кнопка → форма → заявка
- учебные источники и тестовые заявки
- автоматизация, CRM в учебном режиме, уведомления
- один дашборд на собственных данных
- рекламные бюджеты и закупка трафика
- персональные данные реальных людей
- промышленная CRM и корпоративные интеграции
- серверное отслеживание, модели атрибуции
- нагрузка и масштабирование
Демонстрация · преподаватель · 10 минут
Фиксируем событие generate_lead на учебном стенде
- Открыть стенд →
F12→ Network, фильтрcollect, включить Preserve log. - Перезагрузить →
en=page_view. Прокрутить →en=scroll. - Нажать кнопку и отправить форму →
select_content,form_start,generate_lead. - Выбрать
en=generate_lead→ Payload → разобрать параметры.


Домашнее задание · два, с разными сроками
Максим Николаевич не хочет задавать домашнее задание. Но очень хочет
- Открыть
shop.merch.google(запасные сайты — в задании), панель Network, фильтрcollect. - Сделать три действия: обновить страницу, прокрутить до низа, нажать на товар. По каждому записать имя события
enи то, что было в Payload. - Описать путь пользователя от ссылки до заявки в пяти шагах своими словами и найти одно место, где данные могут потеряться.
- Приложить два скриншота: список Network и вкладку Payload.
бланк lesson_01/homework_01.md · ветка hw-01 · 30–40 минут
- Выбрать один задокументированный случай — темы на следующих экранах.
- Письменно ответить на пять вопросов: какие данные и каким способом, кто получал и зачем, как обнаружили, чем закончилось, как это выглядело бы в Network.
- Источники: не менее трёх, хотя бы один первичный — отчёт регулятора, научная статья, судебный документ.
- Свой замер: открыть три сайта и посчитать, сколько сторонних доменов получают запросы.
файл lesson_01/research_01.md · ветка hw-01-research · доклад 5–7 минут
Полное описание второго задания с шаблоном отчёта и критериями — файл RESEARCH_TASK.md в папке занятия. Про ИИ: наблюдения, поиск источников и сравнение — сами; модель допускается для формулировок и оформления. Я сам так делаю всегда, поэтому и вам запрещать не буду.
Исследовательское задание
А кто ещё смотрит
на эти запросы?
Сегодня мы разбирали свой счётчик. Но он на странице не один
Зачем этот разбор в курсе по автоматизации
Один инструментарий — разные основания для его применения
Событие, параметр, пиксель, идентификатор браузера работают одинаково независимо от того, кто их настроил. Различает случаи не техника, а основание: предупредили ли человека, получили ли согласие, знает ли он, какие поля о нём уходят и в какую систему.
Дальше по курсу вы соберёте систему, которая накапливает данные о людях: контакты, историю обращений, статусы. Прежде чем её строить, стоит разобрать случаи, когда сбор шёл без согласия, — по документам: отчётам регуляторов, научным работам, судебным решениям.
Задание: выбрать один задокументированный случай и разобрать его механику — какие запросы уходили, какие поля в них были, как это обнаружили и чем закончилось.
Выберите одну тему · или предложите свою, согласовав со мной