Тест-сценарии для команды
Чек-лист тест-прогона на боевом домене
https://x5.karada.kz(тот же сайт также доступен наhttps://karadabp.flowleads.dev— это alias одного билда, можно использовать как зеркало). Каждый сценарий — шаги + что должно появиться в каждой системе (UI / Make / Sheet / Slack / GTM / Meta).Почему тестим на проде. Сайт статический, билд один, оба URL ведут на ту же папку — выделенного staging нет. Чтобы тестовые заявки не пачкали аналитику и CRM, все ссылки ниже несут
utm_campaign=qa-…. Эта метка едет в payload и в Sheet — Make фильтрует QA-строки в отдельный таб (или просто не шлёт в Slack по правилуutm_campaign starts with qa-).Как помечать прохождение: ✅ прошло · ❌ упало · ⏸ нужен внешний ввод
Системы для проверки (открой один раз перед прогоном)
| Что | Где открыть |
|---|---|
| Сайт | https://x5.karada.kz/ в Chrome desktop + iPhone Safari + Android Chrome |
| Make · Leads scenario | https://us1.make.com/237825/scenarios/4743595 → History |
| Make · Upsells scenario | ⏸ ещё не создан — создаём по 16-amocrm-integration.md |
| Google Sheet · Leads | (открывается из Make-сценария — модуль «Google Sheets · Add a Row») |
| Google Sheet · Upsells | ⏸ создаётся вместе с Make · Upsells scenario |
| Slack | ✅ подключён (Make → Slack модуль уже в сценарии) |
| GTM Preview | https://tagmanager.google.com → контейнер GTM-K4Z4WPDB → Preview → ввести https://x5.karada.kz/ |
| Meta Events Manager · Test Events | https://business.facebook.com → Events Manager → Pixel 662311819389495 → вкладка Test Events |
Yandex Metrika удалён — больше не проверяем. Стек: GTM-K4Z4WPDB (GA4 + Meta Pixel внутри контейнера) + Make.com.
Текущий статус интеграций (на 2026-05-20)
| Кусок | Готово | Что значит для тестов |
|---|---|---|
Сайт (x5.karada.kz) на проде | ✅ | Все A/B/C/D/F сценарии можно прогонять прямо сейчас |
| Make · Leads scenario (Webhook → Sheet → Slack) | ✅ | Лиды доезжают до Sheet + Slack — это и проверяем |
| Make · Upsells scenario | ❌ ещё нет | E1 и E2 ждут: апсейл-клик улетит в endpoint, но ни Sheet · Upsells, ни Slack-уведомление не появятся, пока сценарий не создан |
| Slack-канал для лидов | ✅ подключён | Должен пингнуть на каждом A1–A5 / B1–B4 |
GTM-контейнер GTM-K4Z4WPDB | ✅ база | dataLayer-события приходят. Конкретные триггеры/тэги (Lead → Meta, GA4 conversion) — проверяем в Preview по чек-листу |
Meta Pixel 662311819389495 | ✅ установлен | PageView на загрузке, Lead на /thank-you. Test Events — см. G1 |
| Meta CAPI (server-side) | ❌ ещё нет | G2 (Pixel + CAPI dedup) — после подключения CAPI в Make |
| amoCRM | ❌ ещё нет | См. 16-amocrm-integration.md. Сценарий H1 «Лид доехал до amoCRM» — после подключения |
| Продамус + Purchase CAPI | ❌ ещё нет | Сценарии по оплатам — отдельный документ, после подключения шлюза |
| PDF-доставка гайда (A5) | ❌ ещё нет | Submit работает, но письмо с PDF не уйдёт — пометить в QA-логе как известно |
Что можно тестировать прямо сейчас (без блокеров): A1–A5, B1–B4, C1–C5, D1–D6, F1–F5, E3, G1 (если в GTM есть Pixel-тэг — проверь Preview). E1+E2 запускать имеет смысл после создания Make · Upsells scenario.
Карта URL (boilerplate для копирования)
| Вариант | URL без UTM | Mechanism | Форма открывается |
|---|---|---|---|
| KZ Стандарт | https://x5.karada.kz/ | quick-lead | Hero CTA «Записаться на курс» → модалка |
| KZ VIP | https://x5.karada.kz/vsl | registration | Inline под видео (#zayavka) |
| KZ Exclusive | https://x5.karada.kz/exclusive | application (4 шага) | Inline в правой колонке hero |
| KZ Гайд | https://x5.karada.kz/guide | lead-magnet | CTA «Получить гайд бесплатно» → модалка |
| KG Стандарт | https://x5.karada.kz/kg/ | quick-lead | Hero CTA → модалка |
| KG VIP | https://x5.karada.kz/kg/vsl | registration | Inline под видео |
| KG Exclusive | https://x5.karada.kz/kg/exclusive | application | Inline в hero |
| /thank-you | https://x5.karada.kz/thank-you | — | (видна после submit) |
ГРУППА A · Базовая воронка KZ
A1 · Quick-lead (Стандарт KZ) — модалка с /
Ссылка для теста (кликабельная): 👉 https://x5.karada.kz/?utm_source=facebook&utm_medium=paid_social&utm_campaign=qa-A1&utm_content=qa-ad-1&utm_term=qa-adset-1
Шаги:
- Открыть ссылку выше.
- В hero нажать «Записаться на курс» — должна открыться модалка.
- Ввести: имя
QA Тест A1, телефон+7 700 123 4567. - Нажать «Получить доступ к курсу».
Ожидания:
| Где | Что увидеть |
|---|---|
| UI | Модалка открывается; после submit редирект на /thank-you |
| /thank-you | Виден блок «Перейдите в VIP и попадите в группу» (quick-lead branch) + кнопка «Да, добавить VIP за +50 000 ₸» |
| Make | Новый execution; payload содержит tier: "standard", country: "KZ", funnel_mechanism: "quick-lead", все 5 UTM, имя + телефон |
| Sheet · Leads (QA-таб) | Новая строка: Стандарт, KZ, имя, телефон, qa-A1, qa-ad-1 |
| Slack | (если QA-фильтр не глушит) Новый лид · standard · KZ |
| GTM Preview | События: page_view, cta_click (cta_location=hero), form_view, form_start, form_submit, form_success, потом на /thank-you → generate_lead |
| Meta Test Events | PageView на / → Lead на /thank-you |
A2 · Registration (VIP KZ через /vsl)
👉 https://x5.karada.kz/vsl?utm_source=facebook&utm_medium=paid_social&utm_campaign=qa-A2
Шаги:
- Открыть ссылку.
- Скроллнуть до формы под видео (или нажать любую CTA).
- Заполнить: имя
QA Тест A2, телефон+7 700 222 0000, emailqa-a2@test.com, выбрать «VIP» в радио-кнопках. - Submit.
Ожидания:
| Где | Что |
|---|---|
| /thank-you | Виден блок «Вы в листе на VIP-поток» (registration branch) + soft-upsell «Хотите Exclusive?» |
| Make payload | tier: "vip", funnel_mechanism: "registration", lead.tier_interest: "vip" |
| Sheet | Строка с VIP и tier_interest |
| Slack | Новый лид · vip · KZ |
A3 · Application qualified (Exclusive KZ)
👉 https://x5.karada.kz/exclusive?utm_source=facebook&utm_campaign=qa-A3
Шаги:
- Открыть ссылку.
- Пройти все 4 шага квиза, выбирая высокобалльные ответы:
- Шаг 1 · «Большой опыт» / «10+ лет в продажах»
- Шаг 2 · «От 50 млн ₸/год» / «Команда 10+»
- Шаг 3 · «Готов инвестировать сейчас» / «В течение недели»
- Шаг 4 · контакт-блок (имя + телефон + email)
- Submit.
Ожидания:
| Где | Что |
|---|---|
| /thank-you | «Вы подходите · одно из 3 мест ваше» (qualified branch) с золотой рамкой и приоритетной CTA |
| Make payload | tier: "exclusive", funnel_mechanism: "application", lead.qualified: true, lead.lead_score: ≥6 |
| Sheet | Строка с lead_score |
| Slack | 🔴 Exclusive QUALIFIED · {name} · скор {N} |
A4 · Application disqualified (Exclusive KZ · low score)
👉 https://x5.karada.kz/exclusive?utm_source=facebook&utm_campaign=qa-A4
Шаги:
- Та же ссылка, что A3, но проходим квиз с низкобалльными ответами (нет опыта / маленькая выручка / не готов к инвестициям).
- Submit.
Ожидания:
| Где | Что |
|---|---|
| /thank-you | «Под ваш кейс лучше VIP-группа» (downsell branch) |
| Make | lead.qualified: false, lead.lead_score: <6 |
| Slack | 🟡 Exclusive → VIP downsell · {name} |
A5 · Lead-magnet (PDF · KZ)
👉 https://x5.karada.kz/guide?utm_source=facebook&utm_campaign=qa-A5
Шаги:
- Открыть ссылку.
- Нажать «Получить гайд бесплатно» → откроется модалка.
- Ввести имя + телефон + email.
- Submit.
Ожидания:
| Где | Что |
|---|---|
| /thank-you | Блок «Пока ждёте гайд — посмотрите курс» (lead-magnet branch) |
| Make | tier: "lead_magnet", funnel_mechanism: "lead-magnet" |
| Sheet | Строка с тэгом lead_magnet |
| Email (TODO) | Когда подключим почтовую доставку → PDF на email. Пока — pending. |
ГРУППА B · Регион — Кыргызстан
KG-зеркала повторяют KZ, плюс:
- Телефон — формат
+996 … - Цены — в сомах (не тенге)
- В payload
country: "KG" - В Slack заголовок несёт
· KG
B1 · Quick-lead KG
👉 https://x5.karada.kz/kg/?utm_source=facebook&utm_campaign=qa-B1
Шаги: как A1, телефон +996 700 000 000. Ожидать country: "KG" в payload, цены в сомах в UI.
B2 · Registration KG
👉 https://x5.karada.kz/kg/vsl?utm_source=facebook&utm_campaign=qa-B2
Шаги: как A2 но на KG-VSL. Email необязателен (зависит от mechanism).
B3 · Application qualified KG
👉 https://x5.karada.kz/kg/exclusive?utm_source=facebook&utm_campaign=qa-B3
Шаги: как A3, высокие баллы. country: "KG".
B4 · Application disqualified KG
👉 https://x5.karada.kz/kg/exclusive?utm_source=facebook&utm_campaign=qa-B4
Шаги: как A4, низкие баллы. country: "KG".
B5 (KG · guide) не существует — у KG-вётки нет лендинга-гайда. Если понадобится, дублируем
/guideв/kg/guideи добавляемkg-guideвVARIANTS.
ГРУППА C · Атрибуция
C1 · Полный набор UTM
Шаги: открыть ссылку, submit любую форму. Ожидание: в Sheet все 5 UTM-полей заполнены.
C2 · fbclid (Meta-стиль)
👉 https://x5.karada.kz/?fbclid=IwAR_test_fbclid_QA_C2&utm_campaign=qa-C2
Ожидание: в Make execution attribution.fbclid: "IwAR_test_fbclid_QA_C2".
C3 · Direct visit (без UTM)
Шаги: открыть напрямую, submit.
Ожидание: все utm_*/fbclid поля пустые, строка в Sheet всё равно есть, referrer пустой или браузерный.
C4 · First-touch persistence (важно!)
Шаги:
- Открыть 👉 https://x5.karada.kz/?utm_source=facebook&utm_campaign=qa-C4-original
- Походить по сайту — кликнуть любую внутреннюю ссылку (nav «О курсе», логотип, любая CTA, ведущая на якорь).
- Submit форму.
Ожидание: в Sheet utm_campaign: "qa-C4-original" — несмотря на внутреннюю навигацию. Первое касание выживает.
C5 · Second touch (повторный визит)
Шаги:
- DevTools → Application → Session Storage → Clear (но НЕ Local Storage — флаг
kbp_returningдолжен остаться). - Открыть 👉 https://x5.karada.kz/?utm_campaign=qa-C5 (можно и без параметров).
- Submit.
Ожидание: attribution.touch: "second-touch" (приходил раньше).
Альтернатива — добавить
?touch=secondк URL: атрибут принудительно переключается вsecond-touchбез чистки сторадж. Используется для отладки.
ГРУППА D · Поведение формы
D1 · Two-step opt-in (модалка)
👉 https://x5.karada.kz/?utm_campaign=qa-D1
Шаги:
- Клик по CTA «Записаться на курс» в hero → модалка открывается.
- ESC → закрывается.
- Снова клик CTA → открывается.
- Клик по backdrop (тёмная область вне карточки) → закрывается.
- Снова клик CTA → открывается.
- Клик по крестику (×) → закрывается.
Ожидание: все 4 способа закрытия работают; данные формы не теряются между открытиями (если повторно открыть — поля остаются заполненными).
D2 · Валидация телефона
В любой модалке (например на /) ввести по очереди:
| Ввод | Ожидание |
|---|---|
12345 | Ошибка «Введите номер: +996 или +7» |
+7 700 123 4567 | Принят |
+996 700 123 456 | Принят |
+1 555 123 4567 | Отбит (не KZ/KG) |
D3 · Cooldown (повторный submit в течение 30 сек)
Шаги: submit форму успешно → вернуться назад → submit ту же форму снова в течение 30 секунд.
Ожидание: второй submit UI пройдёт, но в Make только одна запись (cooldown в attribution.ts глотает повтор; параметр cooldownMs: 30_000 в src/config/integration.ts).
D4 · Honeypot (антибот)
Шаги: в DevTools найти hidden input name="company_website" → заполнить любым значением → submit.
Ожидание: UI показывает «успех», но в Make payload meta.honeypot_triggered: true (или запрос вообще не уходит — в зависимости от реализации сабмита).
D5 · Mobile responsive
Шаги: открыть на iPhone (или Chrome DevTools 375×667) каждый из:
- 👉 https://x5.karada.kz/
- 👉 https://x5.karada.kz/vsl
- 👉 https://x5.karada.kz/exclusive
- 👉 https://x5.karada.kz/guide
- 👉 https://x5.karada.kz/kg/
Ожидание: hero читается без горизонтального скролла; CTA-кнопка не вылазит за экран; модалка открывается на полную ширину минус ≈16px; форма скроллится внутри модалки; видео-блок на /vsl грузится.
D6 · ESC и focus-trap в модалке
Шаги: открыть модалку → нажать Tab многократно — фокус должен оставаться внутри модалки, не уходить на nav/footer.
Ожидание: native <dialog> встраивает focus-trap — проверить что работает на Chrome + Safari.
ГРУППА E · One-click upsell
⏸ Блокер: Make · Upsells scenario ещё не создан. Кнопки на /thank-you работают на стороне сайта (UI меняется, в GTM летит
lead_upsell, в integration endpoint уходит POST), но Sheet · Upsells / Slack-нотификация не появятся, пока не запустим второй Make сценарий. Скелет — в16-amocrm-integration.md. E3 (edge без submission_id) не зависит от Make и проходит уже сейчас.
E1 · Стандарт → VIP upsell ⏸ (ждёт Make · Upsells)
Шаги:
- Пройти A1 до конца (submit на
/quick-lead). - На
/thank-youувидеть блок «Перейдите в VIP и попадите в группу» + кнопку «Да, добавить VIP за +50 000 ₸». - Нажать кнопку.
Ожидания:
| Где | Что |
|---|---|
| UI | Кнопка disabled-ится; через ~1 сек блок свапается на зелёную пилюлю «✓ Принято · менеджер позвонит в течение 30 минут» |
| Make | Отдельный execution от лида: event_type: "upsell_click", original_submission_id: <id оригинального лида>, tier_from: "standard", tier_to: "vip", delta_amount: 50000 |
| Sheet · Upsells | Новая строка в отдельной вкладке (Make ветвит на event_type == "upsell_click") |
| Slack | Отдельный формат: 🔥 UPSELL · {name} → VIP (+50 000 ₸) |
| GTM Preview | Event lead_upsell с tier_from, tier_to, delta_amount |
E2 · VIP → Exclusive upsell (soft) ⏸ (ждёт Make · Upsells)
Шаги: пройти A2 (registration VIP) → на /thank-you найти карточку «Хотите Exclusive?» → клик.
Ожидание: аналогично E1, но tier_from: "vip", tier_to: "exclusive", delta_amount: 0 (детали обсуждает менеджер).
E3 · Upsell без оригинального submission_id (edge) ✅ доступен сейчас
Шаги: открыть 👉 https://x5.karada.kz/thank-you напрямую (без submit) → попробовать нажать любую upsell-кнопку.
Ожидание: клик не обрабатывается (нет kbp_last_submission в sessionStorage). В DevTools Console — [karada-bp upsell] no last_submission, falling through. Никакого execution в Make.
ГРУППА F · Edge cases
F1 · Cooldown истёк
Шаги: submit → подождать 35 секунд → submit снова с другими данными (другая ссылка из A-серии). Ожидание: второй submit проходит, в Sheet 2 разные строки.
F2 · Сеть упала
Шаги: в DevTools → Network → Offline → submit любой формы.
Ожидание: UI показывает error state с предложением «Написать в WhatsApp» (fallback). В Sheet строки нет. В GTM — form_error event с error_type.
F3 · Многократное открытие модалки
Шаги: на 👉 https://x5.karada.kz/ открыть-закрыть модалку 5 раз подряд. Ожидание: форма не дублируется (одна копия React island в DOM, переиспользуется).
F4 · Browser back
Шаги: submit на / → попасть на /thank-you → нажать «Назад» в браузере → попасть обратно на /.
Ожидание: sessionStorage сохранён; если снова открыть модалку и попробовать submit — cooldown срабатывает (D3).
F5 · Прямой заход на /thank-you
👉 https://x5.karada.kz/thank-you
Шаги: открыть напрямую.
Ожидание: видна дефолтная карточка «Заявка принята» (всегда видна), все mechanism-блоки скрыты (нет данных в sessionStorage). Никакого generate_lead event в GTM (или с пустыми полями — пометка attribution_missing).
ГРУППА G · Meta Pixel (через GTM)
G1 · Lead event в Test Events
Шаги:
- Meta Events Manager → Test Events → ввести
https://x5.karada.kz/?fbclid=qa_test_g1. - В открывшемся браузере пройти A1.
Ожидание: в Test Events появляются:
PageView(от Pixel base в GTM)ViewContent(на форме)- На
/thank-you—Lead(со значениемevent_id == submission_id)
G2 · Dedup Pixel + CAPI (после подключения CAPI)
Когда: после того, как Make сценарий начнёт слать Lead в Meta Graph API.
Ожидание: в Events Manager → столбец «Deduplication» → «Pixel + CAPI matched» — событие пришло из обоих источников и дедуплицировано по event_id. На iOS Safari (где ITP режет браузерный пиксель) CAPI должен покрывать пропуски.
Критерии Go / No-Go перед запуском трафика
🟢 GO: все сценарии A1–A5 + B1–B4 + C1–C2 проходят. GTM
Preview показывает generate_lead на /thank-you. Meta Test Events видит
Lead. Slack пингует на каждом тестовом лиде.
🟡 МОЖНО ЗАПУСКАТЬ С НЮАНСАМИ:
- C3–C5 не идеально — кампании можно запустить, в Sheet просто будут пустые UTM для части лидов.
- E1/E2 (upsell) ждёт Make · Upsells scenario — это НЕ блокер запуска основного трафика. Апсейл — оптимизация AOV, не воронка. Поднимаем параллельно или сразу после первой партии лидов.
🔴 NO-GO: A или B сценарии падают. Make не пишет в Sheet (значит вебхук
не доходит / маппинг сломан). Slack не приходит. GTM generate_lead не
fires на /thank-you. Meta Test Events не показывает Lead (значит Pixel-тэг
в GTM не опубликован).
Что фиксировать при тестировании
Заведи Google Doc/Notion-страницу со столбцами:
| Сценарий | Дата | Тестер | Результат | Ссылка на Make execution | Скрин если упало |
|---|
После прогона — список ❌ становится баг-репортами с приоритетом.
Чистка после QA
В Google Sheet отфильтровать строки по utm_campaign starts with qa- и удалить — чтобы не пачкать реальную аналитику и не путать менеджеров. Альтернатива — Make сценарий уже сейчас ветвит QA-лиды в отдельный таб; если так — чистить не надо, просто не работать с QA-табом для отчётов.
Что мы НЕ тестируем здесь
- Реальная Meta Ads — после подключения боевого Pixel ID + бюджета. Отдельный документ.
- amoCRM запись — пока endpoint не подключен. Когда подключим — добавляем сценарий H1 «Лид доехал до amoCRM».
- Продамус оплата + Purchase CAPI — после подключения платёжки, отдельный документ.
- Email-доставка PDF гайда (A5) — после подключения mail-провайдера.
- Yandex Metrika — удалена из аналитики; не тестируем и не подключаем.