Привет, я Максим — веб-разработчик. Один из самых частых вопросов, который покупатели задают интернет-магазину: «Сколько стоит доставка?» Если ответа на сайте нет или для его получения нужно звонить менеджеру — часть людей просто уходит. Модуль расчёта доставки на сайте решает эту проблему: покупатель вводит свой город, система показывает варианты транспортных компаний, стоимость и сроки. В этой статье расскажу, какие решения существуют, как их подключить и на что обратить внимание.

Зачем нужен калькулятор доставки на сайте

Прозрачность стоимости доставки — один из ключевых факторов принятия решения о покупке. Когда покупатель видит итоговую сумму с доставкой до оформления заказа, он чувствует контроль над ситуацией. Когда стоимость доставки выясняется «потом» — это раздражает и снижает конверсию.

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

По моему опыту, добавление калькулятора доставки на карточку товара или в корзину повышает конверсию на 10–20%. Люди охотнее покупают, когда понимают полную стоимость.

Какие данные нужны для расчёта

Чтобы калькулятор работал корректно, ему нужны:

Город отправления. Откуда вы отгружаете — обычно это фиксированный параметр (ваш склад).

Город назначения. Покупатель вводит вручную или система определяет его автоматически по IP-адресу с возможностью смены.

Вес и габариты товара. Каждый товар в каталоге должен иметь заполненные характеристики: вес (кг), длина, ширина, высота (см). Без этих данных расчёт будет неточным или невозможным. Это одно из самых частых «узких мест» — владельцы магазинов забывают заполнить габариты, и калькулятор не работает.

Объявленная стоимость. Для расчёта страховки и наложенного платежа нужна стоимость товара.

Способ доставки. До двери курьером, до пункта выдачи (ПВЗ), до терминала транспортной компании, Почтой России.

Три подхода к реализации

Подход 1: Агрегатор доставки (виджет)

Самый быстрый и популярный вариант. Вы подключаете сервис-агрегатор, который берёт на себя интеграцию со всеми транспортными компаниями. На сайте появляется виджет — покупатель вводит город, видит список вариантов доставки с ценами и сроками, выбирает подходящий.

Основные агрегаторы на российском рынке в 2026 году:

eShopLogistic. Поддерживает СДЭК, DPD, Яндекс Доставку, Почту России, Деловые Линии, ПЭК, КИТ, Байкал Сервис и ещё десяток служб. Есть готовые модули для 1С-Битрикс, WooCommerce, InSales, CS-Cart. Виджеты для карточки товара и корзины. Единая карта ПВЗ всех транспортных компаний. Расчёт по API для кастомных решений.

Salesbeat. Особенность — хранит тарифы у себя и обновляет в фоне, а не обращается к API транспортных компаний в реальном времени. Это даёт мгновенный расчёт (менее секунды), в то время как прямые запросы к API могут занимать 5–10 секунд. Есть модули для всех популярных CMS.

«Кто доставит.ру». Бесплатный виджет с основными транспортными компаниями. Установка за 3 минуты — вставляете код на страницу. Подходит для быстрого старта, но функциональность ограничена.

Стоимость агрегаторов: от бесплатных (с ограничениями) до 3 000–10 000 рублей в месяц для полнофункциональных тарифов. eShopLogistic, например, работает с договорами напрямую между магазином и транспортной компанией — агрегатор выступает только как IT-прослойка.

Подход 2: Прямая интеграция с API транспортной компании

Если вы работаете с одной-двумя службами доставки, можно интегрироваться напрямую через их API. У СДЭК, DPD, Почты России, Деловых Линий есть документированные API для расчёта стоимости и сроков доставки.

Плюсы: нет посредника, нет абонентской платы агрегатору, полный контроль над данными. Минусы: нужно интегрировать каждую службу отдельно, поддерживать актуальность при изменениях в API (а они меняются регулярно), обрабатывать ошибки и таймауты.

Для СДЭК, например, расчёт делается через эндпоинт Calculator API v2.0. Отправляете POST-запрос с параметрами (откуда, куда, вес, габариты, тариф) — получаете стоимость и срок.

Этот подход я использую на кастомных проектах, когда магазин работает только с СДЭК или только с Деловыми Линиями. Для мультиоператорных магазинов — агрегатор проще и дешевле в поддержке.

Подход 3: Собственный расчёт по таблице тарифов

Если у вас собственная курьерская служба или фиксированные тарифы по зонам (Москва — 300 руб., Подмосковье — 500 руб., регионы — от 700 руб.), можно реализовать калькулятор без внешних сервисов.

Техническая реализация: таблица зон доставки в базе данных (город/регион → стоимость → срок). При оформлении заказа система определяет зону по адресу покупателя и подставляет соответствующую стоимость.

Это самый простой вариант, но он не масштабируется. Как только вы подключаете вторую транспортную компанию — нужен агрегатор или прямая интеграция.

Где размещать калькулятор

