Programmatic Deep — RTB и header bidding
847 subscribers
19 photos
2 videos
32 links
Open-source RTB (Prebid 9, OpenRTB 3.0), header bidding, Google Ad Manager
и его альтернативы (Magnite, PubMatic, Sovrn), DSP/SSP-стек, ad-fraud
detection, supply-path optimization, identity solutions (UID 2.0, RampID).
Технический слой programmatic для p
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Арбитраж трафика для новичков в 2026: стоит ли начинать?

Три опытных арбитражника — Дима Leto, Михаил Харди и Роман Croyman — развенчивают миф о лёгких деньгах в CPA-арбитраже. Главный вывод: успех требует серьёзного бюджета (минимум $1000, реально больше), года работы с убытками и постоянного тестирования. Маркетинговое образование помогает, но не критично — важнее опыт в конкретной нише. Кейсы с миллионными прибылями создают завышенные ожидания, но без них новичок не верит в возможность вообще. Лучш…

➡️ Читайте на сайте: https://aff.top/blog/arbitrazh-trafika-dlia-novichkov-v-2026-stoit-li-nachinat

🧠 Ещё больше инсайтов → в канале AFF.top
Cookieless targeting: рабочие схемы, которые не завязаны на third-party cookie

Если у вас target по-прежнему строится только на cookie sync — вы уже теряете часть инвентаря и ухудшаете матчинг. Рабочая схема обычно гибридная: first-party сегменты, контекст, identity graph и server-side активация.

Что держать в стеке:
— First-party IDs: login, hashed email, CRM key, но только через clean-room или согласованный ID pipeline.
— Contextual: page/category/semantic signals, особенно там, где user-level match слабый.
— Publisher segments: on-site поведение, recency, frequency, content depth.
— UID2 / RampID / ID5 / similar: как слой сопоставления, а не как единственный источник истины.

Важный фильтр — где живёт логика таргета. Если decisioning остаётся в браузере, вы теряете часть сигналов и контроль над latency. Для performance-потоков лучше уводить сегментацию в SSP/DSP-side storage или в server-side wrapper, а в запрос передавать уже короткий набор сигналов.

Не пытайтесь заменить cookie одной «магической» идентичностью. Надёжнее строить матрицу: audience x context x supply quality x consent. Тогда можно резать не весь трафик, а только слабые связки, где match rate и bid density проваливаются.

Итог простой: cookieless targeting работает не как замена cookie, а как сборка из нескольких слоёв. Чем меньше у вас зависимость от одного ID, тем стабильнее reach и quality of bid stream.
Prebid 9: какие изменения ломают интеграцию и как пройти миграцию без потерь

Prebid 9 трогает не только wrapper, но и контракт между page, bidder и analytics. Проверяйте три зоны: bidder API, auction timeout orchestration и shape event-логов. Если у вас кастомные adapters, first-party data маппинг или собственный analytics adapter — именно там всплывают скрытые поломки.

— Сверьте, какие параметры request/response у вас реально используются, а не просто прокинуты “на всякий случай”.
— Проверьте, не завязан ли код на устаревшие поля bidderSettings, mediaTypes или ortb2-объекты.
— Отдельно прогоните consent, userId и schain: часто ломается не auction, а downstream-передача.

Переходный план лучше делать в два контура: сначала стенд с копией конфигов и логированием bid stream, потом ограниченный rollout на часть трафика. Для каждого bidder держите матрицу: отвечает ли он на timeout, не теряет ли floor, совпадает ли creative size и не меняется ли win rate из-за мелкой несовместимости в JSON.

Если адаптеров много, не обновляйте всё сразу. Сначала wrapper и shared modules, потом bidder packages, затем custom analytics и user sync. Так проще локализовать регресс: one change — one symptom. И обязательно сохраняйте старый config snapshot, чтобы откатить не “вслепую”, а по diff.

Лучший способ пройти миграцию — считать Prebid не библиотекой, а контрактом на аукцион: любое изменение проверяйте через request diff, response diff и итоговый auction log.
This media is not supported in your browser
VIEW IN TELEGRAM
Claude скоро станет по паспорту

С 8 июля 2026 года все модели Claude потребуют верификации личности через паспорт и селфи. Это произошло после закрытия доступа к Fable 5, выпущенной в открытый доступ буквально на неделю. Ограничение касается веб-версии на сайте Anthropic, но остаётся неясным, будут ли верификацию требовать API и AI-агенты вроде Codex. Решение выглядит излишне строгим в свете качества моделей, однако компания явно ужесточает контроль над доступом к своим продук…

