Статья была полезной?
При создании воронки важно заранее продумать весь путь пользователя: от того, каким образом он в нее попадет, до момента, когда воронка для него будет считаться пройденной. В этой статье разберем:
- какие есть способы запуска воронки;
- как ее правильно завершить;
- как передавать события между воронками;
- а также как продолжить воронку, если появилась такая необходимость уже после ее запуска.
Запуск воронки
Запуск воронки — это первый шаг в выстраивании взаимодействия с пользователем. Именно в этот момент определяется, кто именно попадет в воронку, по какому триггеру и с какой целью. В этом разделе статьи мы разберем:
С помощью ноды «Старт воронки»
Для запуска воронки есть специальная нода, которая так и называется, — «Старт воронки».
Важно
Вы можете добавить несколько нод «Старт воронки» с одинаковыми настройками. В этом случае при появлении события все стартовые ноды воронки будут активированы и запустят связанные реакции.
В настройках ноды «Старт воронки» можно выбрать, какими способами воронка может быть активирована. Всего есть 4 способа, при этом для одной ноды можно выбрать несколько способов или все сразу:
- с помощью обработчика формы GetCourse или кнопки на странице;
- вызовом JavaScript на любой странице (в том числе во внешних системах);
- вызовом URL внешней системой (для интеграции со сторонними сервисами);
- через запуск бота (Telegram или VK).
Запуск через обработчик формы или кнопку
Этот способ позволяет запустить воронку со страницы на GetCourse для агентов с типами:
- сессия;
- пользователь, если отправил форму или нажал кнопку авторизованный пользователь;
- заказ, если при отправке формы был создан заказ.
Важно
При построении воронки учитывайте, какие агенты на каком этапе будут созданы. Например, если вы хотите после старта воронки отправить письмо, то важно, чтобы в событии был агент «пользователь».
Чтобы запустить воронку при выборе этого способа:
- в форме — добавьте обработчик формы «Запуск воронки»;
- на кнопке — выберите для действия при клике «Действие расширений» — «Старт воронки» и выберите нужную воронку в выпадающем списке.
Если при отправке формы или нажатии на кнопку пользователь:
- авторизован — воронка запустится и для сессии, и для пользователя;
- не авторизован — воронка запустится только для сессии.
Запуск для сессии можно использовать для создания интерактива с посетителем на странице, например, показа сообщений, поп-апов, присваивания переменных и т. д.
Запуск через событие на странице
Этот способ похож на предыдущий, но он позволяет запускать воронку:
- со страниц сторонних сервисов (например, Tilda);
- в ответ на любое событие на странице, а не только на нажатие кнопки (с помощью Javascript).
Важно
Чтобы внешняя страница могла запускать воронку, нужно обязательно установить на нее код счетчика воронок. Для этого скопируйте его в разделе «Apps» — «Воронки».
Для запуска воронки таким способом скопируйте код из настроек ноды и добавьте его в обработчик кнопки на стороннем сайте. Кнопка должна вызывать Javascript.
Запуск через внешний вызов
Это способ позволяет запустить воронку из любой внешней системы с помощью вызова ссылки (URL). Параметры и формат запроса точно такие же, как и при вызове кастомного события.
Запуск через бота
Этот способ позволяет запустить воронку для агентов с типами:
- чат;
- сессия;
- пользователь (только если он уже существует в аккаунте вашей школы).
На данный момент поддерживается запуск через бота:
- Из VK — для активации события используйте действия на подписной странице VK.
- Из Telegram — событие будет активировано, как только бот получит команду «/start».
Идея
Если вы хотите использовать один Telegram-бот для нескольких воронок, то вы можете запускать только нужную воронку в зависимости от задачи.
Способ реализации в таком случае будет зависеть от того, нужно ли привязывать бот к пользователю:
- Если при запуске бота привязывать его к профилю пользователя НЕ нужно, то можно использовать опцию «Включить фильтр по стартовому параметру».
Обратите внимание
Для корректного запуска данным способом убедитесь, что в других воронках с этим ботом:
- применяется другой стартовый параметр,
- либо запуск настроен через ноду «Событие»,
- либо запуск настроен через ноду «Команда бота» с настройкой «Точно совпадает с любым из вариантов».
- Если запуск воронки происходит из формы/виджета GetCourse, и при запуске воронки нужно привязывать бот к профилю пользователя, то:
- в форме первым обработчиком поставьте полную авторизацию, далее обработчик «Запустить событие в воронках», на последнем месте — «Переадресация»;
- в обработчике «Переадресация» добавьте ссылку, связывающую чат и профиль пользователя;
- в воронке добавьте ноды «Страница», «Событие» и «Команда бота»;
- в ноде «Страница» пропишите адрес страницы, на которой находится форма;
- скопируйте идентификатор из ноды «Событие» и вставьте его в форму в обработчик «Запустить событие в воронках»;
- далее в ноде «Событие» установите переменную user.filledForm = true;
- затем в стрелке после ноды «Команда бота» задайте проверку, что событие сработало по пользователю, т. е. пользователь отправил конкретную форму, — только в этом случае воронка запустится.
После отправки пользователем формы сработает конкретное событие в конкретной воронке и запустится дальнейшая цепочка действий.
Обратите внимание
Для корректного запуска данным способом убедитесь, что в других воронках с этим ботом тоже настроен запуск через «Событие», но при этом в каждой воронке должно быть свое событие.
Ручной запуск для тестирования воронки на одном пользователе
Если вы хотите протестировать, как воронка будет отрабатывать цепочку действий, например, с какого-то конкретного места, вы можете запустить ее с определенной ноды для одного тестового пользователя. Для этого:
- Добавьте в готовую воронку ноду «Событие».
- Проведите от нее стрелку-переход к нужной ноде, от которой хотите запустить тест воронки.
- Сохраните воронку.
- Перейдите на вкладку «Отладка» в добавленной ноде «Событие» и вставьте id тестового пользователя. Узнать его можно из адресной строки в карточке этого пользователя.
- Нажмите кнопку «Создать».
Продолжение воронки
В реальных сценариях бывает недостаточно один раз создать и запустить воронку, чтобы она долгое время работала без изменений. На практике возникают ситуации, когда изначальный замысел требует доработки или интеграции с другими бизнес-процессами. В этом разделе рассмотрим работу с уже запущенными воронками:
- как «достраивать» воронку и запускать новые ноды по тем, кто уже завершил свой путь по воронке;
- как организовать обмен данными между разными воронками и сценариями;
- как управлять параллельным запуском нескольких воронок для одного и того же объекта.
Достраивание воронки и запуск новых нод по тем, кто уже прошел воронку
Представьте ситуацию: воронка была запущена, некоторые объекты уже дошли до ее конца, но после этого потребовалось достроить воронку и провести по новым нодам те объекты, что уже ее завершили. Если просто добавить новые ноды, то действия по ним для объектов, остановившихся на последней ноде старой воронки, не будут выполнены.
Чтобы бесшовно добавить новые ноды и запустить их для закончивших воронку объектов:
- Достройте воронку нужными нодами.
- Когда новая часть воронки будет готова, добавьте в нее ноду «Событие» и соедините с нодой, с которой начинается новая часть воронки.
- Скопируйте идентификатор из настроек ноды «Событие».
- Для ноды, с которой начинается новая часть воронки, запустите действие «Продолжить воронку».
- Вставьте скопированный идентификатор в поле ID события и нажмите «Сгенерировать».
После таких настроек новая цепочка воронки запустится по всем объектам, которые «остановились» на последней ноде, из которой вы продолжили воронку.
Обмен данными между разными воронками и сценариями
Если у вас появилась задача при достижении определенного этапа одной воронки запустить другую, вы можете связать эти две воронки (то же самое применимо к двум разным сценариям). Для этого:
- Добавьте ноду «Событие» в ту воронку, куда необходимо перенаправить текущий объект, — в начало воронки или с нужного места в ней.
- Скопируйте идентификатор события из настроек этой ноды. Вы можете прописать его вручную или использовать тот, который был указан при создании ноды.
- Перейдите в изначальную воронку, из которой нужно перенаправлять объект, и добавьте ноду «Создать событие» в нужном месте воронки.
- В настройках ноды «Создать событие» укажите идентификатор, который вы скопировали ранее в другой воронке из ноды «Событие».
В событие во второй воронке будут переданы все те же объекты, которые были задействованы при запуске ноды «Создать событие». Это значит, что во второй воронке, которая отлавливает событие, цепочка действий пойдет по всем тем же объектам, которые шли по изначальной воронке.
Важно
Объекты в воронке будут те же, но агенты для них будут созданы новые, поэтому локальные переменные из воронки 1 не будут доступны в воронке 2.
Если вы хотите использовать одинаковые переменные одновременно в разных воронках, воспользуйтесь глобальными переменными.
Параллельный запуск нескольких воронок для одного и того же объекта
Если вы хотите ограничить запуск воронки, если текущий пользователь уже проходит другую, или запустить, но по альтернативной ветке, то вы можете использовать глобальные переменные. К таким переменным можно обращаться из разных воронок одновременно.
Чтобы ограничить повторный запуск воронки для того же объекта:
- Создайте глобальную переменную.
- Задайте проверку на старте всех конкурентных воронок , не присвоена ли переменная текущему объекту.
- Присвойте ее объекту при первом запуске нужной воронки.
- Отключите блокировку перед завершением воронки.
- Создание глобальной переменной
- Создание глобальной переменной
Для начала создайте переменную, которая будет отвечать за блокировку повторных запусков. Для этого:
- добавьте ноду «Глобальная переменная»,
- создайте переменную (например, funnelStartedAt).
С помощью нее будет происходить запись времени, когда запустилась воронка. Таким образом можно будет не только проверять факт запуска, но и учитывать, когда это произошло.
- Проверка переменной на старте воронки
- Проверка переменной на старте воронки
Далее во всех нужных воронках на старте добавьте проверку этой переменной, а также реакции в зависимости от значения. Для этого:
- Добавьте ноду «Глобальная переменная» туда, где требуется проверка.
- В ее настройках выберите опцию «Извлечь переменную», укажите тип объекта и выберите в выпадающем списке переменную из предыдущего шага.
- Отметьте чекбокс «Сохранить результат в переменную» и пропишите название локальной переменной. То есть в этом шаге «перекладывается» значение из глобальной переменной в локальную.
- На переходах в следующие ноды установите условие «Значение переменных» с указанием присвоенной в шаге 2 переменной. В нашем примере это переменная user.funnelStartedAt. Чтобы исключать пользователей, для которых воронка запущена, добавьте условие «ни одно из условий не выполнено».
На схеме ниже вы можете увидеть пример воронки, где если пользователь уже проходит другую воронку, то ему будет отправлено сообщение «Вы уже начали другой курс...», а следующее сообщение будет отправлено через 4 дня.
- Присвоение переменной после запуска воронки
- Присвоение переменной после запуска воронки
Когда объект прошел проверку, и воронка уже запустилась, нужно «заблокировать» его для других воронок. Для этого:
- Добавьте ноду «Глобальная переменная» после старта воронки.
- Выберите в ее настройках действие «Задать переменную».
- Выберите объект и созданную ранее переменную.
В нашем примере в качестве основного объекта используется пользователь. Вы можете менять объект в зависимости от вашей воронки. Например, если у вас воронка по чату (нет пользователя), то можно использовать тип объекта «чат».
Обратите внимание
Тип объекта при проверке на старте воронки должен совпадать с тем типом, который выбираете при установке переменной.
Чтобы установить факт старта воронки, вы можете в качестве значения написать просто true. В текущем примере мы присваиваем new Date() - это специальная функция, которая возвращает текущее время (в часовом поясе UTC 0) в виде объекта даты.
Если вы хотите превратить дату в число, можно написать Date.now(). Подробнее про числовое представление даты можно прочитать в открытых источниках. Вариант с датой позволяет строить разное поведение воронки в зависимости от того, когда объект начал ее проходить.
После всех вышеописанных настроек вы получите воронку, после успешного запуска которой будет записываться глобальная переменная для выбранного типа объекта. Эту переменную можно будет проверяться в любой воронке, на любом этапе с помощью ноды «Глобальная переменная».
- Отключение «блокировки» перед завершением воронки
- Отключение «блокировки» перед завершением воронки
Важно не забыть убрать блокировку объекта в других воронках, когда он уже прошел текущую воронку (если это необходимо для вашей схемы). Для этого:
- В конце воронки, которую должен пройти объект, добавьте ту же ноду «Глобальная переменная».
- В ее настройках установите значение переменной null или false.
После этого объект будет успешно проходить проверку «не проходит другие воронки» из шага выше.
Завершение воронки
Для завершения действий по воронке можно использовать ноды «Завершить воронку» или «Полностью сбросить текущие объекты и закрыть другие связанные».
Нода «Завершить воронку»:
- полностью сбрасывает все связанные объекты,
- завершает все ветки сцены по текущему объекту и всем связанным агентам (user/chat/session/deal),
- обнуляет все локальные переменные,
- сбрасывает лимиты запусков в стрелках,
- работает в рамках одной сцены.
Нода «Полностью сбросить текущие объекты и закрыть другие связанные»:
- сбрасывает все объекты, связанные с текущей группой объектов (user/chat/session/deal);
- все действия по сброшенным объектам буду завершены;
- сразу после сброса будут воссозданы копии объектов, но это будут новые объекты со своими идентификаторами и историей;
- по умолчанию переменные из завершенных объектов перезапишутся в новые, но можно сбросить и переменные, отметив опцию «Не копировать переменные из завершенного объекта»;
- для новых объектов лимиты в стрелках будут сброшены;
- от ноды «Полностью сбросить текущие объекты и закрыть другие связанные» можно провести стрелку к следующей ноде и продолжить воронку в отличие от ноды «Завершить воронку»;
- работает в рамках одной сцены.
Ниже рассмотрим два примера завершения воронки:
- Как завершить одну воронку при запуске другой.
- Как сбросить по пользователю данные, чтобы протестировать воронку на этом пользователе заново.
Завершение одной воронки при запуске другой
Чтобы при запуске воронки 1 завершать воронку 2:
- Добавьте ноду «Создать событие» в воронку 1 после ноды, с которой начинается запуск воронки.
- Далее в воронку 2, которую необходимо завершить при запуске воронки 1, добавьте ноду «Событие». С другими нодами соединять ее не нужно.
- В той же воронке 2 добавьте ноду «Завершить воронку» и соедините ее с нодой «Событие».
- Идентификатор созданного события из воронки 2 вставьте в ноду «Создать событие» воронки 1.
В результате после запуска воронки 1 сработает событие в воронке 2, которое сразу завершит для этого объекта воронку 2.
Если при запуске воронки 1 нужно завершить одновременно несколько других воронок, то можно во всех этих воронках использовать этот же способ, указывая один и тот же идентификатор события.
Сброс данных по пользователю, чтобы протестировать воронку на этом пользователе заново
Если вы тестируете воронку, то вам может понадобиться сбросить все данные о нем в этой воронке ля повторного теста. Для этого используйте связку нод «Событие» и «Завершить воронку».
Далее для пользователя, данные по которому нужно сбросить, запустите событие вручную. Порядок действий аналогичен описанному выше в разделе «Ручной запуск для тестирования воронки на одном пользователе».
В результате по пользователю будут сброшены переменные, лимиты и связанные объекты из этой воронки.
авторизуйтесь