Программа лояльности в приложении: как объединить онлайн и кассы магазина
+7 (800) 444-11-27
Позвоните — обсудим ваш проект
Сергей CCO FITTIN
Сергей CCO FITTIN
Напишите мне в Telegram
Обсудить проект
Программа лояльности в приложении: как объединить онлайн и кассы магазина

Программа лояльности в приложении: как объединить онлайн и кассы магазина

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


Покупатель копит бонусы в приложении, приходит в магазин — и на кассе продавец не видит ни его профиля, ни накопленного баланса. Так происходит, когда мобильное приложение и кассовая программа ведут бонусные счета в разных базах и считают их по своим правилам. Разбираем, как свести обе стороны к одному источнику правил: от единого профиля покупателя до работы кассы без связи.

Единая программа лояльности: что это технически

Единая программа лояльности означает, что у покупателя один бонусный баланс и один набор правил — независимо от того, где он платит: в приложении, на сайте или на кассе розничной точки. Техническая часть сводится к двум вопросам: кто считает бонусы и кто хранит правила.

Участники обмена

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

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

Эффект для маркетинга, финансов и розницы

  • Маркетинг заводит механику один раз, и она действует во всех каналах продаж.
  • Финансы видят единую сумму бонусных обязательств перед покупателями и понимают, какая часть из них сгорит по срокам.
  • Розница перестаёт считать бонусы вручную и доказывать покупателю, почему в приложении другая цифра.
  • Поддержка разбирает обращения по журналу операций, а не по присланным скриншотам.

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

Единый клиент: как приложение и касса узнают одного покупателя

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

Ключ профиля

В российской розничной практике основной ключ — номер телефона: он уже есть у покупателя, не теряется и подтверждается кодом. Остальные признаки (адрес электронной почты, номер пластиковой карты, внутренний идентификатор) привязываются к профилю как дополнительные. Одному человеку соответствует одна запись, и у этой записи один баланс.

Способы опознать покупателя на кассе и ограничения каждого

Способ Что нужно на кассе Ограничение
Номер телефона вручную Ввод с клавиатуры, опционально — подтверждение кодом Удлиняет обслуживание, даёт опечатки и спорные случаи с чужим номером
Код из приложения (штриховой или QR) Сканер или камера на рабочем месте кассира Покупателю нужен заряженный телефон; динамический код требует связи у покупателя
Пластиковая карта лояльности Сканер штрихового кода, привязка карты к профилю Выпуск и замена карт, потери, параллельный учёт карты и приложения
Привязанная банковская карта Передача признака карты из платёжного терминала в кассовую программу Работает не на всех моделях терминалов и не для оплаты наличными
Поиск по фамилии кассиром Доступ кассира к поиску по базе покупателей Даёт дубли профилей и доступ сотрудника к лишним данным; как основной способ не подходит

Правила объединения дублей

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

  • по какому признаку профили считаются одним человеком;
  • какой профиль остаётся основным;
  • что происходит с балансами и историей покупок;
  • кто имеет право подтвердить объединение вручную.

Балансы при объединении складываются с сохранением исходных сроков действия каждой партии бонусов — иначе объединение само становится причиной спора.

Согласия и персональные данные

Профиль покупателя — это персональные данные, а значит, на обработку нужно согласие, и его формулировка одинакова для приложения и для кассы. Практическая часть: на кассе хранится минимум полей (идентификатор профиля, баланс, признак участия в программе), полная карточка остаётся в сервисе лояльности, а доступ кассира к данным ограничен его рабочей ролью. Текст согласия, порядок отзыва и сроки хранения согласуются с юристом и соответствуют требованиям Федерального закона № 152-ФЗ «О персональных данных».

Архитектура обмена: где живут правила и баланс

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

Двухфазное списание

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

Повторные запросы и идемпотентность

Связь на кассе рвётся в середине операции, и кассовая программа повторяет запрос. Чтобы повтор не создал вторую операцию (это свойство называют идемпотентностью), каждый запрос несёт уникальный ключ — например, из номера смены, номера кассы и номера чека. Сервис лояльности по этому ключу понимает: такая операция уже учтена, нужно вернуть прежний ответ, а не списать второй раз.

Таймауты и поведение кассы при недоступности сервиса

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

Журнал операций и ежедневная сверка

Каждое начисление, списание, сгорание и отмена попадают в журнал с привязкой к чеку, кассе и сотруднику. На этом журнале держится вся дальнейшая работа: разбор обращений, расчёт обязательств для финансов и ежедневная сверка — сопоставление операций лояльности с чеками из товароучётной системы. Расхождения, которые не находит автоматическая сверка, через месяц находит бухгалтерия, но уже в виде годовой суммы без возможности восстановить, что произошло. Как устроен обмен с учётной системой и где в нём обычно расходятся данные, мы разбирали в материале об интеграции приложения с 1С.

