Перейти к основному содержимому

Действие «Ссылки»

«Ссылки» — действие в сценарии действий, которое создаёт короткие ссылки с лимитами и обрабатывает переходы по ним. По сути, у вас встроенный bit.ly + триггер запуска бота при клике.

Ссылки — это мост между внешним миром (письмо, оффлайн-листовка, реклама) и ботом. Клиент кликает — попадает в нужное место сценария, бот знает, по какой ссылке он пришёл.

Когда использовать

  • Реклама: уникальная ссылка для каждой кампании → отслеживание конверсии.
  • Промо-акции: ссылка с лимитом «100 первых клиентов».
  • Срочные предложения: ссылка живёт 48 часов и сгорает.
  • Личные ссылки: индивидуальная ссылка для каждого клиента — никто другой не сможет ею воспользоваться.
  • A/B-тесты: две ссылки в одно место с разным link_payload, замер кликов.

Часть 1. Два режима

В сценарии действий → «Добавить действие»«Ссылки».

РежимНазначение
Создать ссылку (getlink)Сгенерировать короткую ссылку с параметрами
Принять ссылку (acceptlink)Обработать переход — кто пришёл, какая ссылка, сколько раз

Два режима действия Ссылки

Скриншот 1. Выбор режима работы.


Поля операции

ПолеЗначение
Тип ссылкиОбщая — одна на всех, Индивидуальная — уникальная для каждого клиента
СсылкаОригинальный URL: https://t.me/your_bot?start=promo или https://site.ru/...
ИдентификаторМетка, доступная при переходе через #{link_payload}: summer_promo, client_#{ClientID}
Максимальное число визитов100 — после 100 кликов ссылка перестанет работать. 0 — без лимита
Время жизни (минут)60 — ссылка живёт час. 0 — бессрочно
Срок жизни (дата)31.08.2026 23:59 — конкретная дата истечения (вместо minutes)
Имя переменнойСохранить короткую ссылку, например в promo_link

После выполнения действия в #{promo_link} будет ссылка вида q.ai/abc123.

Параметры создания ссылки

Скриншот 2. Поля операции «Создать ссылку».

Общая vs Индивидуальная

ОбщаяИндивидуальная
Для всех клиентов✓ (одна ссылка)✗ (своя у каждого)
Лимит визитовОбщийНа каждого клиента
Кто кликнул — известноТолько если перешёлСразу при создании
ПрименениеРеклама, рассылкаИндивидуальные купоны, доступы

Общая — для массовых акций. Индивидуальная — для персональных предложений.

Сброс ссылок

Из подсказки в интерфейсе: «Чтобы сбросить все ссылки, созданные в этом сценарии — сохраните сценарий без операции «Создать ссылку» или удалите сценарий».


Когда клиент переходит по короткой ссылке, бот может это обработать. Для этого нужен сценарий действий с действием «Ссылки» → Принять ссылку.

Переменные после приёма

Автоматически заполняются:

ПеременнаяСодержит
link_resultОригинальная ссылка (куда вела короткая)
link_payloadВаш идентификатор, заданный при создании
link_activetrue / false — активна ли ещё ссылка
link_privatetrue — индивидуальная, false — общая
link_visitsСколько визитов было всего
link_visits_remainСколько визитов осталось (0 — лимит исчерпан)
link_time_remainСколько минут до истечения
link_time_remain_daysДни до истечения
link_time_remain_hoursЧасы до истечения
link_time_remain_minutesМинуты до истечения

Переменные после приёма

Скриншот 3. Системные переменные ссылки.

Применения

  • Метрика: при заходе в бот посмотреть #{link_payload} → узнать кампанию.
  • Скидка с лимитом: проверить #{link_active} → выдать промокод или сказать «акция закончилась».
  • Срочность: показать в сообщении «До конца акции #{link_time_remain_days} дн #{link_time_remain_hours} ч».

Часть 4. Типовые сценарии

Сценарий 1. UTM-метка для рекламы

  1. В блоке «Создание ссылки на рекламу»:
    • Тип: Общая;
    • URL: https://t.me/your_bot?start=utm;
    • Идентификатор: tg_ads_august;
    • Срок: 31.08.2026;
    • Переменная: ads_link.
  2. Скопировать #{ads_link} в кабинет рекламы.
  3. Цепочка «При подписке» с действием acceptlink:
    • Проверка #{link_payload} = tg_ads_august → пометить тегом из_tg_рекламы → персональное сообщение.

