Как сделать систему рефералов на php

Обновлено: 07.07.2024

Привет, VC! Передо мной стояла задача спланировать пошаговый запуск реферальной программы, в результате которой 20% платящих пользователей приходят в образовательный продукт по рекомендации.

Я посвятила этой задаче больше недели. На русском языке материалов по теме с конкретными формулами мало, на английском – больше, но зачастую по подписке. В итоге, перелопатив просторы Интернета, сделала дизайн реферальной программы.

Но, увы, запускать мне рефералку так и не пришлось. Но в этом бесконечном мире кто-то точно с этим столкнется и будет здорово, если моя работа кому-то поможет. У меня стратегия относится к образовательному продукту – воспринимайте это как пример, логику можно использовать почти везде.

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

Я представляю реферальную программу как систему нескольких частей:

· приглашение реферала (уточнение: реферал – приглашенный, рефри – приглашающий);

· удовлетворенность пользователей и ретеншн.

Достижение конечной цели (20% платящих приходит по рекомендации) зависит от достижения целевого действия на каждом из этапов программы. В связи с этим строю дизайн таким образом: по каждому элементу описываю общий подход, задаю гипотезу, метрику оценки на основе целевого действия, а также принцип оценки результатов.

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

1. Задать вознаграждение

1.1. Общий подход

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

· Вознаграждение привлекательно как для рефери, так и для реферала

· Вознаграждение должно быть уникальным. Его нельзя получить более простым способом

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

Формула САС реферала: CAC for Referral Marketing = All Sales & Marketing Expenses on promoting referrals+incentives / Total number of New Customers From Referrals

В нашем случае можно считать, что LTV=стоимость 1 курса.

1.2. Гипотеза

30% текущих пользователей будут приглашать друзей на курс за вознаграждение — кэшбэк 3000 рублей рефери и рефералу

1.3. Метрика успеха

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

1.4. Анализ результата

+ Если количество рефери составляет 30% * от всех пользователей, то гипотеза подтвердилась. Предложение интересно пользователям.

- Если нет, то меняем ценностное предложение

2. Определить место для призыва

2.1. Общий подход

Нужно определить момент, в который пользователь захочет пригласить друга в продукт и усилить это желание. 99% текущих пользователей должны видеть предложение привести друга.

2.2. Гипотеза

99% текущих пользователей увидят призыв на разделах сайта:

2.3. Метрика успеха

2.3.1. Количество рефералов, приходящихся на 1 рефери

2.3.2. Когда один пользователь приглашает в продукт 2 и более друзей, то запускается виральность (K factor) – вирусное распространение за счет увеличения пользователей в геометрической прогрессии.

K factor = i x c

i = количество приглашений, исходящих от одного пользователя

c = конверсия в покупки (например, если один из пяти приглашенных друзей оплатит курс, то c = 0, 2.

2.4. Анализ результата

+ 60% активных пользователей пригласили по 2 друга

- если нет, то меняем места размещения призывов

3. Помочь пользователям успешно приглашать друзей

3.1. Общий подход

3.2. Гипотеза

3.3. Метрика успеха

Конверсия в прохождение трайл-периода.

Оцениваем насколько интересно приглашение для друзей.

3.4. Анализ результата

*3.5. Промоутеры

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

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

4. Подтолкнуть рефералов к покупке

4.1. Общий подход

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

4.2. Гипотеза

20% приглашенных купят курс.

4.3. Метрика успеха

Конверсия рефералов в покупки

4.4. Анализ результата

- увеличивать целевые показатели метрик:

· Active users sending invites (п.1.3.),

· Invitees Per Referer & K factor (п.2.3.),

· Trail Per Invite (п.3.3.).

5. Мониторить ретеншн, NPS и растить рефери

5.1. Общий подход

Пользователи, как правило, рекомендуют только продукт, который им нравится. Основными показателями удовлетворенности являются Customer retention rate & NPS. NPS должен быть в промежутке от 9 до 10 из 10.

NPS мониторим по мере внедрения реферальной программы. Таким образом, чтобы удовлетворенность текущих пользователей не падала.

Хочу сделать реферальную систему. Цель - автоматическое создание реферальных ссылок и при переходе по ним, запись в сессию ид'а реферала.
Не знаю как это организовать, кто-то может помочь?

_____________
Оскорбления — это обычные доводы тех, кто неправ @ Жан-Жак Руссо

_____________
Оскорбления — это обычные доводы тех, кто неправ @ Жан-Жак Руссо

Jimmbo
Сессия хранится на сайте, ты предлагаешь с твоего сайта перейти на другой сайт, где создать сессию? Такого сделать невозможно. Реферальные программы работают на куках.

imbalance_hero, спасибо. Все сделал. Получилось. Использовал куки.

_____________
Оскорбления — это обычные доводы тех, кто неправ @ Жан-Жак Руссо

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

Как найти первого понятно - поле с пригласившим пустое. Записать его рефералов тоже просто.
А вот дальше надо думать.
Есть идея, что нужно делать цикл в цикле в цикле и т. д. Но.
Есть идея, разбить их на уровни. Но.

Может кто подскажет еще идеи.
А программный код (алгоритм) вообще. )))

После публикаций "что такое реферальная ссылка" и "правильная реферальная программа" спрашивают как самим сделать реферальную программу. Чтобы не изобретать велосипед первым делом полез в поиск яндекса и. не нашел ответа. Встречаются только программные кусочки кода. Ни теории. Ни практики.

Этот материал, надеюсь, поможет в ответе на этот вопрос.

Теория создания реферальных программ

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

