> For the complete documentation index, see [llms.txt](https://docs.graspil.com/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graspil.com/ru/cases/case-keitaro.md).

# Кейс: передача постбеков в Keitaro

Эта инструкция показывает весь путь целиком — от подключения бота/канала до автоматической отправки постбеков конверсий в ваш трекер Keitaro, без участия программиста.

{% hint style="info" %}
**Что в итоге получится:** пользователь переходит по ссылке из кампании Keitaro → попадает в бота или канал → совершает нужное вам действие (регистрация, оплата и т.д.) → graspil автоматически отправляет постбек в Keitaro по `click_id`. Keitaro засчитывает конверсию и сам передаёт её дальше в Facebook, Google Ads, TikTok и другие рекламные кабинеты через собственные модули — отдельные интеграции с рекламными площадками для этого не нужны.
{% endhint %}

{% hint style="info" %}
Если что-то непонятно по ходу настройки — откройте чат со встроенным AI-ассистентом в личном кабинете и опишите задачу своими словами, он подскажет конкретные шаги под вашу ситуацию.
{% endhint %}

***

## Шаг 1. Подключаем бота или канал

Чтобы graspil видел действия ваших пользователей, сначала нужно подключить ресурс — бота или Telegram-канал.

* Подробная инструкция по подключению бота — [«Подключение бота»](/ru/connect-bot.md). Есть три способа: авто-настройка по токену, проксирование или подключение через API — выберите любой удобный.
* Подробная инструкция по подключению канала — [«Подключение каналов»](/ru/connecting-channels.md).

{% hint style="info" %}
Можно подключить и бота, и канал одновременно — например, чтобы видеть всю цепочку «вступил в канал → запустил бота».
{% endhint %}

## Шаг 2. Настраиваем кампанию в Keitaro на переход в бота

В отличие от кейсов с Яндекс.Метрикой, Google Analytics и Facebook, здесь **лендинг tlin не нужен** — идентификатор клика (`click_id`, он же `subid`) уже умеет генерировать сам Keitaro, и его достаточно передать прямо в стартовый параметр диплинка бота.

1. В кампании Keitaro настройте конечное действие (поток/результат) на переход по прямой ссылке на вашего бота вида `https://t.me/ваш_бот?start=ЗНАЧЕНИЕ`, где `ЗНАЧЕНИЕ` содержит макрос Keitaro с `subid`, например `t.me/ваш_бот?start={subid}`.
   * Если помимо `subid` в стартовый параметр нужно передать что-то ещё, объедините значения удобным для вас разделителем — в Шаге 3 из строки можно будет извлечь именно `click_id` по регулярному выражению.
2. Опубликуйте кампанию и проверьте тестовым переходом, что пользователь действительно попадает в бота, а стартовый параметр содержит непустой `subid`.

{% hint style="info" %}
Точный синтаксис макроса `subid` (или `sub_id`) и настройка потоков зависят от версии вашего Keitaro — если сомневаетесь, свяжитесь со своим Keitaro-специалистом или посмотрите документацию трекера (ссылка на неё есть в настройках интеграции в graspil, Шаг 3).
{% endhint %}

## Шаг 3. Прокидываем click\_id в поле пользователя

Чтобы дальше обращаться к `click_id` в автоматизации как к переменной, замаппьте его в кастомное поле пользователя:

1. Откройте страницу бота → раздел **«UTM-метки»** (правила обработки start) — подробности в [«Настройке обработки параметра start»](/ru/app/start-utm.md). Сопоставление параметров работает только в режиме, где строка start разбирается на параметры, а не в упрощённом.
2. Заранее создайте кастомное поле пользователя (например, `keitaro_click_id`) в разделе [«Кастомные поля»](/ru/app/custom-fields.md), если такого поля ещё нет.
3. В блоке **«Параметры в кастомные поля»** добавьте маршрут: параметр с вашим `subid` → поле `keitaro_click_id`.

После этого идентификатор будет доступен в шаблонах автоматизации как `{{ user.addition_fields.keitaro_click_id }}` — это значение по умолчанию, которое конструктор автоматизаций подставляет в узел Keitaro.

{% hint style="info" %}
Если в стартовый параметр, помимо `subid`, попадает что-то ещё (например, вы объединили несколько значений через свой разделитель), в интеграции и в самом узле автоматизации есть отдельное поле **«Регулярное выражение для click\_id»** — `click_id` берётся из первой скобочной группы, например `/^kt_(.+)$/`.
{% endhint %}

## Шаг 4. Подключаем интеграцию с Keitaro

1. Перейдите в раздел **«Интеграции»** в личном кабинете.
2. Найдите карточку **Keitaro** в списке доступных интеграций и нажмите **«Настроить»**.
3. Заполните:
   * **Домен трекера** — адрес вашего Keitaro, например `https://track.example.com`.
   * **Postback key** — ключ из самого Keitaro: **Настройки → Postback URL**.
   * При необходимости — **валюту по умолчанию** (используется, если валюта не задана в узле автоматизации) и **путь постбека**, если ваш Keitaro не использует стандартный формат `{key}/postback`.
4. Нажмите **«Сохранить»**, затем кнопкой **«Отправить тестовый постбэк»** проверьте, что домен и ключ верны.

{% hint style="warning" %}
Тестовый постбэк отправляется со случайным `subid`, поэтому реальная конверсия по нему не засчитается — успешный ответ подтверждает только то, что домен и postback key рабочие, само сопоставление с кликом проверяется уже через боевую автоматизацию.
{% endhint %}

## Шаг 5. Создаём автоматизацию

Готового шаблона для Keitaro в каталоге автоматизаций пока нет — схему нужно собрать вручную, это делается в разделе **«Автоматизации»** ([подробная документация](/ru/app/automations.md)).

1. Откройте **«Автоматизации»** → **«Создать автоматизацию»**, выберите бота/канал.
2. Откройте конструктор и добавьте **триггер** «По событию». Для Keitaro чаще всего интересны события ближе к концу воронки — то, за что реально платит рекламодатель:

   * `successful_payment` — оплата, или
   * ваше собственное событие (регистрация, депозит и т.д.).

   Но можно выбрать и `new_user`/`user_chat_new`, если вам важна ранняя конверсия (лид). Полный список событий — в [«Списке событий»](/ru/app/reports/events.md).
3. Добавьте блок действия **«Интеграции»**, выберите тип **«Keitaro»** и заполните:
   * **Интеграция** — та, что вы подключили в Шаге 4.
   * **subid (click\_id)** — по умолчанию `{{ user.addition_fields.keitaro_click_id }}` (поле из Шага 3).
   * **Статус конверсии** — что записать в Keitaro: `lead`, `sale`, `reg`, `deposit`, `rejected`, `trash` или собственный статус.
   * **Пропускать пользователей без click\_id** — включите, если хотите, чтобы органический трафик без `subid` просто пропускал этот шаг, а не ронял сценарий с ошибкой.
   * Дополнительно можно передать **сумму (payout)** и **валюту**, **tid** (чтобы записать повторную конверсию, не перезаписывая предыдущую) и произвольные дополнительные параметры (`sub_id_1`…`sub_id_30`, `em`, `ph`, `fn`, `ln`) — Keitaro передаёт их дальше в свои интеграции, в том числе в Facebook CAPI как `user_data`.
4. Соедините триггер и действие стрелкой, нажмите **«Запустить тест»**, чтобы проверить схему, и опубликуйте автоматизацию.

С этого момента, при каждом наступлении выбранного события, постбек будет автоматически отправляться в Keitaro — без вашего участия.

{% hint style="info" %}
Keitaro отвечает `200 OK`, даже если `subid` не совпал ни с одним кликом (например, у органического пользователя без метки). Это означает «трекер принял запрос», а не «конверсия обязательно засчитана» — короткий ответ Keitaro сохраняется в логе выполнения автоматизации, там же видно, что именно ответил трекер.
{% endhint %}

***

## Любое событие и сквозная аналитика

По умолчанию для Keitaro логичнее всего отправлять постбек на событии, которое реально монетизируется (оплата, депозит, целевая заявка), а не просто на входе в бота — это ближе к тому, как обычно считают выплаты по офферам. Но событие для триггера можно выбрать абсолютно любое.

Также можно построить **сквозную цепочку** из нескольких шагов, например:

> Запуск бота → прогрев в боте → совершение покупки (конверсия) → отправка постбека `sale` в Keitaro с суммой и валютой платежа

Для этого используются блоки **«Условие»** и **«Ожидание события»** внутри одной автоматизации (например, дождаться оплаты после запуска бота, не дольше определённого времени) — подробнее об этих блоках в разделе [«Автоматизации»](/ru/app/automations.md). Так Keitaro получит конверсию только тогда, когда пользователь прошёл всю цепочку до конца, а не просто на первом шаге.

***

## Нужна помощь с настройкой?

Если что-то не получается или остались вопросы — обратитесь в поддержку graspil, мы поможем настроить передачу постбеков в Keitaro под вашу ситуацию.
