Configurazione della CMP per Prebid.js: trasmettere il consenso TCF, GPP e CCPA al tuo stack di header bidding

UniConsent Team

6 min read
Add UniConsent as a preferred source on Google
Indice

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.

I tre moduli di consenso di Prebid

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.

Configurazione

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.

Perché la CMP deve essere certificata

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.

Trattenere la prima asta in attesa del consenso

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.

Verificare la configurazione

Non dare per scontato che la pipeline funzioni solo perché il banner viene mostrato. Controlla ciò che i bidder ricevono effettivamente:

  1. Decodifica la TC string generata dal tuo sito con il decoder TCF e verifica il CMP ID 68, le finalità acconsentite e i fornitori previsti.
  2. Per il traffico statunitense, decodifica la stringa GPP con il decoder GPP e verifica che sia presente la sezione dello Stato corretta per la località del test.
  3. Nella console del browser, esegui pbjs.getConsentMetadata() per vedere quali dati di consenso Prebid ha associato all'asta.
  4. Nella scheda Rete, apri una richiesta di offerta e verifica che i campi 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.

Un'unica CMP per l'intero stack

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.

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

Inizia a rendere il tuo sito web e la tua applicazione conformi a GDPR (UE), CPRA (USA), PIPEDA (Canada) ecc.

Registrati