Для упрощения откажемся от слова "реферал". Будем употреблять слова "приглашенный" и "пригласивший".

Классические реферальные программы:

- Одноуровневая .

Один пригласивший - один приглашенный. Пригласивший и приглашенный может быть кем угодно. Нам важен сам факт приглашения. Самая простая модель.

Плюс это простая реализация. Минусом является отсутствие управляемости, аналитики и множество уязвимостей.

- Многоуровневая .

Показана на картинке. Есть главный Лидер и все остальные привязываются к нему. Причем выстраивается сеть из приглашенных.

В жизни чаще всего встречаются реферальные системы ограниченные 1 и 2 уровнем. Они дают достаточно информативности и не требуют сложной реализации. За более глубокой теорией можно отправится к адептам много уровневого маркетинга.

Делаем свою реферальную систему

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

- Владельца ресурса . Владелец должен понимать кому сколько и за что платит. Схемы привлечения, целевые аудитории и прочее.

- Приглашающего . Прописываются все издержки с его стороны и бонусы, которыми они будут покрываться. Рисуется портрет типичного агента.

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

Далее рисуем кружочки уровней и основные параметры будущей реферальной программы.

Смотрим на результат и, крайне желательно, смоделировать её "пешим по летному". И теперь приступаем к технической реализации.

Реализация реферальной программы

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

В целом это выглядит так.

На стороне сервера генерируются пригласительные коды. Могут быть в виде ссылок, кодов купонов, логинов текущих пользователей.

Со стороны приглашающего ведется рекламная компания в которой он доносит до своих будущих рефералов персональный код (ссылка/код/логин).

При регистрации приглашенного в автоматическом режиме (переход по ссылке) или в ручном режиме (вводом кода, логина приглашающего) идет привязка.

В соответсвии с программой получают слонов все участники.

Методы реализации рефералки

2. Самостоятельная разработка расширения к сайту.

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

Все решения по созданию реферальной системы платные. Некоторые продукты с очень ограниченным функционалом имеют бесплатную версию.

Поскольку сам этим не занимаюсь вплотную, то просто скажу куда смотреть. Смотрите в сторону spassibo.com, userecho.com и sailplay.ru Системы для серьезных проектов, а "малышам" проще свою создать или заказать.

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


Здесь могла бы быть ваша реклама


Помог: 3 раз(а)

Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.

После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..

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

Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.


На последок как оно происходит на форумах

Отредактировано модератором: Uchkuma, 26 Апреля, 2011 - 10:21:12

. Вот и все. Надеюсь, что написал все. Если есть какие-нибудь замечания, пишите, с удовольствием выслушаю=).
В будущем добавлю скрипт для вывода списка всех рефералов в профиле пользователя.

Вложения:

refsystem.zip

Toster_tpl Старожил Пользователь

GHOST-MEN Активный участник Пользователь

Всем привет! Нигде не нашел подобный гайд, решил написать свой =).
НУЖЕН CRON!
Так, что это вообще такое? Объясню: Допустим, есть игрок, которому оч понравился ваш проект. Он решил позвать друзей. Он кидает другу свою реферальную ссылку, тот по ней регистрируется и идет играть на сервер. Когда второй отыгрывает 100 минут, первому(тот, кто пригласил) начисляется бонус в виде 2500 Iconomy монет(настраивается в refcron.php). А теперь, приступим к установке:
Итак, первое, что нам нужно, это установить плагин Playtime. Он служит для записи отыгранных минут на сервере(ах) в базу данных. ССЫЛКА
Далее нам нужно залить php скрипт на свой сайт. Желательно в корень, чтобы ссылка была не очень длинной. Он отвечает за создание cookie в котором будет храниться имя реферала.
Так же нужно скачать еще один скрипт, который будет запускаться в CRON. Открываете его и указываете данные для доступа к бд.
Все скрипты в прикрепленных файлах.
Всё, дальше будем уже редактировать.
1. Открываем файл engine/modules/register.php, ищем примерно такую строку:

$db -> query ( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES (' $name ', ' $regpassword ', ' $email ', ' $add_time ', ' $add_time ', '" . $config [ 'reg_group' ] . "', '', '', '', '', '" . $_IP . "')" );

if (isset( $_COOKIE [ 'referalstoryworld' ]) and !empty( $_COOKIE [ 'referalstoryworld' ]))
$db -> query ( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, referal) VALUES (' $name ', ' $regpassword ', ' $email ', ' $add_time ', ' $add_time ', '" . $config [ 'reg_group' ] . "', '', '', '', '', '" . $_IP . "', '" . $_COOKIE [ 'referalstoryworld' ] . "')" );
else
$db -> query ( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES (' $name ', ' $regpassword ', ' $email ', ' $add_time ', ' $add_time ', '" . $config [ 'reg_group' ] . "', '', '', '', '', '" . $_IP . "')" );

После редактирования нам нужно выполнить один запрос в бд. Выполнять его нужно ТОЛЬКО после того, как плагин создаст свою таблицу.

Готово. Теперь осталось подключить файл refcron.php к крону. Заходим в ПУ кроном, выбираем каждую минуту(все звездочки) и пишем команду

Для вывода реферальной ссылки в профиль пользователя открываем userinfo.tpl(у вас мб по-другому называется) и в нужном месте пишем это:

. Вот и все. Надеюсь, что написал все. Если есть какие-нибудь замечания, пишите, с удовольствием выслушаю=).
В будущем добавлю скрипт для вывода списка всех рефералов в профиле пользователя.

:good:

Неужели PDO, браво
Только у тя инъекции.

Читайте также: