Перейти к содержанию

Фильтры

Фильтры отвечают на вопрос «подходит ли этот клик потоку». Поток типа regular или forced рассматривается, только если условия дали true. У default-потока фильтры не проверяются вообще — он всегда запасной вариант.

Два режима

Простой режим — плоский список условий с общей логикой:

  • Все (AND) — должны совпасть все условия;
  • Любое (OR) — достаточно одного.

Дерево правил — вложенные группы AND/OR для произвольной логики:

(GEO = US И device = mobile)  ИЛИ  (referrer = google И НЕ бот)

Переключение — кнопками Простой режим / Дерево правил. Переход из дерева в простой режим теряет вложенные группы, трекер об этом предупредит. Редактор даёт вкладывать группы до 5 уровней.

Что имеет приоритет

Непустое дерево правил всегда важнее плоского списка: если у потока есть и то и другое, на клике считается дерево. Пустое дерево — как будто его нет: берётся плоский список. Внутри дерева группа без условий не ограничивает ничего и считается пройденной.

Операторы и значения

Операторов два: is и is not (инверсия — «страна НЕ Россия»). Несколько значений в одном условии — это OR между ними.

Форма значения:

Форма Пример Смысл
точное US равенство, регистр не важен
glob chrome*, ios1? * — любая строка, ? — любой символ
regex /^mozilla.*bot/ регулярное выражение между слэшами
@empty @empty значение отсутствует (пустая страна, пустой sub)

Флаги regex — не после слэша

Значение считается регулярным выражением, только если оно и начинается, и заканчивается слэшем. Хвост вида /…/i не сработает — регистронезависимость задаётся внутри: /(?i)^mozilla.*bot/.

Сопоставление зависит от типа условия — glob и regex понимают не все. Для ip_list и ua_list правила относятся к значениям самого списка:

Как сопоставляется Типы условий
точно / glob / regex / @empty country region city device isp search_engine parameter timezone mobile_brand mobile_carrier connection_type ad_campaign_id adset_id creative_id source_site
подстрока / glob / regex ua ua_list keyword device_model x_requested_with
по префиксу (ChromeChrome Mobile) os browser
основной языковой тег (enen-US) language
домен и его поддомены referrer_domain
IP или CIDR ip ip_list
версия: >=14, <16, 17.4 (⊃ 17.4.x), @empty os_version browser_version
без значения — да/нет bot datacenter vpn proxy tor ipv6 empty_referrer

Что можно фильтровать

Фильтр Значение
country ISO-код страны: US, DE
region код региона из базы GeoIP
city город, английское название из базы GeoIP: Los Angeles
language первый тег Accept-Language: en, en-US
timezone часовой пояс посетителя из GeoIP: Europe/Berlin
Фильтр Значение
device desktop · mobile · tablet
device_model модель: iPhone, SM-A515F
os Windows, Android, iOS
os_version >=14, 17.4, <16
browser Chrome, Safari
browser_version так же, как os_version
isp провайдер / владелец ASN
ipv6 клик пришёл по IPv6
mobile_brand Apple, Samsung, Xiaomi — из User-Agent
mobile_carrier нормализованный оператор; если не распознан — подстрока по isp
connection_type wifi · cellular · ethernet · bluetooth · unknown
Фильтр Значение
ip IP или подсеть в CIDR: 203.0.113.7, 10.0.0.0/8
ip_list именованный IP-список
ua строка User-Agent
ua_list именованный UA-список
x_requested_with заголовок in-app браузера: com.zhiliaoapp.musically. Пуст на Click API
Фильтр Значение
empty_referrer реферера нет
referrer_domain google.com — совпадает и с поддоменами
keyword поисковый запрос
search_engine google · bing · yandex · duckduckgo · yahoo · baidu
ad_campaign_id · adset_id · creative_id · source_site нормализованные токены источника трафика
parameter произвольный параметр: имя (sub_id_1sub_id_30 или любой ключ query-строки) + значения
Фильтр Значение
bot · datacenter · vpn · proxy · tor см. Антифрод
uniqueness уникальность визитора: в кампании · в потоке · по всем кампаниям
Фильтр Значение
schedule дни недели + окно 09:00-18:00 (окно необязательно)
dates 2026-05-28 или диапазон 2026-06-01..2026-06-30
clicks_limit число + область: за час / за сутки, по кампании или по этому потоку

Часовой пояс расписания

schedule считается в часовом поясе посетителя (timezone из GeoIP). Если пояс определить не удалось — в UTC. dates всегда считается по UTC.

clicks_limit совпадает, пока счётчик ниже лимита: поток работает до лимита и после него перестаёт подходить. Если счётчик прочитать не удалось, условие проходит — трафик не встаёт из-за недоступного Redis.

Антифрод: bot, datacenter, vpn, proxy, tor

Работают из коробки на публичных списках с автообновлением: IP-разведка и сигнатуры ботов — по IPINTEL_REFRESH (по умолчанию раз в сутки), список Tor — каждые 6 часов.

Фильтр На чём основан
bot сигнатуры User-Agent известных краулеров + разбор UA на самом клике
datacenter ASN-денилист хостингов (сверяется с ASN из GeoIP) + CIDR-листы дата-центров
vpn публичные CIDR-листы VPN-провайдеров
tor список exit-нод Tor
proxy требует своего источника — по умолчанию только эвристика по заголовкам

Сигнал proxy по умолчанию опирается только на заголовки запроса: цепочка X-Forwarded-For длиннее одного хопа либо присутствие Via, Forwarded, Proxy-Connection и подобных. Чтобы он работал по спискам подсетей, укажите свой источник в переменной IPINTEL_PROXY_CIDR_SOURCE (переменные окружения).

Любой источник можно заменить на локальный файл — тогда трекер работает без доступа в интернет. Размеры загруженных баз и время последнего обновления возвращает GET /admin_api/v1/system/status в поле intel.

Рабочая связка против мусора

Первый поток с позицией 0, схема 404 или do_nothing, фильтр bot = да ИЛИ datacenter = да. Мусор отсекается до партнёрки и не портит её статистику — а в отчётах он остаётся виден.

IP- и UA-списки

Списки живут отдельно (IP-списки, UA-списки) и переиспользуются в любых потоках — не нужно копировать один и тот же набор в каждый фильтр. Обновили список — изменение сразу действует на все потоки, где он выбран.

В IP-списке строки — это IP-адреса и подсети CIDR. В UA-списке — подстроки, glob'ы и regex в слэшах, как у обычного условия ua. В одном списке до 10 000 значений.

Лимиты

Что Предел
длина одного значения 512 байт
условий на поток (список + дерево) 500
значений на поток суммарно 5000
значений в одном IP/UA-списке 10 000

Некорректный regex и превышение лимита отклоняются при сохранении потока или списка — на клик заведомо сломанное правило не попадает.

Отладка

В редакторе потока есть кнопка 🧪 Тест: она собирает синтетический клик (IP, страна, устройство, ОС, браузер, User-Agent, реферер, флаги bot / unique / datacenter / vpn) и прогоняет его по всем потокам кампании. В ответе — какой поток выбран и какое условие каждого потока прошло, а какое нет. Клик при этом никуда не пишется и в статистику не попадает.

Если расходится на живом трафике — откройте Traffic log: там по каждому клику видно, какое условие какого потока дало false и куда клик ушёл в итоге.