Как работает реферальная программа
Реферальная программа — вид сотрудничества между клиентом и провайдером, при котором клиент получает реферальную ссылку или промокод. Такой клиент считается партнёром или реферером, а новые клиенты, которые зарегистрировались по этой ссылке (промокоду), — рефералами. Партнёр получает процент от расходов своих рефералов.
Обратите внимание!
По промокоду можно привязать только нового клиента, у которого нет услуг.
Результаты реферальной программы:
- партнёр получает прибыль за счёт привлечённых клиентов;
- провайдер получает новых клиентов и рекламу силами партнёра.
Общая логика работы
Со стороны провайдера
- Создайте реферальную программу в разделе меню: Маркетинг → Реферальные программы → кнопка Создать.
- Укажите размер вознаграждения и URL-адрес сайта провайдера.
Разместите, как минимум, на одной странице сайта провайдера, следующий код:
CODEЕсли нужно, чтобы сайтом реферальной программы был BILLmanager, разместите указанный код в настройках бренда. Для этого перейдите в раздел Провайдер → Провайдеры → выберите провайдера → кнопка Настройка бренда → блок HTML-вставка → заполните поле Заголовок (head).
Этот код нужен для учёта переходов и регистраций по реферальным ссылкам.
Обратите внимание!
Один клиент может быть подключён только к одной реферальной программе.
Со стороны клиента
Клиент (реферер) переходит в раздел Клиент → Реферальная программа и копирует там ссылку или промокод. Пользователи, которые перешли по этой ссылке или при заказе первой услуги ввели промокод реферера, становятся рефералами клиента.
Клиент (реферер) может посмотреть статистику переходов по реферальной ссылке в разделе меню Клиент → Реферальная программа → Статистика. В статистике отображено количество переходов по ссылке и сколько из перешедших зарегистрировались в BILLmanager и совершили оплату.
Таблицы БД
Таблица affiliate содержит общую информацию о реферальной программе:
id | name | project | integration | billurl | url | promocode | reward | period | account_group | account_group_restrict | name_lt | name_ru | name_ua | url_lt | url_ru | url_ua |
1 | NULL | 1 | NULL | NULL | NULL | LULULU@ID@ | 1000 | NULL | NULL | 8 | NULL | Ref | NULL | NULL | http://172.30.20.103:8080/?p= | NULL |
Таблица affiliateitemtype содержит информацию о награде по конкретным настроенным типам продуктов. Если таблица содержит более одной записи, то зачислены будут вознаграждения для каждой записи.
id | affiliate | itemtype | pricelist | reward |
1 | 1 | 103 | 1 | 50 |
Таблица account2project содержит информацию о том, к какой реферальной программе привязан клиент, чьим рефералом является и по какой реферальной программе был привлечён:
account | project | affiliate | affiliatereferer | affiliateprogram | assigning_date |
2 3 5 6 7 | 1 1 2 1 1 | 1 1 NULL NULL NULL | NULL NULL NULL 3 3 | NULL NULL NULL 1 1 | 2020-01-08 2020-01-08 2020-01-10 2020-01-10 2020-01-12 |
Таблица affiliateclick содержит список переходов по реферальной ссылке:
site | account | referal | ip | project | sesid | cdate |
2 2 2 3 | NULL 6 NULL 7 | 172.30.20.1 172.30.20.1 172.30.20.1 172.30.20.1 | 1 1 1 1 | 1578689949.b7XKmd 1578689962.GLQNPy 1579183750.OC4uK2 1578833311.M0DVRk | 2020-01-10 20:59:09 2020-01-10 20:59:22 2020-01-16 14:09:10 2020-01-12 12:48:43 |
Таблица affiliatereward — список начислений за реферальную программу:
id | affiliate | account | referal | amount | currency | payment | cdate | itemtype | pricelist | reward |
1 | 1 | 3 | 6 | 1000.0000 | 126 | 3 | 2020-02-01 | NULL | NULL | 1000 |
Создание реферальной программы
При создании реферальной программы BILLmanager делает запись в базу данных:
Пример записи в таблицу БД
При добавлении особых правил реферальной программы в меню Маркетинг → Реферальные программы → Правила → Создать, BILLmanager делает запись в базу данных:
Пример записи в таблицу БД
Переход клиента по реферальной ссылке
Учёт переходов по ссылке
При переходе по реферальной ссылке BILLmanager делает запись в базу:
Запись в таблицу БД
Привязка реферала делается в следующих случаях:
- при переходе на витрину;
- вручную в настройках лицевого счёта клиента;
- вручную в настройках клиента;
- при регистрации.
Если у клиента в браузере не было сессии, реферал будет привязан, но запись в таблице не будет создана. Такое может быть, например, при режиме инкогнито или при использовании прокси.
Логи переходов по реферальной ссылке находятся в /usr/local/mgr5/var/counter.log.
Регистрация нового клиента по реферальной ссылке
Привязка клиента к провайдеру:
Запись в таблицу БД
CODEПодключение нового клиента к реферальной программе:
Запись в таблицу БД
CODEПривязка нового клиента к рефереру в качестве реферала:
Запись в таблицу БД
CODE
Начисление вознаграждения
По умолчанию вознаграждения за реферальную программу начисляются по заданию в cron первого числа каждого месяца в 3:10 по времени сервера:
Задание в cron
При начислении вознаграждения за реферальную программу BILLmanager:
Делает запросы для каждого реферала:
Пример запроса
CODEПроверяет разрешено ли рефереру участвовать в реферальной программе:
Пример запроса
CODE
В случае отрицательного ответа в логе будут отображаться ошибки вида:Пример ошибки в логе
CODEПроверяет были ли уже вознаграждения за реферала за расчётный месяц:
Пример запроса
CODEСчитает расходы реферала запросом:
Пример запроса
CODEЕсли условия выполняются и у реферала есть расходы за расчётный период, начисляет рефереру вознаграждение:
Пример записи в таблицу БД
CODEДля каждого реферера, которому было начислено вознаграждение, делает запрос:
Пример запроса
CODEСоздаёт и зачисляет авансовые платежи вознаграждения с номером вида PartnerPayment/ID:
Пример записей в БД
CODEОбратите внимание!
Платежи за награждение по реферальной программе создаются без указания плательщика и акты по таким платежам сделаны не будут.