L'header bidding senza segnali di consenso non è solo una lacuna di conformità, è un problema diretto di ricavi. Ogni bidder registrato al TCF nel tuo stack Prebid è vincolato dalle policy di IAB Europe: senza una TC string che stabilisca una base giuridica, il bidder non può elaborare la richiesta per il traffico del SEE e del Regno Unito, quindi la richiesta viene scartata prima ancora che si svolga un'asta. Il sito continua a inviare richieste di offerta, le SSP continuano a scartarle e nulla nell'output di debug di Prebid spiega perché il fill rate sia crollato in Europa. Lo stesso schema si sta ora ripetendo negli Stati Uniti, dove i bidder iniziano a rispettare gli opt-out previsti dalle leggi statali trasmessi nelle stringhe GPP.
Collegare Prebid.js a una CMP certificata colma entrambe le lacune con un'unica integrazione. Questa guida illustra i moduli, la configurazione, come trattenere la prima asta in attesa del consenso e come verificare ciò che i bidder ricevono effettivamente.
Prebid.js gestisce ciascun framework sulla privacy tramite un proprio modulo di gestione del consenso, scelto al momento della build di Prebid:
consentManagementTcf (denominato consentManagement prima di Prebid 9) legge il consenso IAB TCF per il GDPR, coprendo il traffico del SEE e del Regno Unito.consentManagementGpp legge la stringa IAB Global Privacy Platform che trasporta i segnali sulla privacy degli Stati USA, sezione per sezione: nazionale (usnat), California (usca), Virginia, Colorado, Connecticut e gli Stati aggiunti successivamente.consentManagementUsp legge la precedente stringa US Privacy per il CCPA. È un segnale legacy, ma molti bidder lo leggono ancora, quindi per ora gli editori con traffico statunitense dovrebbero mantenerlo insieme al GPP.Se applichi le finalità TCF lato client, aggiungi anche il modulo tcfControl (denominato gdprEnforcement prima di Prebid 9): blocca i bid adapter e gli analytics adapter privi di consenso per le finalità dichiarate, invece di lasciare l'applicazione interamente ai bidder.
Includi solo i moduli di cui il tuo traffico ha bisogno. Un editore senza traffico statunitense non ottiene nulla dai moduli GPP e USP, se non un payload più pesante.
Tutti e tre i moduli si trovano sotto l'oggetto di configurazione consentManagement:
pbjs.que.push(function () {
pbjs.setConfig({
consentManagement: {
gdpr: {
cmpApi: "iab",
timeout: 8000,
defaultGdprScope: true,
},
usp: {
cmpApi: "iab",
timeout: 100,
},
gpp: {
cmpApi: "iab",
timeout: 8000,
},
},
});
});
Tre impostazioni meritano attenzione.
cmpApi: "iab" indica a Prebid di individuare la CMP tramite le API standard di window: __tcfapi per il TCF, __gpp per il GPP e __uspapi per US Privacy, incluse le varianti postMessage quando Prebid viene eseguito all'interno di un iframe cross-domain. Non è necessario alcun adapter specifico del fornitore. UniConsent implementa tutte e tre le API con la stessa installazione, quindi un unico banner copre il consenso GDPR in Europa e i segnali di opt-out negli Stati Uniti.
timeout indica per quanto tempo Prebid attende la risposta della CMP prima di rinunciare al segnale. Impostalo con generosità per il GDPR: se la CMP non ha risposto alla scadenza del timer, l'asta procede senza una TC string, che è esattamente il problema delle richieste scartate che stai cercando di evitare. In pratica la stringa USP è sincrona, quindi il suo timeout può restare breve.
defaultGdprScope: true considera ogni richiesta soggetta al GDPR finché la CMP non indica il contrario. Senza questa impostazione, le richieste attivate prima che la CMP determini la regione del visitatore partono senza protezione. L'impostazione predefinita sicura è attivarla.
Ogni TC string incorpora l'ID della CMP che l'ha generata e i bidder confrontano tale ID con l'elenco delle CMP di IAB Europe. Una stringa prodotta da uno strumento per i cookie "compatibile con il TCF" ma non registrato riporta un ID che non supera la validazione, e la richiesta viene scartata esattamente come se la stringa non ci fosse. L'errore è silenzioso: nessun messaggio di errore, nessun avviso in console, solo domanda mancante.
UniConsent è una CMP registrata (ID 68, validata per web e app), quindi le sue TC string sono accettate lungo tutta la catena di fornitura programmatica. Ciò include Google Ad Manager, che legge lo stesso output di __tcfapi letto da Prebid e che necessita inoltre della stringa addtl_consent per i fornitori di tecnologia pubblicitaria di Google non presenti nella Global Vendor List dell'IAB. UniConsent genera l'Additional Consent insieme alla TC string, così la domanda di Google continua a fare offerte sull'inventario che la sola TC string non coprirebbe.
La sola configurazione non determina quando si attiva la prima asta. Lo schema corretto consiste nell'attendere che la CMP segnali uno stato definitivo tramite l'API standard degli eventi TCF e solo allora richiedere le offerte:
window.__tcfapi("addEventListener", 2, function (tcData, success) {
if (
success &&
(tcData.eventStatus === "tcloaded" ||
tcData.eventStatus === "useractioncomplete")
) {
pbjs.que.push(function () {
pbjs.requestBids();
});
}
});
tcloaded si attiva per i visitatori di ritorno il cui consenso memorizzato è già disponibile, mentre useractioncomplete si attiva nel momento in cui un nuovo visitatore chiude il banner. Tra il caricamento della pagina e uno dei due eventi non si svolge alcuna asta, quindi nessuna richiesta parte senza il proprio segnale di consenso. UniConsent espone questa API standard degli eventi senza configurazioni aggiuntive; lo snippet completo, incluso l'equivalente per Google Ad Manager, si trova nel tutorial sull'integrazione con Prebid.
Non dare per scontato che la pipeline funzioni solo perché il banner viene mostrato. Controlla ciò che i bidder ricevono effettivamente:
pbjs.getConsentMetadata() per vedere quali dati di consenso Prebid ha associato all'asta.gdprConsent e gppConsent (oppure gdpr_consent negli endpoint basati su URL) contengano le stesse stringhe che hai decodificato.Se il passaggio 1 va a buon fine ma il passaggio 4 mostra campi vuoti, l'asta si attiva prima che la CMP abbia risposto: occorre rivedere le sezioni precedenti su timeout ed event listener.
Il consenso per Prebid è una parte del più ampio stack di consenso per gli editori. La stessa installazione di UniConsent gestisce Google Ad Manager con Additional Consent, Google Consent Mode v2 per GA4 e Google Ads, il TCF Canada per il traffico canadese e il consenso in-app su mobile tramite SDK nativi, un insieme che poche CMP coprono in un unico prodotto: il nostro confronto tra CMP 2026 analizza quali fornitori documentano il supporto a Prebid, GPP e Additional Consent e quali no. Puoi iniziare con il piano gratuito, che copre fino a 50.000 utenti al mese, e verificare le TC string sulle tue pagine prima di qualsiasi decisione commerciale.
Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
Activate Google Consent Mode UniConsent to enhance the accuracy of your Google Analytics and Google Ads conversion data.
Set up Google Consent Mode →Inizia a rendere il tuo sito web e la tua applicazione conformi a GDPR (UE), CPRA (USA), PIPEDA (Canada) ecc.
Registrati
Scadenza dell'IAB TCF 2.4 e come verificare i tuoi fornitori
Causa CIPA contro NFL.com: quando l'opt-out non ferma il tracciamento — come far funzionare davvero gli opt-out

Dominio CMP di prima parte: pubblica il tuo banner di consenso dal tuo dominio
UniConsent è un CMP certificato per Microsoft UET e Microsoft Clarity

Diritto di reclamo nello UK GDPR: le novità del 19 giugno 2026 e cosa devono fare le organizzazioni

Configurazione della CMP per Prebid.js: trasmettere il consenso TCF, GPP e CCPA al tuo stack di header bidding
Inizia a rendere il tuo sito web e la tua applicazione conformi a GDPR (UE), CPRA (USA), PIPEDA (Canada) ecc.
Registrati