Разработка мультишагового калькулятора на 1С-Битрикс

Пользователь открывает форму с 15 полями и через 10 секунд закрывает — конверсия падает. Мультишаговый калькулятор дробит опрос на экраны по 2–3 вопроса с прогресс-баром. Мы внедряем такие решения на 1С-Битрикс: проектируем сценарии с ветвлениями, реализуем AJAX-расчёт и интегрируем с CRM. Результат
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка мультишагового калькулятора на 1С-Битрикс
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1455
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1018
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Пользователь открывает форму с 15 полями и через 10 секунд закрывает — конверсия падает. Мультишаговый калькулятор дробит опрос на экраны по 2–3 вопроса с прогресс-баром. Мы внедряем такие решения на 1С-Битрикс: проектируем сценарии с ветвлениями, реализуем AJAX-расчёт и интегрируем с CRM. Результат — конверсия лидов растёт на 30–50% по сравнению с одностраничными формами. Согласно данным Nielsen Norman Group, мультишаговые интерфейсы повышают юзабилити на 30%. По нашим A/B-тестам, мультишаговая форма конвертирует в 1.5 раза лучше обычной при той же целевой аудитории.

Проблемы, которые решаем

  • Высокий отказ на длинных формах. Когда пользователь видит 15 полей, он уходит. Наш калькулятор показывает 1–3 вопроса за шаг — когнитивная нагрузка снижается, а заполняемость растёт. Экономия бюджета на лидогенерации достигает 40%.
  • Сложные сценарии с пропусками. Услуги зависят от выбора: если клиент указал «доставка», скрываем шаг «самовывоз». Реализуем условные переходы через JSON-конфигурацию. Окупаемость вложений — менее 3 месяцев.
  • Потеря данных. Если закрыть вкладку — прогресс исчезает. Встраиваем сохранение в localStorage с автоматическим восстановлением в течение суток.

Как реализовать ветвление шагов?

Шаги калькулятора — это не просто страницы. Это граф: некоторые шаги пропускаются в зависимости от предыдущих ответов. Например, если на шаге 2 пользователь выбрал «физическое лицо» — шаг 3 с реквизитами организации пропускается.

Хранение конфигурации шагов — JSON или HL-блок CalculatorSteps:

{ "steps": [ { "id": "service_type", "title": "Что вас интересует?", "type": "single_choice", "options": [ { "value": "moving", "label": "Переезд" }, { "value": "storage", "label": "Хранение" }, { "value": "both", "label": "Переезд + хранение" } ] }, { "id": "area", "title": "Площадь помещения", "type": "range_slider", "min": 20, "max": 500, "step": 10, "default": 60, "unit": "м²", "condition": { "field": "service_type", "operator": "in", "value": ["moving", "both"] } }, { "id": "contacts", "title": "Куда отправить расчёт?", "type": "contact_form", "fields": ["name", "phone", "email"] } ] } 

Frontend: управление шагами на JavaScript

class MultiStepCalculator { constructor(config) { this.steps = config.steps; this.answers = {}; this.history = []; this.currentStepIndex = 0; } getCurrentStep() { return this.steps[this.currentStepIndex]; } next(answer) { const step = this.getCurrentStep(); this.answers[step.id] = answer; this.history.push(this.currentStepIndex); let nextIndex = this.currentStepIndex + 1; while (nextIndex < this.steps.length) { if (this.checkCondition(this.steps[nextIndex].condition)) { break; } nextIndex++; } if (nextIndex >= this.steps.length) { this.submit(); } else { this.currentStepIndex = nextIndex; this.render(); } this.updateProgress(); } back() { if (this.history.length === 0) return; this.currentStepIndex = this.history.pop(); this.render(); this.updateProgress(); } checkCondition(condition) { if (!condition) return true; const value = this.answers[condition.field]; switch (condition.operator) { case 'eq': return value === condition.value; case 'in': return condition.value.includes(value); case 'gt': return parseFloat(value) > parseFloat(condition.value); case 'not': return value !== condition.value; default: return true; } } updateProgress() { const visible = this.steps.filter((_, i) => i <= this.currentStepIndex || this.checkCondition(this.steps[i]?.condition) ); const pct = Math.round((this.currentStepIndex / (this.steps.length - 1)) * 100); document.getElementById('progress-bar').style.width = pct + '%'; document.getElementById('progress-text').textContent = `Шаг ${this.currentStepIndex + 1} из ${visible.length}`; } async submit() { const resp = await fetch('/ajax/calculator/multistep/submit/', { method: 'POST', body: new URLSearchParams({ answers: JSON.stringify(this.answers), sessid: BX.bitrix_sessid(), }), }); const result = await resp.json(); this.showResult(result); } } 

Почему мультишаговый калькулятор повышает конверсию?

