Все статьи

Масштабная верификация рекламы: проблема геоаутентичности

В 2025 году американская алгоритмическая реклама потеряла 37 миллиардов долларов из-за недействительного трафика. Для контроля этих расходов нужно локальное присутствие на каждом целевом рынке, а не только дата-центр в США.

Fraudlogix оценивает недействительный programmatic-трафик в США на уровне 20.64% в 2025 году. Это примерно 37 миллиардов долларов из 180 миллиардов расходов, ушедших ботам, поддельному инвентарю или сайтам, созданным для рекламы. Вендоры верификации, такие как DoubleVerify, IAS и Peer39, берут выборку показов и оценивают остальное. Бренды доверяют этой оценке, пока внутренний аудит не показывает расхождение.

Вот в чем заключается это расхождение. Если вы проверяете бразильскую кампанию с IP-адреса дата-центра в США, вы не видите того, что видит мобильный пользователь из Сан-Паулу. Вы видите резервный креатив, другого победителя аукциона или вообще ничего. Верификация без локального присутствия превращает соответствие ваших цифр реальности в подбрасывание монетки.

Уровень фрода также неоднороден на разных рынках. В разбивке по странам от Fraudlogix Южная Корея находится на уровне 23.47%, Мексика на 22.81%, а Бразилия на 22.33%. Если ваш медиаплан охватывает десяток стран, вам нужен десяток точек наблюдения для честной оценки.

Подход

Верификация programmatic-рекламы разбивается на три проблемы, каждая из которых требует гео-аутентичного рендеринга:

  1. Аудит размещения. Появилась ли реклама на URL, о котором сообщила ваша DSP, на первом экране, рядом с безопасным контентом?
  2. Проверка креатива. Открылся ли нужный креатив, или недобросовестный паблишер подменил его чем-то не соответствующим бренду?
  3. Верификация назначения. Куда на самом деле ведет клик? Целевой URL может отличаться в зависимости от страны, устройства и даже провайдера.

Ни одна из этих задач не решается из одной точки наблюдения. Header bidding проводит аукцион в реальном времени в браузере зрителя, и победитель зависит от IP, cookie и профиля устройства. Запросите один и тот же URL паблишера из Франкфурта и Сан-Паулу в одну и ту же секунду, и вы получите два разных HTML документа. Это не баг сайта. Это штатная работа рекламного стека.

Некоторые системы верификации пытаются подделать локальный просмотр, закрепляя User-Agent за pt-BR и устанавливая header Accept-Language. Рекламной бирже все равно. Участники торгов осуществляют маршрутизацию на основе геолокации заявленного IP, а не на основе header, которые предоставляет клиент. Если IP указывает на дата-центр в Вирджинии, вы получаете инвентарь США, даже когда ваши header кричат о Бразилии. Не существует обходных путей для сетевого маршрута.

Чем жестче таргетинг кампании, тем острее стоит эта проблема. Пул ретаргетинга, определенный по почтовому индексу и мобильному оператору, показывает отсутствие заполнения при выходе из дата-центра во Франкфурте, и как реальный показ на IP мобильного абонента Deutsche Telekom. Оба результата верны для того, что они увидели. Только один из них говорит вам, что на самом деле увидели ваши покупатели.

Поэтому инфраструктура должна делать три вещи одновременно. Осуществлять выход от реального провайдера в целевой стране. Выполнять рендеринг JavaScript, когда это нужно рекламному слоту. И избегать обращений к одному и тому же паблишеру с одного и того же IP так часто, чтобы вы выглядели как скрапер, а не как аудитория.

Прагматичный паттерн с использованием API от FourA:

import requests

# Fetch the placement page from a Brazilian exit
r = requests.post(
    "https://api.foura.ai/api/proxy",
    headers={"Authorization": "Bearer pk_live_..."},
    json={
        "exitCountries": ["BR"],
        "maxTries": 5,
        "request": {
            "url": "https://publisher.example.com/article/1234",
            "validate": {
                "status": {"accept": [200]},
                "data":   {"fail":   ["captcha", "Just a moment"]}
            }
        }
    }
).json()

# r["data"] holds the HTML; the response also echoes the country that
# served the request, so you can log the market you observed from.
html = r.get("data")

Для паблишеров, где рекламный слот загружается только после выполнения JavaScript, передайте URL в /api/auto и позвольте ему выбрать путь рендеринга. Алгоритм автоматически определяет, какие страны реально отдают контент для этого хоста, и маршрутизирует будущие запросы через них, поэтому проверка brand-safety по тысяче URL становится быстрее и дешевле по мере роста пула обученных сессий. Наша статья о недвижимости описывает тот же гео-распределенный паттерн для другой вертикали.

Результаты

Типичная настройка на стороне бренда: 800 отслеживаемых URL размещений в 12 странах проверяются дважды в день. Это 19 200 проверок в день, по одному вызову API на каждую, при этом сессии кэшируются для каждого хоста, поэтому большинство последующих вызовов пропускают рендеринг в браузере. В итоге команды видят следующее:

  • Ежедневный аудит каждого рынка вместо ежемесячной выборки. Однозначные проценты выборки вендоров верификации дополняются полной проверкой тех URL, на которые вы тратите больше всего.
  • Обнаружение расхождений за часы. Замена креатива или изменение места размещения помечаются до того, как кампания сожжет еще один день бюджета.
  • Дешевле, чем парк headless браузеров в собственном облаке. Затраты на запуск фермы браузеров в каждом регионе плюс контракты на резидентные proxy отпадают. Вы вызываете один endpoint для каждой проверки и получаете отрендеренную страницу.
  • Аудиторский след для каждой проверки. Каждый response содержит отрендеренный HTML, страну, которая его отдала, и непрозрачный ID proxy, который можно логировать. При обнаружении расхождения у вас есть точные доказательства для передачи команде бренда, агентству или паблишеру.

Фактические расходы зависят от того, сколько URL, как часто и скольким нужен полный рендеринг в браузере. Но суть остается прежней: платите за результат, а не за инфраструктуру вокруг него.

Главный вывод

Верификация является задачей измерения. Она не становится точнее, если сильнее доверять одной точке обзора. Она становится точнее при добавлении перспектив. Двенадцать рынков означает двенадцать точек выхода. Все остальное является догадкой с прикрепленным отчетом.