➡️ Читайте на сайте: https://aff.top/blog/claude-skoro-stanet-po-pasportu

🧠 Ещё больше инсайтов → в канале AFF.top
Audience extension через programmatic: чек-лист, чтобы не купить мусорный reach

Сначала фиксируйте, кого именно расширяете: CRM-хеши, first-party cohorts, lookalike seed или contextual audience. Если в одном сегменте смешаны покупатели, подписчики и случайные посетители, bidder оптимизируется не туда и lookalike начинает «размазывать» инкрементальность.

Дальше проверьте механику матчинга:
— нормализован ли идентификатор до загрузки в CDP/DMP;
— есть ли контроль TTL для сегмента;
— не пересекается ли audience extension с текущим ремаркетингом;
— исключены ли users, уже конвертировавшиеся в window атрибуции.

В аукционе смотрите не только на CPM, а на post-click/post-view quality: частоту, bounce, session depth, долю новых пользователей и overlap с исходным seed. Если extension дает объем, но растит дубли и короткие сессии, это не расширение аудитории, а перераспределение того же трафика под другим ярлыком.

Отдельно проверьте supply path: audience extension часто выигрывает в дешевых инвентарных хвостах, где высокий риск IVT, слабая видимость и noisy placement IDs. Сегмент должен быть логирован на уровне bid request, чтобы потом можно было сопоставить audience, placement, deal ID и итоговую конверсию.

Итог простой: сначала чистый seed и правила исключений, потом контроль overlap, потом post-bid quality. Если этого нет, audience extension быстро превращается в дорогой способ купить собственных же пользователей.
Curated marketplaces: где они режут шум, а где просто переупаковывают инвентарь

Curated marketplace — это не «лучший PMP», а слой отбора между supply и buyer. Внутри обычно живут: whitelist площадок, сегментация по доменам/app bundles, фильтр по viewability, IVT, geo, device и иногда по аудитории. Buyer получает не весь поток, а заранее собранный пакет инвентаря с понятной логикой доступа.

Ключевая польза — меньше лишнего bid stream и меньше ручной чистки. Для DSP это удобнее, чем гонять широкий open auction: проще контролировать частоту, brand safety и SPO, особенно если у SSP есть прозрачные seller.json / ads.txt цепочки. Но curated не заменяет нормальный deal hygiene: без правил по floor, timeout и deal ID вы просто покупаете «обрезанный open auction».

На что смотреть в разборе:
— какие сигналы входят в curation: domain, app, deal metadata, auditable quality
— где фильтр стоит: у SSP, у third-party curator или на стороне buyer
— не дублируется ли этот инвентарь с open exchange и другими PMP
— есть ли объяснимая схема price discovery, а не черный ящик 🤖

Если curated marketplace экономит время медиабаинга, он полезен. Если он скрывает первичный supply path и мешает сравнить CPM, fill и win rate по каналам, это уже не оптимизация, а новая точка утечки.
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустил Android 17

Android получил встроенную Gemini с функциями автоматизации задач, конспектирования браузера и редактирования медиа. Обновление принесло новый интерфейс Bubble, двухкамерную запись и игровой режим для складных телефонов. Критический момент: Gemini Intelligence требует Gemini Nano v3 и минимум 12 ГБ RAM, что ограничивает аудиторию премиум-девайсов. Это создаёт потенциал для таргетинга криптооффера на узкий сегмент владельцев флагманов, готовых пл…

➡️ Читайте на сайте: https://aff.top/blog/google-vypustil-android-17

🧠 Ещё больше инсайтов → в канале AFF.top
IAS и MOAT в стеке верификации: где у них пересекается логика, а где нет

IAS и MOAT часто ставят в один ряд, но интеграционно это разные слои. Оба инструмента смотрят на viewability, IVT и brand safety, но отличаются тем, когда и как принимают решение: один чаще работает как независимый verification layer, другой — как часть более плотного measurement-стека у части инвентаря и крупных закупок.

Для паблишера важнее не бренд вендора, а точка внедрения:
— pre-bid или post-bid;
— JS tag, SDK или server-side;
— влияет ли vendor на latency в wrapper;
— как мапятся categories, blocked domains, app bundles и page signals.
Если это не зафиксировать, в отчётах получится «одно и то же» viewability, но с разной методологией.

