Prebid.js Управління Згодою: Посібник із Налаштування Header Bidding для Видавців
Header bidding підвищує CPM видавців, дозволяючи партнерам із попиту конкурувати паралельно — але кожен із цих партнерів потребує дійсного сигналу згоди, перш ніж зможе встановити файл cookie, зняти цифровий відбиток або запустити піксель. Prebid.js, де-факто обгортка header bidding з відкритим вихідним кодом, яку використовують десятки тисяч сайтів, постачається з модулем управління згодою, що підключає ваш CMP до кожного аукціону. Неправильне налаштування призводить або до витоку даних без згоди (регуляторний ризик), або до того, що учасники торгів не отримують потрібний сигнал (ризик для доходів). Цей посібник проведе видавців через налаштування виробничого рівня.
Чому Prebid.js Потребує Модуля Управління Згодою
Коли запускається аукціон Prebid.js, обгортка надсилає паралельні запити до кожного налаштованого адаптера учасника торгів. Кожен адаптер повинен включати рядок згоди користувача у свій запит на ставку — tcfeu (TCF v2.2 для ЄС/UK), usp (CCPA/CPRA) і дедалі частіше gpp (рядок IAB Global Privacy Platform, що охоплює кілька штатів США). Без цих сигналів нижчі за потоком SSP та DSP змушені або вважати користувача відмовленим, повністю відхиляти ставку, або — у найгіршому випадку — незаконно обробляти дані.
Модуль управління згодою Prebid розміщується між вашим CMP і конвеєром запитів на ставки. Він викликає стандартний CMP API (__tcfapi, __uspapi, __gppapi), очікує рядок згоди, а потім автоматично вставляє його в корисне навантаження запиту на ставку кожного адаптера. Він також застосовує контроль на основі мети, коли ви вмикаєте примусове застосування GDPR, блокуючи доступ до сховища та виконання учасника торгів для користувачів, які не надали відповідних цілей TCF.
Встановлення та Налаштування Основного Модуля
Prebid.js будується для кожного видавця з docs.prebid.org/download.html. Коли ви генеруєте власну збірку, три модулі під «Управлінням згодою» мають значення:
- consentManagementTcf — обробляє рядки TCF v2.2 для трафіку ЄС, UK та Швейцарії.
- consentManagementUsp — обробляє старий рядок US Privacy CCPA/CPRA (досі потрібен багатьма DSP).
- consentManagementGpp — обробляє рядок IAB GPP, перспективний стандарт, тепер обов'язковий для Google, TTD та великих SSP.
Включіть усі три, якщо обслуговуєте глобальний трафік. Після того як збірка з'являється на вашому CDN, налаштуйте модулі у вашому скрипті налаштування Prebid:
Конфігурація TCF v2.2
Блок TCF повідомляє Prebid, який CMP API викликати, як довго чекати рядок і що робити при timeout. Типова виробнича конфігурація встановлює cmpApi: 'iab', timeout: 8000 (8 секунд — достатньо для повільного завантаження CMP банера) та defaultGdprScope: true, щоб користувачі в невідомих юрисдикціях вважалися в обсязі, поки не буде доведено інше. Окреме налаштування actionTimeout контролює, як довго Prebid чекає, коли користувач ще не взаємодіяв із банером — помірне значення дозволяє уникнути порожнього рекламного місця, якщо відвідувач ігнорує банер.
US Privacy та GPP
USP простий: увімкніть модуль, і Prebid зчитує чотирисимвольний рядок із __uspapi. GPP більш нюансований, оскільки рядок GPP може містити кілька ідентифікаторів розділів (TCF EU, US National, US California, US Colorado, US Virginia тощо). Prebid автоматично передає повний рядок, але учасники торгів перевіряють конкретні розділи. Переконайтеся, що ваш CMP видає правильні розділи GPP для юрисдикції кожного користувача — неправильно налаштований CMP, що видає лише розділ US National каліфорнійському користувачу, змусить DSP, сумісні з CPRA, відхилити ставку.
Увімкнення Примусового Застосування GDPR (Контроль на Основі Мети)
За замовчуванням модуль згоди пропускає рядок TCF, але нічого не блокує. Щоб Prebid насправді застосовував цілі TCF, увімкніть набір правил gdprEnforcement. Саме тут трапляється більшість помилок налаштування — і де живе різниця між сумісним і несумісним стеком header bidding.
Стандартний набір правил блокує чотири дії, коли відповідна мета не має згоди:
- storage — контролюється Метою 1 (зберігання та доступ). У разі відмови Prebid не дозволяє учасникам торгів читати або записувати файли cookie та localStorage.
- basicAds — контролюється Метою 2 (базова реклама). У разі відмови учасник торгів повністю виключається з аукціону.
- measurement — контролюється Метою 7. Впливає на аналітичні адаптери.
- transmitPreciseGeo — контролюється Спеціальною функцією 1. У разі відмови Prebid видаляє точну геолокацію із запитів на ставки.
Для кожного правила ви встановлюєте enforcePurpose: true, enforceVendor: true та список vendorExceptions. Список винятків для постачальників є критично важливим: будь-якому учаснику торгів, якого ви вказуєте там, дозволено брати участь навіть без явної згоди постачальника TCF, на підставі того, що у вас є окрема правова підстава (наприклад, законний інтерес у поєднанні з договірним потоком). Використовуйте це економно — надто широкі винятки є саме тим зразком, за який регулятори почали штрафувати видавців.
Типові Пастки, що Коштують Видавцям Доходів або Відповідності
Timeout встановлено занадто низьким
Якщо timeout коротший за час рендерингу банера вашого CMP, Prebid продовжує роботу без рядка згоди. Учасники торгів вважають це відсутністю згоди і відхиляють ставку. Виміряйте затримку першого виклику tcfapi('addEventListener') вашого CMP на 95-му перцентилі та встановіть timeout Prebid вище цього. 8000 мс є безпечним значенням за замовчуванням; 3000 мс є ризиковим, якщо ви обслуговуєте ринки, де банерам потрібен час для локалізації.
Відсутня інтеграція GPP для трафіку США
Великі SSP та DSP (Google AdX, TTD, Magnite, PubMatic) тепер вимагають рядок GPP для примусового застосування відмови в США. Якщо ви видаєте лише старий рядок USP, ці DSP дедалі частіше знижуватимуть або пропускатимуть ваш інвентар. Перевіряйте відповіді на ставки: різке падіння CPM на трафіку США у 2026 році часто є сигналом відсутнього GPP.
Застарілі рядки згоди при навігації SPA
Односторінкові програми, що повторно запускають аукціони Prebid при зміні маршруту, повинні викликати pbjs.refreshUserIds() та переконатися, що останній рядок TCF отримано. Кешований рядок 30-хвилинної давності може містити вподобання попереднього користувача, якщо ваш сайт використовує спільні сесії.
Відсутні vendorExceptions для аналітики
Видавці часто забувають, що адаптери Prebid Analytics (Google Analytics, серверне звітування) також підпадають під контроль measurement відповідно до Мети 7 TCF. Якщо ви покладаєтеся на них для звітування про доходи, явно перелічіть їх у винятках для постачальників правила вимірювання або прийміть прогалину в даних для трафіку без згоди.
Тестування Налаштування Перед Виробництвом
Prebid.js відкриває pbjs.getConfig('consentManagement') у консолі браузера. Переконайтеся, що активна конфігурація відповідає вашому наміру. Потім скористайтеся розширенням Chrome Prebid.js Professor або pbjs.getEvents(), щоб перевірити рядок згоди, доданий до кожного запиту на ставку. Перевірте три сценарії: повністю погоджений користувач, користувач, який натиснув «Відхилити все», і користувач, який закрив банер без взаємодії. Кожен повинен давати різну спостережувану поведінку в корисному навантаженні запиту на ставку.
Виконайте ті самі перевірки в різних географічних регіонах за допомогою VPN або прапора перевизначення геолокації вашого CMP. Трафік ЄС повинен давати рядок TCF та запускати gdprEnforcement; трафік Каліфорнії повинен давати рядок USP та GPP; трафік з невизначеною юрисдикцією повинен дотримуватися вашого параметра defaultGdprScope.
Об'єднання Всього Разом
Правильно налаштований стек управління згодою Prebid виконує три речі одночасно: забезпечує учасників торгів дійсними сигналами згоди (зберігаючи CPM), застосовує правила TCF та відмови США на рівні обгортки (зменшуючи регуляторний ризик) і надає єдину точку аудиту, коли регулятор запитує, як ваше налаштування header bidding враховує вибір користувача. Знайдіть час, щоб навмисно встановити timeout, увімкніть GPP поряд із USP для трафіку США та щоквартально переглядайте список vendorExceptions — вартість помилки тут вимірюється як штрафами, так і втраченими програматичними доходами.