Для локального мастера заявка из чужого города — это не половина клиента, а ноль, который вдобавок отъел внимание. Электрик из Казани, которому упало «ищу натяжные потолки в Москве», теряет не деньги напрямую — он теряет минуту, доверие к уведомлениям и через неделю начинает пролистывать их не глядя. Поэтому вопрос «понимает ли система, что этот чат и это сообщение про мой город» — не техническая деталь, а граница между потоком заявок и потоком шума.
Разберу, как ФайндЛид определяет географию: без общих слов про «умный алгоритм», а по механике — что именно происходит с названием города, когда бот читает сообщение.
Два уровня географии: чат и сообщение
География в ФайндЛид живёт на двух уровнях, и путать их — типичная ошибка при настройке.
Первый уровень — сам чат. Городская барахолка, «Подслушано <город>», локальный чат ЖК или района — такие чаты система помечает как привязанные к конкретному городу. Второй уровень — отдельное сообщение: человек в федеральном чате пишет «нужен мастер в Екатеринбурге», и география берётся уже из текста, а не из чата.
Разница принципиальная, потому что настраиваются эти уровни по-разному. К самой частой ошибке на этом стыке вернусь ближе к концу.
Почему «Мск», «Москва» и «мск» — это один город
Живой чат не пишет «Москва» по паспорту. Пишут «мск», «Мск», «в мск», «мск.», «по Москве и области», иногда с опечаткой. Если система ищет ровно строку «Москва», она пропустит половину реальных упоминаний и поймает только официоз.
Поэтому гео-разметка работает не по одной строке, а по справочнику городов. Основное, официальное название бот ищет всегда — как отдельное слово, по границе: строка «Москва» внутри другого слова случайно не сработает. А падежи и разговорные формы добираются алиасами, и они матчатся по префиксу: алиас «москв» накрывает и «москва», и «москве», и «московский». Так «СПб», «Питер», «Санкт-Петербург», «спб», «в питере» сводятся к одному городу. Это тот же принцип точного и подстрочного совпадения, что и в синтаксисе фильтра ФайндЛид, только применённый к названиям городов, а не к ключевым словам.
Совпадение по букве — ловушка: город в живой переписке почти никогда не пишут так, как он записан в справочнике.
Авто-тегирование: фиксированные уровни уверенности
Алиасы отвечают на вопрос «как написан город». Но прежде чем разбирать отдельные сообщения, ФайндЛид решает вопрос уровнем выше — привязан ли к городу сам чат. За это отвечает авто-тегирование: оно присваивает чату фиксированный уровень уверенности.
Когда чат выглядит локальным — «Барахолка Казань», «Подслушано <город>», чат ЖК или района, — система читает его название и описание и ищет там город по тому же справочнику. Уверенность здесь не вычисляется