На практике сравнивают не интерфейсы, а три вещи: покрытие сигналов, детальность алертов и то, как быстро вы можете разложить фрод по source / deal / domain / app. Для SPO это критично: один вендор даст более удобную сегментацию по path, другой — лучше поймает подозрительный бандл или аномалии на креативе.

Правило простое: сначала определите, какой сигнал вам нужен для блокировки, а какой — только для пост-анализа. Тогда IAS и MOAT перестают быть «конкурентами» и становятся двумя разными фильтрами в одной воронке.
Frequency capping cross-platform ломается там, где у вас нет одного стабильного user key

Если web, in-app и CTV живут в разных идентификаторах, cap начинает считаться отдельно в каждом контуре. Итог — один и тот же человек видит 3–5 одинаковых показов, а отчёт по reach выглядит «чистым».

Рабочая схема простая:
— на входе нормализовать identity graph: UID2 / RampID / ID5 / MAID / household ID;
— хранить cap-state не в DSP, а в отдельном сервисе или key-value слое с TTL;
— считать окно по логическому audience key, а не по device.
Если ключа нет — fallback на context+site+device, но с коротким TTL и меньшим cap.

В запросе должно уходить не «сколько уже показали», а token/flag для decisioning: eligible / exhausted / near-cap. Это снимает гонку между DSP, SSP и server-side wrapper, где два bid request могут прилететь параллельно до записи в хранилище.

Для реализации важны три вещи: атомарный write, единая timezone-логика окна и синхронный reset по frequency period. Иначе cap сбрасывается в разное время на web и app, а это уже не баг отчёта, а реальный перерасход инвентаря.

Практика: сначала соберите cap по audience key на стороне ad decisioning, потом только размазывайте его по каналам. Иначе cross-platform capping превращается в набор несвязанных локальных лимитов.
This media is not supported in your browser
VIEW IN TELEGRAM
Армения заблокирует онлайн-казино для получающих пособия

Армения ввела жёсткие ограничения на онлайн-гемблинг: запретила депозиты для получателей соцпособий и пенсий, ограничила остальным суммы до 20% дохода, обязала казино добавить кнопку самозапрета. Сайты, не подчинившиеся требованиям, будут заблокированы — технология реализации неясна. Проблемы с платёжками неизбежны. Криптоказино, вероятно, останутся без контроля, что открывает новый канал для залива трафика.

➡️ Читайте на сайте: https://aff.top/blog/armeniia-zablokiruet-onlain-kazino-dlia-poluchaiuschikh-posobiia

🧠 Ещё больше инсайтов → в канале AFF.top
This media is not supported in your browser
VIEW IN TELEGRAM
В DeepSeek добавили распознавание изображений

DeepSeek запустил бета-версию распознавания изображений — функция доступна бесплатно прямо в чате. Работает нестабильно, но для базовых задач подходит: например, проверить, есть ли на креативе узнаваемая знаменитость в нужном гео. Платная подписка не нужна.

➡️ Читайте на сайте: https://aff.top/blog/v-deepseek-dobavili-raspoznavanie-izobrazhenii

🧠 Ещё больше инсайтов → в канале AFF.top
This media is not supported in your browser
VIEW IN TELEGRAM
📡 Запустили AFF.TOP — медиа про арбитраж, ИИ и вайб-кодинг

Разбираем новости из мира ИИ, тренды вайб-кодинга, инсайды индустрии арбитража — без воды и продаж курсов.

👉 Подписаться на канал AFF.TOP
ROAS attribution в programmatic ломается не в модели, а в отчётном фреймворке

Считать ROAS по last click в programmatic — значит смешать auction signal, post-view и post-click в одну корзину. Для нормальной отчётности сначала фиксируйте границы: окно атрибуции, тип конверсии, уровень агрегации и то, какие события вообще попадают в расчёт.

Базовый фреймворк:
— separate отчёты по post-click и post-view;
— один primary KPI на срез: revenue, orders или LTV;
— раздельно считать incremental lift и ассисты, не склеивая их в ROAS;
— помечать traffic source, exchange, deal id, placement, device и geo.

