Перейти к контенту
БОЛЬШИЕ·ПРОДАЖИ Пульт →
Все документы

Тест-сценарии для команды

Чек-лист тест-прогона на боевом домене 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 scenariohttps://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 Previewhttps://tagmanager.google.com → контейнер GTM-K4Z4WPDB → Preview → ввести https://x5.karada.kz/
Meta Events Manager · Test Eventshttps://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 без UTMMechanismФорма открывается
KZ Стандартhttps://x5.karada.kz/quick-leadHero CTA «Записаться на курс» → модалка
KZ VIPhttps://x5.karada.kz/vslregistrationInline под видео (#zayavka)
KZ Exclusivehttps://x5.karada.kz/exclusiveapplication (4 шага)Inline в правой колонке hero
KZ Гайдhttps://x5.karada.kz/guidelead-magnetCTA «Получить гайд бесплатно» → модалка
KG Стандартhttps://x5.karada.kz/kg/quick-leadHero CTA → модалка
KG VIPhttps://x5.karada.kz/kg/vslregistrationInline под видео
KG Exclusivehttps://x5.karada.kz/kg/exclusiveapplicationInline в hero
/thank-youhttps://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

Шаги:

  1. Открыть ссылку выше.
  2. В hero нажать «Записаться на курс» — должна открыться модалка.
  3. Ввести: имя QA Тест A1, телефон +7 700 123 4567.
  4. Нажать «Получить доступ к курсу».

Ожидания:

ГдеЧто увидеть
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 EventsPageView на /Lead на /thank-you

A2 · Registration (VIP KZ через /vsl)

👉 https://x5.karada.kz/vsl?utm_source=facebook&utm_medium=paid_social&utm_campaign=qa-A2

Шаги:

  1. Открыть ссылку.
  2. Скроллнуть до формы под видео (или нажать любую CTA).
  3. Заполнить: имя QA Тест A2, телефон +7 700 222 0000, email qa-a2@test.com, выбрать «VIP» в радио-кнопках.
  4. Submit.

Ожидания:

ГдеЧто
/thank-youВиден блок «Вы в листе на VIP-поток» (registration branch) + soft-upsell «Хотите Exclusive?»
Make payloadtier: "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

Шаги:

  1. Открыть ссылку.
  2. Пройти все 4 шага квиза, выбирая высокобалльные ответы:
    • Шаг 1 · «Большой опыт» / «10+ лет в продажах»
    • Шаг 2 · «От 50 млн ₸/год» / «Команда 10+»
    • Шаг 3 · «Готов инвестировать сейчас» / «В течение недели»
    • Шаг 4 · контакт-блок (имя + телефон + email)
  3. Submit.

Ожидания:

ГдеЧто
/thank-you«Вы подходите · одно из 3 мест ваше» (qualified branch) с золотой рамкой и приоритетной CTA
Make payloadtier: "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

Шаги:

  1. Та же ссылка, что A3, но проходим квиз с низкобалльными ответами (нет опыта / маленькая выручка / не готов к инвестициям).
  2. Submit.

Ожидания:

ГдеЧто
/thank-you«Под ваш кейс лучше VIP-группа» (downsell branch)
Makelead.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

Шаги:

  1. Открыть ссылку.
  2. Нажать «Получить гайд бесплатно» → откроется модалка.
  3. Ввести имя + телефон + email.
  4. Submit.

Ожидания:

ГдеЧто
/thank-youБлок «Пока ждёте гайд — посмотрите курс» (lead-magnet branch)
Maketier: "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

👉 https://x5.karada.kz/?utm_source=facebook&utm_medium=paid_social&utm_campaign=qa-C1&utm_content=qa-ad-c1&utm_term=qa-adset-c1

Шаги: открыть ссылку, 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)

👉 https://x5.karada.kz/

Шаги: открыть напрямую, submit. Ожидание: все utm_*/fbclid поля пустые, строка в Sheet всё равно есть, referrer пустой или браузерный.

C4 · First-touch persistence (важно!)

Шаги:

  1. Открыть 👉 https://x5.karada.kz/?utm_source=facebook&utm_campaign=qa-C4-original
  2. Походить по сайту — кликнуть любую внутреннюю ссылку (nav «О курсе», логотип, любая CTA, ведущая на якорь).
  3. Submit форму.

Ожидание: в Sheet utm_campaign: "qa-C4-original" — несмотря на внутреннюю навигацию. Первое касание выживает.

C5 · Second touch (повторный визит)

Шаги:

  1. DevTools → Application → Session Storage → Clear (но НЕ Local Storage — флаг kbp_returning должен остаться).
  2. Открыть 👉 https://x5.karada.kz/?utm_campaign=qa-C5 (можно и без параметров).
  3. Submit.

Ожидание: attribution.touch: "second-touch" (приходил раньше).

Альтернатива — добавить ?touch=second к URL: атрибут принудительно переключается в second-touch без чистки сторадж. Используется для отладки.

ГРУППА D · Поведение формы

D1 · Two-step opt-in (модалка)

👉 https://x5.karada.kz/?utm_campaign=qa-D1

Шаги:

  1. Клик по CTA «Записаться на курс» в hero → модалка открывается.
  2. ESC → закрывается.
  3. Снова клик CTA → открывается.
  4. Клик по backdrop (тёмная область вне карточки) → закрывается.
  5. Снова клик CTA → открывается.
  6. Клик по крестику (×) → закрывается.

Ожидание: все 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) каждый из:

Ожидание: 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)

Шаги:

  1. Пройти A1 до конца (submit на / quick-lead).
  2. На /thank-you увидеть блок «Перейдите в VIP и попадите в группу» + кнопку «Да, добавить VIP за +50 000 ₸».
  3. Нажать кнопку.

Ожидания:

ГдеЧто
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 PreviewEvent 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

Шаги:

  1. Meta Events Manager → Test Events → ввести https://x5.karada.kz/?fbclid=qa_test_g1.
  2. В открывшемся браузере пройти A1.

Ожидание: в Test Events появляются:

  • PageView (от Pixel base в GTM)
  • ViewContent (на форме)
  • На /thank-youLead (со значением 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удалена из аналитики; не тестируем и не подключаем.