Сценарий 2. Промокод «100 первых»

  1. Создать ссылку:
    • Тип: Общая;
    • Идентификатор: promo_100;
    • Максимальное число визитов: 100;
    • Срок: 7 дней.
  2. Разослать в Telegram-канал.
  3. Сценарий приёма:
    • Если #{link_active} = true → выдать промокод;
    • Если false → «Акция закончилась, к сожалению».

Сценарий 3. Индивидуальный купон

  1. Клиент проходит анкету.
  2. Создаётся Индивидуальная ссылка → каждому свой URL.
  3. Идентификатор: coupon_[ClientID].
  4. Клиент пересылает ссылку другу — друг не сможет ею воспользоваться (link_private = true).

Сценарий 4. Срочное предложение «48 часов»

  1. Создать ссылку:
    • Время жизни: 2880 минут (48 ч);
    • Идентификатор: flash_sale_#{ClientID}.
  2. Отправить клиенту: «Ваше предложение действует только 48 часов: #{flash_link}».
  3. При переходе:
    • Сообщение: «До конца: #{link_time_remain_days} дн #{link_time_remain_hours} ч #{link_time_remain_minutes} мин».
    • Если #{link_time_remain} > 0 → дать скидку, иначе «Срок истёк».

Сценарий 5. A/B-тест двух воронок

  1. Создать ссылку A с link_payload = funnel_a.
  2. Создать ссылку B с link_payload = funnel_b.
  3. Отправить аудитории случайно одну из двух.
  4. В приёме:
    • funnel_a → одна цепочка приветствия;
    • funnel_b → другая.
  5. Сравните конверсию в отчётах.

Часть 5. Архитектура

Принцип 1. Идентификатор = метка кампании

В link_payload пишите осмысленное: tg_ads_aug2026, vk_post_8, email_promo_3. Тогда в логах сразу понятно, откуда клиент.

Принцип 2. Лимиты — для срочности и эксклюзива

Маркетинговый эффект «осталось 5 мест» работает. Используйте maxvisits для дефицита, maxlife для срочности.

Принцип 3. Индивидуальные ссылки для UGC

Если клиенту даёте ссылку, которую он может переслать другим (купон, доступ к контенту) — делайте Индивидуальную, иначе купон уйдёт в чат и потратится мгновенно.

Принцип 4. Логируйте переходы

Каждый приём сохраняйте в список «Переходы» с полями ClientID, payload, time. Это ваша воронка attribution.

Принцип 5. Не злоупотребляйте созданием

Каждое выполнение getlink — это новая запись. Если в одном диалоге дать ссылку клиенту 5 раз — в БД будет 5 ссылок на одно и то же. Создавайте один раз в первый запрос.

Принцип 6. Сочетайте с рассылками

Создание индивидуальной ссылки в рассылке = каждому подписчику своя ссылка. Метрика и контроль на максимуме.


Часть 6. Сравнение «Ссылки» Квесчи и bit.ly

«Ссылки» Квесчиbit.ly / Yandex Click
Создаются из ботачерез API
Запускают сценарий при клике✗ (только редирект)
Лимит визитовПлатный план
Срок жизниПлатный план
Индивидуальные ссылкиЧерез API
payload для меткиЧерез UTM
Аналитика встроенаЧерез списки бота

«Ссылки» Квесчи — это не замена bit.ly для общего сокращения. Это триггерные ссылки для бот-сценариев.


Частые ошибки

  • #{link_payload} пустой — клиент пришёл не по короткой ссылке, а напрямую. Проверьте через #{link_active}.
  • Ссылка не работает после первого визита — установлен лимит maxvisits = 1 для индивидуальной.
  • Перешёл клиент — ничего не происходит — не настроена цепочка приёма с acceptlink или триггер не сработал.
  • Дубликаты ссылокgetlink создаёт каждый раз новую. Проверяйте, не создавали ли уже для этого клиента (через переменную в списке).
  • Истёк срок жизни#{link_time_remain} = 0. Создавайте новую или показывайте «акция закончилась».
  • maxlife и maxdate одновременно — нельзя. Выберите одно из двух.

Что дальше