На карточке товара. Покупатель ещё только рассматривает товар, а уже видит примерную стоимость доставки в свой город. Это снимает неопределённость и ускоряет решение о покупке. Виджет определяет город по IP и показывает стоимость автоматически.

В корзине / на странице оформления заказа. Здесь калькулятор обязателен. Покупатель выбирает способ доставки, видит финальную сумму с учётом доставки и оформляет заказ. На этом этапе виджет должен учитывать суммарный вес и габариты всех товаров в корзине.

На отдельной странице «Доставка и оплата». Калькулятор с ручным вводом параметров (город, вес, габариты) — для тех, кто хочет прикинуть стоимость до того, как выбрать товар. Полезно для магазинов с крупногабаритными или тяжёлыми товарами.

Карта ПВЗ: обязательный элемент

В 2026 году подавляющее большинство интернет-покупателей предпочитают самовывоз из пункта выдачи заказов. Карта ПВЗ на сайте — это не просто «приятный бонус», а необходимость.

Хороший виджет показывает на одной карте пункты выдачи всех подключённых транспортных компаний: СДЭК, DPD, Почта России, 5POST, Яндекс Доставка. Покупатель видит ближайшие пункты, выбирает удобный — и стоимость доставки рассчитывается автоматически.

У eShopLogistic и Salesbeat такая карта есть из коробки. При прямой интеграции с API каждой транспортной компании — придётся агрегировать списки ПВЗ самостоятельно и отображать на карте (обычно через Яндекс Карты API).

Реализация на популярных CMS

1С-Битрикс

На маркетплейсе Битрикс есть модули доставки от eShopLogistic, Salesbeat, СДЭК и других. Установка стандартная: модуль подключается как служба доставки в разделе «Магазин → Службы доставки». Покупатель видит варианты на странице оформления заказа.

Для карточки товара обычно используется виджет — JavaScript-код, который встраивается в шаблон карточки. Он определяет город по IP и показывает примерную стоимость.

WooCommerce

Для WooCommerce есть плагины СДЭК, DPD и агрегаторов. Плагин «СДЭК для WooCommerce» — один из самых популярных: расчёт стоимости, карта ПВЗ, автоматическое создание заявки на доставку.

Для eShopLogistic — установка через виджет на странице оформления или через API-интеграцию. Salesbeat предоставляет готовый плагин.

Кастомные решения

На проектах с Next.js я обычно интегрируюсь с eShopLogistic по API: отправляю запрос с параметрами заказа (откуда, куда, вес, габариты, стоимость) — получаю массив вариантов доставки с ценами и сроками. На фронтенде отображаю список вариантов и карту ПВЗ.

Для карточки товара — отдельный компонент DeliveryCalculator, который при загрузке определяет город пользователя (через GeoIP или запрос к DaData) и показывает стоимость доставки конкретного товара.

Типичные ошибки при подключении

Не заполнены вес и габариты товаров. Это проблема номер один. Калькулятор не может рассчитать стоимость, если не знает вес и размер. Результат — покупатель видит «Стоимость доставки уточняйте у менеджера» и уходит.

Долгий расчёт. Если виджет обращается к API транспортных компаний в реальном времени — ответ может занимать 5–10 секунд. Для покупателя это вечность. Решение: использовать агрегатор с кэшированными тарифами (Salesbeat) или кэшировать результаты на своей стороне.

Город определяется неправильно. GeoIP не всегда точен — человек может быть в VPN, или его IP определяется как соседний город. Всегда давайте возможность вручную сменить город.

Калькулятор только в корзине. Если покупатель узнаёт стоимость доставки только на последнем шаге — это неприятный сюрприз. Чем раньше он увидит цену доставки — тем лучше.

Нет бесплатной доставки как опции. Если вы предлагаете бесплатную доставку при заказе от определённой суммы — покажите это на калькуляторе. «До бесплатной доставки осталось 800 рублей» — мощный триггер для увеличения среднего чека.

Как выбрать решение для своего магазина

Одна транспортная компания — прямая интеграция через API или готовый модуль/плагин.

Две-три и больше служб доставки — агрегатор (eShopLogistic, Salesbeat). Не тратьте время на интеграцию каждой службы отдельно.

Собственная курьерская доставка — таблица тарифов по зонам плюс, при необходимости, агрегатор для транспортных компаний.

Крупногабаритные товары — обязательно проверьте, что агрегатор поддерживает грузовые тарифы (Деловые Линии, ПЭК, Байкал Сервис). Не все виджеты работают с грузоперевозками.

Что я рекомендую

Подключите калькулятор доставки — это одна из тех доработок, которая окупается моментально. Начните с агрегатора: зарегистрируйтесь в eShopLogistic или Salesbeat, установите виджет на карточку товара и в корзину. Заполните вес и габариты для всех товаров в каталоге (да, это рутинная работа, но без неё никуда).

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

И не забудьте про карту ПВЗ — в 2026 году самовывоз из пункта выдачи стал доминирующим способом получения онлайн-заказов.

Нужна помощь с подключением калькулятора доставки — пишите. Подберу решение под вашу CMS и настрою интеграцию.