По данным A/B-тестов, мультишаговые формы конвертируют в среднем на 30–50% лучше, чем одностраничные аналоги. Причина — психологическая: каждый шаг маленький, отказаться на полпути сложнее, чем бросить одну большую форму. Прогресс-бар мотивирует завершить заполнение, а ветвления делают сценарий персонализированным. Для компании «Переезд Сервис» мы внедрили калькулятор с 8 шагами и ветвлением на тип услуги — конверсия выросла с 2,5% до 5,8% за месяц.

Серверный расчёт: от ответов к результату

namespace MyProject\Controllers; use Bitrix\Main\Engine\Controller; class MultistepCalculatorController extends Controller { public function submitAction(string $answersJson): array { $answers = json_decode($answersJson, true); if (!$answers) { $this->addError(new \Bitrix\Main\Error('Некорректные данные')); return []; } $required = ['service_type', 'area']; foreach ($required as $field) { if (!isset($answers[$field])) { $this->addError(new \Bitrix\Main\Error("Не заполнено поле: {$field}")); return []; } } $calcResult = \MyProject\Services\MovingCalculator::calculate($answers); $leadId = \MyProject\Services\CrmService::createLeadFromCalculator( $answers['name'] ?? 'Не указано', $answers['phone'] ?? '', $answers, $calcResult ); return [ 'result' => $calcResult, 'lead_id' => $leadId, ]; } } 

Сохранение прогресса и аналитика

Автосохранение в localStorage с защитой от устаревания:

saveProgress() { localStorage.setItem('calc_progress', JSON.stringify({ answers: this.answers, stepIndex: this.currentStepIndex, savedAt: Date.now(), })); } restoreProgress() { const saved = localStorage.getItem('calc_progress'); if (!saved) return; const data = JSON.parse(saved); const ageMs = Date.now() - data.savedAt; if (ageMs > 24 * 60 * 60 * 1000) { localStorage.removeItem('calc_progress'); return; } this.answers = data.answers; this.currentStepIndex = data.stepIndex; this.render(); } 

Каждый переход между шагами фиксируется в аналитике — воронка показывает, где уходят пользователи. Если 70% бросают на шаге 3 — он слишком сложный или неуместный.

Процесс работы и сроки

  1. Анализ требований — выявляем логику и условия ветвлений.
  2. Проектирование сценария — рисуем граф шагов с переходами.
  3. Вёрстка и frontend — создаём адаптивные шаблоны под каждый тип вопроса.
  4. Backend и расчёт — пишем PHP-контроллеры с валидацией и интеграцией.
  5. Интеграция — подключаем CRM (Битрикс24, amoCRM), 1С, платёжные шлюзы.
  6. Тестирование — проверяем все ветвления и корректность расчёта.
  7. Деплой и документация — размещаем на сервере, пишем инструкцию.
Тип калькулятора Сроки
Линейный, 3–5 шагов 1–2 недели
С ветвлениями и AJAX 3–5 недель
Сложный конфигуратор (10+ шагов) 6–10 недель

Сравнение мультишаговой и обычной формы

Критерий Обычная форма Мультишаговый калькулятор
Количество полей на экране 10–15 2–3
Прогресс-бар Нет Есть
Ветвление Нет Да
Конверсия Базовая +30–50%

Что входит в работу

  • Анализ бизнес-логики и создание графа шагов
  • Дизайн и адаптивная вёрстка всех состояний
  • Backend на PHP (Bitrix ORM, компоненты 2.0)
  • Интеграция с CRM (Битрикс24, amoCRM) и 1С через CommerceML
  • Подключение платёжных систем (ЮKassa, Сбер) и сервисов доставки (СДЭК, Почта России)
  • Сохранение прогресса в localStorage
  • Аналитика (Яндекс.Метрика, Google Analytics)
  • Тестирование всех сценариев и ветвлений
  • Документация и обучение сотрудников
  • Гарантийная поддержка 1 месяц

Почему с нами стоит работать

Более 10 лет опыта разработки на 1С-Битрикс, свыше 300 успешных проектов. Сертифицированные специалисты. Гарантия результата — фиксируем в договоре конверсионные метрики. Окупаемость инвестиций в мультишаговый калькулятор часто составляет менее 3 месяцев за счёт роста конверсии.

Мультишаговый калькулятор — наиболее эффективный формат для сложных услуг. Он снижает когнитивную нагрузку, повышает вовлечённость и даёт маркетологу данные о каждом этапе принятия решения — что именно мешает пользователю дойти до заявки.

Закажите разработку кастомного мультишагового калькулятора — получите конверсию до 50% выше обычных форм. Оставьте заявку на расчёт. Свяжитесь, чтобы обсудить детали и получить индивидуальный расчёт сроков и стоимости. Мультишаговый калькулятор под ключ с гарантией конверсионного прироста.

1С-Битрикс на Wikipedia