<b>User agent parsing: библиотеки и подводные камни, которые ломают fingerprint</b>
Парсинг UA нужен не ради красивого лога. Он нужен, чтобы не смешивать Chrome на Android с WebView, iPadOS с macOS и старые mobile-обвязки с нормальным desktop-агентом.
Типовая ошибка — брать одну библиотеку и считать, что она знает всё. На практике ломаются три вещи: редкие браузеры, кастомные оболочки и срезы по minor-версиям. Если библиотека не видит device model, architecture и rendering engine отдельно, дальше начинается мусор в сегментации.
Проверяй не только browser/device/OS, но и связку полей:
— platform и platformVersion
— mobile flag и viewport hints
— engine и engineVersion
— bot/suspicious маркеры, если они есть в ответе
Ещё один слой риска — несовпадение между UA и реальным fingerprint. Если UA показывает Windows, а canvas/WebGL/таймзона тянут в mobile или другой GEO, любая антифрод-проверка это увидит. Поэтому парсер должен быть частью пайплайна, а не отдельным скриптом для отчёта.
Если строишь маршрутизацию, не делай жёсткие правила только по строке UA. Держи fallback: пустой UA, кривой UA, укороченный UA и UA с подменой. Иначе на части трафика ты сам себе режешь атрибуцию.
Tracker Lab
@tracker_lab
<b>User agent parsing: библиотеки и подводные камни, которые ломают fingerprint</b>
Этот пост опубликован в Telegram-канале Tracker Lab. Подписаться можно по ссылке: @tracker_lab.