Баллы

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

Баллы в enKod можно:

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

Обратите внимание: функционал программы лояльности недоступен по умолчанию и требует подключённого модуля «Трекинг». Чтобы включить программу лояльности для своего аккаунта, обратитесь к своему персональному менеджеру или на experts@enkod.io.

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

Ограничения баланса баллов

Независимо от способа начисления/списания (JS-метод, API):

  • к начислению/списанию можно передать только целое положительное число;
  • баланс баллов не может быть отрицательным — списать больше, чем есть на балансе, нельзя;
  • максимально допустимое значение баланса — 100 000 баллов. Начисление, после которого баланс превысил бы этот порог, выполнено не будет.

Начисление и списание баллов

Передать событие начисления или списания баллов можно двумя способами — JS-методом (устанавливается на сайт) или через API. Выбор способа зависит от того, как у вас уже настроена интеграция с enKod.

JS-методы

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

Начисление баллов:

<script type="text/javascript">
ekEvents.push('pointsAdd', {email:'my@email.com', amount: N, reason: 'reason', orderId: 'Id'})
</script>

Списание баллов:

<script type="text/javascript">
ekEvents.push('pointsSpend', {phone:'79000000000', amount: N, reason: 'reason', orderId: 'Id'})
</script>

Параметры методов

Параметр Обязательность Описание
email / phone Обязателен один из двух Идентификатор контакта
amount Обязательный Количество баллов к начислению/списанию. Целое положительное число
reason Необязательный Причина операции — значения см. в таблице ниже. Если передать пустое или недопустимое значение, оно будет проигнорировано (сохранится пустая причина), метод при этом отработает без ошибки
orderId Обязателен при reason = order или orderReturn Номер заказа для связи операции с событием заказа. Если заказа с таким номером не существует — ошибки не будет, а orderId всё равно сохранится

Допустимые значения reason

Значение Причина Начисление Списание
order Заказ
orderReturn Возврат заказа
promotion Акция
registration Регистрация
manual Ручная корректировка

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

Баллы в карточке контакта

Если функционал программы лояльности включён для аккаунта, в карточке контакта отображается блок с текущим балансом бонусных баллов. Значение в нём меняется автоматически при начислении/списании баллов JS-методом или через API. Баланс в карточке всегда представлен целым неотрицательным числом, с учётом ограничений выше.

История событий: начисление и списание баллов

Место: Контакты → Карточка контакта → таб «История событий» Каждая операция с баллами добавляется в историю событий контакта отдельной записью — «Начисление баллов» или «Списание баллов», независимо от того, каким способом она была передана (JS-методом или через API).

Начисление баллов

Бейдж события:

  • количество баллов больше 0 — зелёный бейдж, формат «+N баллов»
  • количество баллов равно 0 — серый бейдж, формат «0 баллов»

Причина операции отображается в событии на основе переданного параметра reason:

Причина Как отображается Кнопка «Подробнее» Что показывает
order Заказ есть номер заказа, если он был передан
orderReturn Возврат заказа есть номер заказа, если он был передан
promotion Акция нет
registration Регистрация нет
manual Другое нет
не передано нет

Списание баллов

Бейдж события:

  • количество баллов больше 0 — красный бейдж, формат «-N баллов»
  • количество баллов равно 0 — серый бейдж, формат «0 баллов»

Причина Как отображается Кнопка «Подробнее» Что показывает
order Заказ есть номер заказа, если он был передан
orderReturn Возврат заказа есть номер заказа, если он был передан
manual Другое нет
не передано нет

Фильтр и поиск

События начисления и списания баллов учитываются в общем фильтре «Все события» в истории событий контакта.

По этим событиям также работает поиск — по количеству баллов и по номеру заказа (orederId).

Сегментация по баллам

В дереве условий, в ветке По данным пользователя, доступна группа условий По баллам с тремя условиями: Баланс, Начислено, Списано.

Подусловия внутри одного условия работают между собой через И.

Баланс

Баллов на счету — оператор больше / меньше / равно / не равно — число.

Начислено

Начислено баллов — оператор больше / меньше / равно — число.

Опциональные подусловия:

  • по периоду — работает по общей логике подусловий по времени, уже используемой в других условиях сегментации (между датами / ровно / меньше / больше);
  • по причине — заказ, возврат заказа, акция, регистрация, ручная корректировка.

Списано Списано баллов — оператор больше / меньше / равно — число. Опциональные подусловия:

Валидация полей

Поле для ввода числа в условиях «Баланс», «Начислено» и «Списано» принимает только целые положительные числа — так же, как поле amount при начислении и списании баллов:

  • нельзя ввести отрицательное или дробное число;
  • нельзя ввести значение больше 100 000 (максимально допустимого баланса);
  • нельзя оставить обязательное поле пустым или ввести туда буквы/спецсимволы.

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

Последнее изменение: 2026.09.17 14:20 — Robert Tskhovrebov