База знаний

Launch Stats →

Как не считать одного человека дважды

Ссылки-счётчики (вебхук для этапов воронки, а также ссылки-счётчики под роликами в «Контенте») по умолчанию засчитывают каждое обращение по ссылке. Если человек перейдёт по ссылке несколько раз (например, повторно напишет кодовое слово под тем же роликом, или нажмёт /start в боте несколько раз), это прибавит несколько единиц вместо одной — хотя человек один и тот же.

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

Как это сделать

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

Пример для Salebot — базовая ссылка:

https://launchstats.ru/api/webhook/ваш_токен

дополняется так:

https://launchstats.ru/api/webhook/ваш_токен?client_id=#{client_id}

#{client_id} — это встроенная переменная Salebot, которая всегда одна и та же для конкретного человека в переписке.

Для ссылок-счётчиков в «Контенте»

То же самое работает и для ссылок под роликами (персональной /api/l/ваш_id и универсальной /api/l/ig?url=#{instagram_media_url} для автоответа) — просто допишите client_id ещё одним параметром через &:

https://launchstats.ru/api/l/ig?url=#{instagram_media_url}&client_id=#{client_id}

Здесь дедупликация считается в рамках одного ролика: если человек напишет кодовое слово под одним и тем же роликом несколько раз — засчитается только один клик. Если он напишет под разными роликами — это разные клики по разным роликам, и оба засчитаются (это нормально, это разное контент-взаимодействие).

А если бот сделан не на Salebot?

Идея та же самая — любая платформа (BotHelp, Puzzlebot, GetCourse и т.п.) подойдёт, потому что вся логика проверки повторов у нас на сервере, а не завязана на конкретный конструктор. Разница только в том, как называется переменная с уникальным ID клиента у конкретной платформы — это нужно посмотреть в её собственной документации.

Эта часть статьи будет дополняться: по мере того как мы проверим реальные переменные в популярных конструкторах ботов (BotHelp, Puzzlebot, GetCourse), здесь появятся точные примеры для каждого — чтобы не нужно было искать самостоятельно.

Если стабильного ID человека нет

Если у выбранной вами платформы нет подходящей переменной с ID — просто не дописывайте client_id вообще, ссылка продолжит работать как раньше (без защиты от повторного счёта). Это не ошибка, а обычный режим для тех случаев, где риск накрутки не критичен (например, «Переход в бот» по клику на ссылку — там один переход обычно и есть один клик).