Начисление и списание бонусов в одном чеке

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

База начисления и исключения

База — сумма, от которой считается начисление. Решения, которые нужно принять до разработки:

  • считать базу от суммы чека до скидок или после;
  • учитывать ли часть чека, оплаченную бонусами;
  • начислять ли на доставку и на подарочные карты;
  • какие товарные категории исключены из программы по правилам сети.

Исключения задаются на стороне сервиса лояльности по данным товароучётной системы, а не списком артикулов в кассовой программе: иначе каждое изменение ассортимента превращается в задачу на обновление касс.

Лимит списания и округление

Доля чека, которую разрешено оплатить бонусами, — параметр правил, и он часто отличается по категориям и по акциям. Вместе с ним описывают три вещи: допустимо ли сочетание бонусов со скидкой и промокодом, в каком порядке применяются скидка и списание, как округляются суммы. Округление выглядит мелочью, но единое правило нужно именно здесь: если приложение округляет к ближайшему рублю, а кассовая программа отбрасывает копейки, покупатель видит разные суммы в двух местах, а бухгалтерия — расхождения на каждом чеке. Общая логика оплаты в приложении и на кассе разобрана в материале о бесшовных платежах в e-commerce.

Отдельное решение — как списание бонусов выглядит в фискальном чеке: как скидка на позиции или как частичная оплата. От этого зависит и выручка в отчётности, и состав чека, поэтому формулировку согласуют с бухгалтерией и сверяют с требованиями Федерального закона № 54-ФЗ о применении контрольно-кассовой техники до того, как разработчики начнут реализацию. Как устроена оплата в приложении, если покупатель платит за заказ онлайн, мы описывали в материале о встроенном платёжном чекауте.

Отложенное начисление в онлайн-заказах

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

Возвраты: что происходит с бонусами

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

Полный и частичный возврат

При полном возврате начисленные за покупку бонусы снимаются с баланса, списанные — возвращаются покупателю. При частичном возврате и начисление, и списание пересчитываются пропорционально возвращённой сумме, причём по правилам, действовавшим на дату покупки, а не на дату возврата. Отдельное решение — что делать, если начисленные бонусы покупатель уже потратил: разрешить отрицательный баланс до будущих покупок, удерживать долг из следующих начислений или не снимать бонусы вовсе, отнеся потерю на маркетинговый бюджет. Любой из трёх вариантов допустим, непригоден только один сценарий — когда решение не принято и каждый магазин поступает по-своему.

Возврат покупки, оплаченной бонусами

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

Возврат в другом канале

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

Сроки действия бонусов и сгорание

Срок действия бонусов решает две задачи: ограничивает обязательства компании и возвращает покупателя в магазин до даты сгорания. Обе работают, только если механика понятна покупателю и одинаково считается в обоих каналах.

Три модели срока действия

  • Срок от даты начисления. Каждая партия бонусов живёт свой период; баланс состоит из партий с разными датами сгорания.
  • Срок от последней активности. Бонусы сохраняются, пока покупатель покупает; после периода без покупок сгорает весь баланс.
  • Фиксированные периоды. Все бонусы сгорают в конце календарного периода — проще объяснить покупателю, но даёт пики нагрузки перед датой сгорания.

Модель влияет на требования к обмену. При партийном учёте сервис лояльности должен уметь отдавать кассе не только общий баланс, но и ближайшую дату сгорания: покупатель на кассе спрашивает именно об этом.

Порядок списания партий

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

Уведомления и публичные правила

Предупреждение о сгорании отправляется заранее и по тому каналу, на который покупатель дал согласие: push-уведомление в приложении, сообщение или электронное письмо. Сами правила программы публикуются как документ с датой вступления в силу, и в нём же описывается порядок изменения правил. Это снимает значительную часть споров: вместо обсуждения механики по памяти обе стороны смотрят в один документ. Как программа лояльности работает в связке с мобильным каналом на стороне маркетинга, разобрано в материале об удержании клиентов в fashion-ритейле.

Офлайн-режим касс: продажи без связи

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

Разрешённые операции без связи

Начисление офлайн безопасно: касса записывает операцию в локальную очередь, а сервис лояльности учтёт её после восстановления связи. Списание офлайн опасно, потому что актуального баланса у кассы нет, и покупатель мог потратить бонусы в приложении минуту назад. Отсюда три типовые политики:

  • запретить списание без связи совсем;
  • разрешить списание в пределах локально сохранённого баланса;
  • разрешить списание в пределах небольшого лимита, который сеть готова потерять при расхождении.

Выбор зависит от среднего чека и от того, как часто пропадает связь на точках. Перед сезонными пиками офлайн-политику стоит проверить отдельно — вместе с остальными пунктами подготовки приложения к распродажам.

