Felsöka IAB GPP-strängen i webbläsarkonsolen: steg-för-steg-guide
Varför GPP-problem är svåra att upptäcka
När en amerikansk besökare avstår från försäljning eller delning av sina uppgifter måste det valet nå varje annonspartner på sidan. Med IAB Global Privacy Platform (GPP) färdas det som en kompakt sträng och en lista med sektions-ID:n. Om någondera är fel — saknas, är föråldrad eller bär fel sektion — går inget synligt sönder. Annonserna laddas fortfarande, bannern ser fortfarande bra ut, och problemet visar sig först senare när partner ignorerar avanmälningar eller bjuder lägre på ditt inventarie.
Det goda är att du kan inspektera nästan allt från webbläsarkonsolen. Den här guiden går igenom kontrollerna i den ordning vi skulle köra dem på en live-sida.
Steg 1: bekräfta att API:et finns och är redo
En GPP-kompatibel CMP exponerar en global funktion __gpp. Öppna DevTools på din sida och kör kommandot ping:
__gpp('ping', function (data) { console.log(data); });
Det returnerade objektet berättar mycket med en blick:
- gppVersion — ska vara 1.1 för aktuella implementeringar.
- cmpStatus — om CMP:n har laddats eller stött på ett fel.
- cmpDisplayStatus — om bannern är synlig, dold eller inaktiverad för den här besökaren.
- signalStatus — “ready” när CMP:n har landat i ett samtyckestillstånd, “not ready” medan den fortfarande avgör.
- supportedAPIs — de sektioner CMP:n kan producera.
- applicableSections — de sektions-ID:n som gäller för den här besökaren just nu.
- gppString — själva den kodade strängen.
Om __gpp är undefined saknas CMP-stubben eller laddas för sent. Stubben måste finnas på plats före varje annonsskript som förväntar sig den, annars ser dessa skript ingen CMP och väntar eller fortsätter utan signal.
Steg 2: kontrollera den tillämpliga sektionen
Varje integritetsramverk i GPP har ett numeriskt sektions-ID. De som utgivare oftast möter är 2 (EU TCF v2), 5 (kanadensiskt TCF), 7 (USA nationellt, “usnat”) och 8 och uppåt för enskilda delstatssektioner som Kalifornien, Virginia, Colorado, Utah och Connecticut. En besökare från en amerikansk delstat bör normalt se antingen den nationella sektionen eller den relevanta delstatssektionen i applicableSections, inte EU-sektionen.
Testa från flera platser. Ett vanligt fel är en CMP som identifierar geografin korrekt för bannern men ändå skriver en standardsektion i strängen, eller tvärtom. Använd ett VPN eller din CMP:s förhandsgranskningsverktyg och jämför vad bannern visar med vad applicableSections rapporterar.
Steg 3: läs sektionsdata
I stället för att avkoda strängen för hand kan du be CMP:n om den tolkade sektionen:
__gpp('getSection', function (data, success) { console.log(data, success); }, 'usnat');
I den amerikanska nationella sektionen följer avanmälningsfälten en enkel konvention: 0 betyder ej tillämpligt, 1 betyder att användaren har avanmält sig och 2 betyder att användaren inte har avanmält sig. Fokusera först på de här fälten:
- SaleOptOut och SharingOptOut
- TargetedAdvertisingOptOut
- De motsvarande notice-fälten, som registrerar om besökaren fick information om varje praxis
Utför nu avanmälan på sidan — klicka på din “Do Not Sell or Share”-länk eller växla inställningen i inställningscentret — och kör getSection igen. Avanmälningsfälten ska ändras från 2 till 1. Om de inte gör det är gränssnittet och signalen inte synkroniserade.
Steg 4: testa Global Privacy Control-vägen
Flera delstatslagar kräver att företag behandlar en Global Privacy Control-signal som en avanmälan. Aktivera GPC i en webbläsare eller ett tillägg som stöder det, bekräfta att navigator.globalPrivacyControl returnerar true i konsolen och ladda sedan sidan i en ny session. De relevanta avanmälningsfälten ska redan vara 1 utan att besökaren rört bannern. Vissa sektioner innehåller också ett fält som anger att valet kom från en GPC-signal.
Steg 5: bevaka händelser, inte bara ögonblicksbilder
Annonsskript ska inte läsa strängen en gång vid sidladdning och glömma den. Registrera en listener för att se vad partnerna ser:
__gpp('addEventListener', function (evt) { console.log(evt.eventName, evt.pingData); });
Du bör se händelser som listenerRegistered, signalStatus och sectionChange. När besökaren ändrar ett val ska en sectionChange-händelse med en uppdaterad sträng följa. Om din header bidding-wrapper eller annonsserverintegration bara läser strängen innan signalStatus blir “ready” kan den skicka ett tomt eller föråldrat värde.
Steg 6: följ strängen in i annonsförfrågningarna
Öppna slutligen fliken Network och filtrera efter dina annonsförfrågningar. Många annonsslutpunkter accepterar parametrarna gpp och gpp_sid (strängen och de tillämpliga sektions-ID:na). Kontrollera att:
- båda parametrarna finns i förfrågningar från amerikanska besökare;
- strängen matchar den som ping returnerade vid tidpunkten för förfrågan;
- förfrågningar efter en avanmälan bär den nya strängen i stället för en cachad.
Om du använder Prebid.js, bekräfta att dess modul för samtyckeshantering är konfigurerad för GPP och inspektera både budförfrågningarna som lämnar wrappern och det slutliga annonsserveranropet.
Vanliga felmönster
- Stubben laddas efter annonstaggarna — partner ser ingen CMP alls.
- Fel sektion för regionen — EU-sektionen skickas för amerikansk trafik, eller ingen sektion alls.
- Gränssnitt och signal osynkade — reglaget ändras, strängen inte.
- GPC ignoreras — webbläsarsignalen blir aldrig en avanmälan.
- Föråldrade strängar i förfrågningar — wrappern cachar det första värdet den såg.
Viktigaste lärdomarna
- Börja med ping: version, status, tillämpliga sektioner och strängen berättar det mesta.
- Använd getSection för att läsa avanmälningsfält; 1 betyder avanmäld, 2 betyder inte avanmäld.
- Testa avanmälningslänken och GPC separat och bekräfta att båda ändrar signalen.
- Lyssna på händelser och vänta på en “ready”-signal innan annonsförfrågningar läser strängen.
- Verifiera gpp och gpp_sid i verkliga nätverksförfrågningar, före och efter en avanmälan.