Дальше нужен контроль качества данных. Если в цепочке нет стабильных click_id / impression_id, а postback приходит с задержкой, ROAS начинает мигрировать между каналами из-за latency, а не из-за эффективности. Для этого полезны cohort-отчёты по дате показа и отдельный view-through sanity check: доля view-through не должна расти без изменения медиасплита.

На уровне анализа держите три слоя: campaign-level для бюджета, supply-path для площадки, creative-level для креатива. Когда один слой показывает рост, а другой падение, смотрите не на средний ROAS, а на распределение по placements и frequency. Именно там обычно прячется переатрибуция.

Если хотите управлять ROAS, а не спорить о нём, сначала сделайте отчётность несмешиваемой: одно событие — один контур, одна логика окна, одна версия truth source.
This media is not supported in your browser
VIEW IN TELEGRAM
Google заставляет махать руками перед камерой

Google запустила новую капчу на основе распознавания движений — требует включённую камеру и помах руки перед экраном для подтверждения. Система отслеживает 21 точку-координату положения руки в реальном времени, а данные удаляются сразу после проверки. Для арбитражников это усложнит автоматизацию — обход вероятно будет работать через перехват хэша с положительным ответом. Капча пока на тестировании, но предвещает новый уровень защиты от ботов в и…

➡️ Читайте на сайте: https://aff.top/blog/google-zastavliaet-makhat-rukami-pered-kameroi

🧠 Ещё больше инсайтов → в канале AFF.top
Логи RTB: какие поля сохранять, чтобы потом не гадать по CPM и fill

Если сохраняете только bid price и win notice — аналитика ломается на первом же спорном кейсе. Для разбора аукциона нужен не «лог события», а связка request → response → render.

В базовый набор кладите: request id, auction id, timestamp, publisher/app/site, placement/ad unit, imp id, floor, currency, device, geo, user agent, consent string, schain, ads.txt path, bidder name, timeout, bid price, net/gross, deal id, creative id, loss reason, win reason. Без request/imp id вы не склеите цепочку, без schain и floor не разберёте SPO и price pressure.

Отдельно храните контекст, который часто теряют: language, referrer, viewability signals, cache status, render fail, timeout bucket, no-bid reason, error code от adapter’а, response latency, seat id, domain/app bundle, consent status, user sync status. Именно эти поля объясняют, почему одинаковый placement даёт разный revenue.

Практика простая: raw-логи храните отдельно от агрегатов, нормализуйте названия полей, и не режьте «лишнее» до того, как построите дашборды по latency, bid density, win rate и loss reason. Тогда разбор деградации займёт минуты, а не ручной ресёрч по трём системам.
This media is not supported in your browser
VIEW IN TELEGRAM
Как заработать 2500$ с УБТ трафика из Twitter’а не привлекая внимания санитаров

Арбитражник проkил органическbq трафик с X (Twitter) через связку с dating-офферами, используя маскировку ссылок под видеопревью. После полугода залива с марта по октябрь 2025-го он заработал скромный, но стабильный доход, внедрив динамическую генерацию страниц, обфускацию ссылок и cookie-разделение трафика для увеличения конверсии на треть. Основной вызов — постоянные баны доменом из-за обновлений Google и требований антифрода, из…

➡️ Читайте на сайте: https://aff.top/blog/kak-zarabotat-2500-s-ubt-trafika-iz-twitter-a-ne-privlekaia-vnimaniia-sanitarov

🧠 Ещё больше инсайтов → в канале AFF.top
Prebid 9: какие изменения ломают конфиги и как пройти миграцию без сюрпризов

Если у вас живёт большой wrapper, проверяйте не только adUnits, но и весь контракт между page code, bidderAdapter и analytics. В Prebid 9 чаще всего больно не там, где “сломался бид”, а там, где тихо меняется форма данных и старые допущения уже не проходят.

Что обычно требует ревизии:
— bidder params: строгая валидация, мусорные поля лучше вычищать до релиза;
— events / hooks: если завязаны на кастомные тайминги, проверьте порядок вызовов;
— user sync и consent: CMP-логика должна быть явной, без неочевидных fallback’ов;
— floors / timeout / schain: убедитесь, что значения доходят до bidder без обрезки.

Переходный план простой: сначала прогоняете текущий конфиг через тестовый стек и смотрите, где валится schema validation. Потом сравниваете bid stream до и после миграции: количество bid responses, no-bid, timeout, cache hit. Отдельно проверяете adapters, которые живут на кастомных параметрах или нестандартных event listeners.