Очередь операций и порядок синхронизации

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

Конфликты и их разрешение

Конфликт выглядит так: касса в офлайне списала бонусы, которых на момент синхронизации на балансе уже нет. Разрешение описывается заранее одним из трёх способов:

  • признать операцию кассы и допустить отрицательный баланс;
  • отклонить операцию и компенсировать покупателю разницу из маркетингового бюджета;
  • отклонить операцию и передать случай в поддержку.

Кассир в момент продажи должен видеть на экране понятное сообщение о том, что точка работает без связи и списание ограничено, — иначе объяснять ситуацию покупателю он будет своими словами.

Спорные ситуации: таблица решений

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

Спорные ситуации, поведение системы и предмет согласования

Ситуация Как поступает система Что фиксируем в правилах
Покупатель списывает бонусы в приложении и на кассе одновременно Резерв под первую операцию блокирует сумму, вторая получает отказ по недостатку баланса Время жизни резерва и текст отказа для кассира и для приложения
Чек отменён после подтверждения списания Отмена операции по ключу чека, бонусы возвращаются на баланс с исходными сроками Предельный срок, в который касса обязана отправить отмену
Возврат товара, начисленные бонусы уже потрачены Удержание долга из будущих начислений либо отрицательный баланс — по выбранной политике Одна политика на сеть и предельная сумма удержания
Между покупкой и возвратом партия бонусов сгорела Бонусы возвращаются с продлением срока на согласованный период, покупатель получает уведомление Период продления и способ уведомления
Два профиля с одним номером телефона Объединение по ключу профиля, балансы складываются с сохранением сроков партий Признак объединения и кто подтверждает его вручную
Касса работала без связи, списала больше фактического баланса Операция применяется или отклоняется по правилу разрешения конфликтов, случай попадает в отчёт расхождений Офлайн-лимит списания и сторона, которая закрывает разницу
Заказ оформлен в приложении, выдан в магазине Начисление по факту выдачи, канал покупки — онлайн, точка выдачи фиксируется отдельным признаком Какому каналу принадлежит покупка для отчётности и для акций
Акция действовала только в приложении, покупка сделана на кассе Правило акции содержит признак канала, кассовая операция начисляется по базовой ставке Формулировка условий акции с указанием канала и срока
Покупатель просит начислить бонусы по чеку прошлой недели Ручное начисление по номеру чека из товароучётной системы с отметкой оператора в журнале Срок обращения, подтверждающие документы и роль с правом ручного начисления
Сотрудник списывает бонусы с чужого профиля Списание требует подтверждения покупателем, операции сотрудника видны в журнале с его идентификатором Способ подтверждения и порядок разбора подозрительных операций

Согласование правил: кто отвечает за логику лояльности

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

Распределение ответственности

  • Маркетинг — механика программы, условия акций, сегменты покупателей, тексты уведомлений.
  • Финансы — стоимость обязательств, правила округления, порядок отражения бонусов в отчётности.
  • ИТ — обмен данными, двухфазное списание, обработка повторных запросов, предельное время ответа, журнал и сверка.
  • Юрист — публичные правила программы, согласие на обработку персональных данных, порядок изменения условий.
  • Розница — сценарий работы кассира, тексты сообщений на экране кассы, обучение сотрудников точек.

Версионирование правил

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

Показатели контроля после запуска

  • Доля чеков с опознанным покупателем — показывает, доходит ли программа до кассы на практике.
  • Доля запросов, не получивших ответ в отведённое время — отражает устойчивость обмена в часы пик.
  • Расхождения между журналом лояльности и чеками в ежедневной сверке — целевое значение задаётся как допуск, а не как безусловный ноль.
  • Сумма бонусных обязательств и доля сгоревших бонусов — показывает, сколько программа стоит компании.
  • Доля ручных начислений и корректировок — косвенно показывает, где механика непонятна покупателю или кассиру.

Критерии приёмки интеграции

Приёмка интеграции лояльности отличается от обычной проверки функций: проверять нужно не только нормальный сценарий, но и обрывы, повторы и возвраты. Этот перечень удобно включать в требования до начала работ — тогда разработчики и тестировщики проектируют под него с самого начала.

Проверки приёмки интеграции программы лояльности с кассами

