Заметки для разработки
Путь
Hook → Что ищете → Где искать → Фермы рядом → Скидки рядом → Средняя экономия → Карта → Email → существующий Scratch (в прототипе пропущен) → текущий пейвол → существующая оплата.
Одинаково в обоих вариантах
Hook, Scratch, Paywall, тарифы и цены (неделя, месяц, год), допродажи, инструкция по входу в приложение.
Hook — как в длинном онбординге
Копия текущего главного экрана со снимка от 21 октября. Карта — по городу из IP. В прототипе она живая, без интернета — нарисованная; если IP ничего не дал, показываем Нью-Йорк. В проде — та карта, что сейчас.
Вне теста сверить цифры: на Hook «80,000+ farms in 50 states», а на iOS-старте и в iOS-пейволе — «23,000+». «40,000+ families switched» и «$1,000+/yr saved per family» — только с подтверждением из данных. Ещё и в iOS-пейволе «300,000+ members» — рядом с «40,000+ families» это противоречие.
Скидки — только живые данные
GET /deals/summary?lat&lng&radius&categories → {count, farms, avg_discount_pct, avg_saving_usd, top}: сделки этой недели в радиусе, выбранные категории первыми, в top — 8 карточек с фото, скидкой, названием и фермой.
- Карточка сделки: фото товара от фермы, скидка, название, ферма, цена со скидкой и зачёркнутая цена фермы. Цены показываем, только если они есть в данных сделки. Нет фото — эмодзи категории.
- Лента скидок прокручивается сама, по кругу; касание или наведение ставит её на паузу. Если сделок 3 и меньше, лента стоит. При «уменьшении движения» в системе — тоже стоит.
- 0 сделок — экраны скидок пропускаем. Меньше 5 — пропускаем «Среднюю экономию»: среднее по двум сделкам ничего не значит.
- Не используем цифры и тексты Localize: 17.3%, $29.38, «50,000+ weekly deals», их фермы и сделки. Общую цифру по стране показываем, только если посчитали её из своей базы.
- «Средняя экономия»: если выбрано мясо или «All products», считаем по мясным сделкам и пишем «On meat purchases», иначе — по всем сделкам рядом.
- Отзыв под цифрами взят из текущего Web Onboarding V1 Trustpilot-блока. Для production-варианта нужно подтвердить право на повторное использование и скрывать блок при отсутствии одобренного отзыва.
Фермы — только из базы
GET /farms/summary?lat&lng&radius=50 → {total, radius_mi, by_category}, total — уникальные фермы.
- Меньше 10 ферм в 50 милях — ищем в 100 и пишем об этом. В 100 милях нет ни одной — экран «не нашли», к пейволу не ведём.
- Пейвол получает реальные
total и город. Сейчас там «231 farms near you» — заменить в обоих вариантах.
Что ищете
12 плиток с фото категорий, по три в ряд. Выбранная — с зелёной рамкой и галочкой. В проде — наши фото товаров ферм; нет фото — эмодзи категории на светлой плитке.
Где искать — как в Location v2
Город по IP определяем на сервере до отрисовки (уровень метро-зоны) и просим подтвердить одним тапом. Если известен только штат — «Looks like you’re in Texas». «No» ведёт на второй экран: ZIP-код или GPS по кнопке, таймаут 8 с. IP пустой или не из США — сразу второй экран. Прогресс-бар между экранами не двигается, «Назад» со второго ведёт на первый.
Email
Это логин в приложение, так и пишем. Проверка формата и подсказка при опечатке в домене. Галочка «присылать новые скидки рядом» по умолчанию снята и видна, только если сделки есть.
Пейвол — дизайн Flow Long-funnel V1
Short использует структуру, тарифные карточки, таймер, CTA и Money-Back Guarantee из Flow Long-funnel V1. Карта и число ферм остаются персонализированными по выбранной локации; промокод формируется из email.
Для разработчика: уточнить текущую product-механику динамической карты и числа ферм, персонального промокода, sponsorship и legal links. В прототипе sponsorship ведёт на support@viralyze.org, а legal links ведут на опубликованные Terms и Privacy Policy.
События
Ко всем: funnel_variant: "short", platform: "web". Список в журнале слева: short_onb_screen_viewed, hook_start_tapped, categories_selected, location_viewed, ip_confirm, location_details_viewed, search_typed, search_no_result, gps_tapped, gps_result, location_selected, farms_count_loaded, farms_count_viewed, farms_empty, deals_loaded, deals_viewed, savings_viewed, map_preview_viewed, email_viewed, email_typo_fixed, email_error, email_submitted, back_tapped, short_onb_completed (в проде — при входе на Scratch), paywall_viewed, paywall_plan_selected, paywall_header_cta_tapped, paywall_link_tapped, paywall_timer_expired, paywall_cta_tapped.
Метрики теста
Главная — доля дошедших до пейвола от входа в вариант. Выкатываем, только если открытие оплаты на посетителя не ниже контроля. Ограничители: ошибки JS, время ответа /farms/summary и /deals/summary, доля пустых результатов.