Если в wrapper есть свои плагинные слои, не тащите их “как есть”: лучше оставить минимальный core, а всё нестандартное вынести в отдельный модуль с явными контрактами. Так обновление Prebid перестаёт быть лотереей и становится обычной заменой зависимостей.
Curated marketplaces: где SSP режет long tail и зачем это паблишеру

Curated marketplace — это не «приватка с красивым названием», а отбор инвентаря и данных поверх open auction. SSP собирает supply, сегменты, правила доступа и продаёт пакет не по всему трафику, а по заранее описанному набору: домены, app bundle, geo, device, viewability, audience. Для buyer это меньше мусора в bid stream, для publisher — выше контроль над тем, кто вообще видит inventory.

Рабочая схема обычно такая: — curated пакет живёт как deal ID или отдельный PMPslot; — в deal попадают whitelist/blacklist, floor, format, allowed buyers; — иногда добавляют audience overlay из clean room или DMP. Главное тут не «премиальность», а предсказуемость: меньше SSP hops, меньше случайных bidders, меньше дублей между каналами.

Где curated marketplace полезен:
— на дорогом инвентаре, который нельзя отдавать в общий аукцион без фильтра;
— когда нужен SPO-контроль и прозрачный путь до buyer;
— когда у sales нет сил вручную собирать PMPs под каждого рекламодателя.

Риски тоже типовые: слишком узкий сегмент убивает конкуренцию, слишком широкий превращает curated в обычный open exchange с лишней комиссией. Проверяйте, есть ли у deal нормальный deal ID, не дублируется ли inventory в нескольких пакетах, и не теряется ли при этом bid density.

Если curated marketplace не меняет путь до buyer и не снижает мусор в аукционе — это просто новый ярлык на старом supply.
Открытые DSP вне big tech: где искать контролируемый стек без закрытого black box

Если нужен DSP, который можно интегрировать, ревьюить и не зависеть от одной экосистемы, смотрите на открытые и полу-открытые варианты вокруг RTB-стека, а не только на UI в кабинете.

Критерии отбора простые:
— есть документация по bid request / bid response и логам;
— можно подключить свой ID layer, deal-логики и pacing;
— понятны правила атрибуции win notice, loss reason, auction type;
— есть экспорт событий в свой BI, а не только агрегаты в дашборде.

Для self-hosted или гибридной схемы важны не «красивые фичи», а API вокруг core-функций: campaign management, frequency capping, budget control, seat-level permissions, creative QA. Если DSP не отдаёт сырые event logs, SPO и fraud-ревью будут слепыми.

Отдельно проверьте, можно ли работать с OpenRTB без vendor-specific расширений. Чем больше закрытых полей в request/response, тем дороже миграция и тем меньше шансов собрать единый supply-path pipeline между DSP, SSP и аналитикой. 🙂

Практика простая: сначала валидируйте прозрачность логов и контрактов, потом — медиакласс и инвентарь. В programmatic выигрывает не тот, у кого громче UI, а тот, у кого меньше невидимых слоёв между bid stream и отчётом.
Bid request enrichment ломает экономику аукциона, если не понимать, что именно доклеил SSP

В bid request enrichment SSP часто добавляет не только очевидные поля, но и скрытые допущения: гео по IP, device class, supply chain, доменный контекст, признаки инвентаря, derived floor. В итоге одна и та же impression в двух SSP выглядит как два разных аукциона.

Проверяйте, где поле пришло из publisher payload, а где сгенерировано на стороне SSP:
— geo / region / city: IP-based, not user-based
— schain / seller_id / pub_id: кто реально продаёт трафик
— content / cat / page / domain: нормализован или переписан
device.ua / os / browser: иногда режется или агрегируется
— floor / deal info / pmp flags: может быть переупакован под свой routing

Главный риск — принимать enriched request как truth source. Тогда SPO-отчёт, фильтр по качеству и правила pacing начинают работать по чужой нормализации. Отсюда ложные выводы: “низкий bid density”, “плохой geo”, “не тот формат”, хотя проблема в том, что SSP дообогатила запрос своим слоем.

Практика простая: храните raw request отдельно от enriched, сравнивайте дельты по ключевым полям и помечайте, что пришло upstream, а что сгенерировано посредником. Это особенно важно для bidder debugging и reconciliation: без такой разметки bid stream превращается в набор красивых, но невалидируемых атрибутов.