Создаем реферальную программу в ManyChat

Создаем реферальную программу в ManyChat
24.03.2019 Алексей Малыгин

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

Цепочка может выглядеть следующим образом:

  • Вы открываете нужный поток чат-бота в мессенджере.
  • Нажимаете на кнопку Share и делитесь с друзьями.
  • Ваши друзья получают в мессенджер сообщение от вас, проходят по воронке, делятся со своими друзьями, а взамен что-то получают.

Будут ли люди делиться чат-ботом? Да, если есть мотивация. В качестве мотивации может быть купон на скидку, доступ к скрытом контенту на сайте, ссылка на файл с полезным материалом и прочее. Такую механику можно применить и при реализации конкурсов в мессенджере.

В этом руководстве вы узнаете, как создать реферальную программу в Messenger с помощью ManyChat .

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

Там как раз рассматриваются механики приглашения и способ вызова внешних запросов. Все то, что нам понадобится ниже.

Как отследить подписчиков, которые пригласили друзей?

Технически, можно реализовать несколькими способами.

  • Первый — используя сторонние сервисы, такие как Zapier или Integromat в связке с ManyChat.
  • Второй — только средствами ManyChat, используя API.

На первый взгляд, все просто. Берем карточку с кнопкой Share и ссылкой на нужный поток. К ссылке добавляем UserID. Делимся с другом. После того, как он кликнул по ссылке, мы читаем UserID и узнаем кто пригласил. Но проблема в том, что нам нужно каким-то образом обменяться данными между пользователями. Поймать событие, когда приглашенный друг (назовем его User2) перешел по ссылке и сообщить тому пользователю, который его пригласил (User1).

Первый вариант, с помощью Zapier, довольно прост. Нам нужно построить цепочку (в Zapier) из 4-х шагов и вызвать ее по событию из ManyChat. В качестве события можно взять присвоение тега. Но будьте готовы платить $25/мес. за платный аккаунт Zapier, потому как в бесплатном варианте разрешено создавать цепочки не более 2-х шагов.

Второй вариант работает через ManyChat API. Давайте с ним и разбираться.

Строим реферальную программу

Создадим кастомное поле, куда будем заносить UID того, кто отправил приглашение (User1).

Settings -> Custom Fields и создаем поле:

Для работы реферальной программы нам понадобится 3 потока.

Первый поток

Я сделал пример, в котором предлагаю доступ в закрытую Facebook-группу в обмен на двух людей, которых приведет пользователь.

На кнопку «Вступить в группу» я прописываю ссылку на второй поток.

Ссылку создаем в Growth Tools -> Messenger Ref URL

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

Здесь «master» — это произвольное имя параметра, а значение параметра мы считываем в кастомное поле «Invite UID», которое я создавал выше. При клике по ссылке «Вступить в группу» ссылка будет выглядеть примерно так https://m.me/magdamagla?ref=master—123456789.

Вместо 123456789 динамически подставляется UID.

Второй поток

Немного пояснений. На кнопку «Вступить в группу» может нажать как User1 (который отправляет приглашение), так и User2 (который принимает). Нам нужно их распознать и разнести по разным веткам. Для этого и предназначен первый блок (Condition).

В этом блоке я спрашиваю, помечен ли текущий пользователь тегом [Event]? Если да, значит это User1 и он поделился сам с собой, пытаясь схитрить. Если нет, значит это новый пользователь User2 и нужно его перенаправить в какой-нибудь поток.

Самое здесь важное — это действие под названием «Actions #2». После того, как зашел User2 мы обращаемся к ManyChat API с помощью внешнего запроса.

Внешний запрос

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

Далее, открываем внешний запрос. Если не знаете как это сделать, смотрите мое предыдущее видео.

sendFlow — это функция, которую нам нужно выполнить. Эта функция отправит указанный поток тому пользователю, UID которого мы подставляем.

После слова Bearer вам нужно вставить собственный ключ для работы с API.

Теперь переключаемся на вкладку Body и прописываем значения параметров для функции sendFlow.

«InviteUID» — это кастомное поле, в котором хранится идентификатор пользователя User1. Второй параметр — это идентификатор потока, который нужно отправить пользователю User1. Откройте в ManyChat нужный поток и из адресной строки возьмите идентификатор, который начинается с ключевого слова content.

Если подумать логически, что еще нам нужно?

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

Теперь смотрим, что из себя представляет проверка правил.

В первом блоке мы увеличиваем счетчик на единицу. Раз запустился этот блок, значит уже есть минимум один приглашенный. В блоках с условиями мы проверяем значение счетчика. Если 1 (один приглашенный), то просим выполнить все условия. Если 2 и более, значит условия выполнены и можно давать бонус.

Вот и все.

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

Если было сложно — напишите в комментариях и я сниму дополнительное видео на эту тему.

3
Оставить комментарий

avatar
  Подписаться  
Уведомление о
Владимир
Гость
Владимир

Спасибо, за мануал очень четкий!

Sergey
Гость
Sergey

добрый день спасибо за мануал. у меня при тестировании сенд флоу- ругается на неправильный джейсон «Invalid JSON :(
Unexpected string in JSON at position 26». буду очень благодарен за подробное разьяснение