Что проверяем Как проверяем Критерий приёмки
Единый профиль Регистрация в приложении, затем покупка на кассе по тому же номеру телефона Профиль один, баланс в приложении и на кассе совпадает
Начисление в чеке Тестовые чеки по каждому правилу, включая исключённые категории и доставку Сумма начисления совпадает с расчётом по правилам, баланс обновляется в согласованный интервал
Двухфазное списание Отмена чека после резерва и после подтверждения Бонусы возвращаются полностью, в журнале видны резерв, отмена и причина
Повторные запросы Повтор запроса с тем же ключом операции Баланс не меняется, ответ совпадает с первым
Недоступность сервиса Отключение канала связи в момент расчёта на кассе Касса оформляет продажу по выбранной политике, кассир видит сообщение, операция попадает в очередь
Офлайн-смена Полная смена без связи, затем восстановление канала Все операции применены по одному разу, журнал совпадает с чеками смены
Возвраты Полный возврат, частичный возврат, возврат покупки, оплаченной бонусами Пересчёт по правилам даты покупки, поведение при потраченных бонусах совпадает с политикой
Сроки действия Профиль с несколькими партиями бонусов и разными датами сгорания Первыми списываются партии с ближайшим сроком, уведомление о сгорании отправлено
Нагрузка в часы пик Нагрузочная проверка обмена на расчётном числе касс и запросов Время ответа и доля отказов укладываются в согласованные пределы
Персональные данные Проверка состава полей на кассе и прав доступа по ролям Согласие зафиксировано, на кассе только необходимые поля, доступ ограничен ролью
Ежедневная сверка Отчёт расхождений между журналом лояльности и чеками за тестовый период Расхождения в пределах допуска, по каждому видно чек, кассу и операцию

Частые ошибки внедрения

  • Правила живут только в коде. Любой вопрос покупателя требует разработчика, запуск акции — отдельной доработки.
  • Списание в одну фазу. Отменённый чек оставляет покупателя без бонусов, а поддержку — с обращением.
  • Нет ключа операции. Повторный запрос при обрыве связи списывает бонусы дважды.
  • Начисление по факту оплаты онлайн-заказа. Отказ при получении превращается в потерю бонусов и спор.
  • Разное округление в приложении и на кассе. Расхождения на каждом чеке и недоверие покупателя к балансу.
  • Офлайн-политика не описана. Каждая торговая точка в момент сбоя действует по своему усмотрению.
  • Кассиров не обучили. Механика работает, а объяснить покупателю отказ в списании на точке некому.

Проверку поведения обмена под пиковой нагрузкой удобно планировать вместе с подготовкой к сезону: как это организуют перед распродажами, описано в материале о нагрузочном тестировании приложения интернет-магазина.

Итог: единая программа лояльности на одной странице

Объединение онлайна и касс держится на четырёх решениях, принятых до разработки: один профиль покупателя с понятным ключом, один сервис, который считает бонусы, описанные правила начисления, списания, возвратов и сроков действия, и заранее выбранное поведение кассы без связи. Эти решения принимают маркетинг, финансы и ИТ вместе, и именно их отсутствие, а не выбор технологии, чаще всего превращает программу лояльности в источник споров на кассе.

Порядок действий для сети, которая начинает проект

  1. Описать правила программы как документ: база начисления, лимиты списания, округление, сроки действия, возвраты.
  2. Выбрать ключ профиля покупателя и способ опознавания на кассе, определить порядок объединения дублей.
  3. Согласовать поведение кассы при недоступности сервиса и офлайн-лимит списания.
  4. Включить таблицу спорных ситуаций и критерии приёмки в требования до начала разработки.
  5. Заложить ежедневную сверку и журнал операций в объём работ первого выпуска, а не в доработки после запуска.

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

Частые вопросы

Как связать программу лояльности в приложении с кассой магазина?

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

Можно ли списывать бонусы на кассе, если нет интернета?

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

Что происходит с бонусами при возврате товара?

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

Сколько действуют бонусы и как устроено их сгорание?

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

Как опознать покупателя на кассе без пластиковой карты?

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

Как проверить, что интеграция лояльности работает корректно?

По критериям приёмки, которые включают в требования до начала разработки. Кроме нормального сценария покупки проверяют отмену чека после списания, повторный запрос с тем же ключом операции, работу кассы при недоступности сервиса, полную смену без связи с последующей синхронизацией, все виды возвратов, списание партий бонусов по срокам, поведение обмена под пиковой нагрузкой и состав персональных данных на кассе. Отдельный критерий — ежедневная сверка журнала лояльности с чеками: расхождения должны укладываться в согласованный допуск и разбираться по конкретному чеку.

Кто в компании отвечает за правила программы лояльности?

Ответственность распределяется между четырьмя сторонами. Маркетинг отвечает за механику, акции и тексты уведомлений. Финансы — за стоимость бонусных обязательств, округление и отражение операций в отчётности. ИТ — за обмен данными, обработку повторов и обрывов, журнал операций и сверку. Юрист — за публичные правила программы, согласие на обработку персональных данных и порядок изменения условий. Отдельная зона — розница: сценарий работы кассира, тексты сообщений на экране кассы и обучение сотрудников точек.

Обсудим вашу задачу

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

ДАВАЙТЕ ОБСУДИМ
ВАШ ПРОЕКТ

Мобильное приложение