Pag-debug ng IAB GPP String sa Browser Console: Hakbang-hakbang na Tutorial
Bakit Mahirap Mapansin ang mga Problema sa GPP
Kapag nag-opt out ang bisitang taga-US sa pagbebenta o pagbabahagi ng kanyang data, dapat umabot ang pagpiling iyon sa bawat ad partner sa page. Sa IAB Global Privacy Platform (GPP), naglalakbay ito bilang compact na string at listahan ng mga section ID. Kung mali ang alinman sa dalawa — nawawala, luma na, o may maling section — walang halatang masisira. Naglo-load pa rin ang ads, maayos pa rin ang itsura ng banner, at lalabas lang ang problema sa bandang huli kapag binabalewala ng mga partner ang opt-out o mas mababa ang bid nila sa iyong inventory.
Ang magandang balita, halos lahat ay masusuri mula sa browser console. Tinatalakay ng tutorial na ito ang mga pagsusuri ayon sa pagkakasunod-sunod na gagawin namin sa isang live na page.
Hakbang 1: Tiyaking Umiiral at Handa ang API
Ang CMP na compatible sa GPP ay naglalantad ng global na function na __gpp. Buksan ang DevTools sa iyong page at patakbuhin ang command na ping:
__gpp('ping', function (data) { console.log(data); });
Maraming sinasabi sa isang tingin ang ibinabalik na object:
- gppVersion — dapat 1.1 para sa mga kasalukuyang implementasyon.
- cmpStatus — kung na-load na ang CMP o nagka-error.
- cmpDisplayStatus — kung nakikita, nakatago o naka-disable ang banner para sa bisitang ito.
- signalStatus — “ready” kapag nakapagpasya na ang CMP sa consent state, “not ready” habang nagpapasya pa.
- supportedAPIs — ang mga section na kayang gawin ng CMP.
- applicableSections — ang mga section ID na umiiral para sa bisitang ito sa ngayon.
- gppString — ang naka-encode na string mismo.
Kung undefined ang __gpp, nawawala ang CMP stub o huli itong naglo-load. Dapat nakalagay ang stub bago ang anumang ad script na umaasa rito, kung hindi ay walang makikitang CMP ang mga script na iyon at maghihintay o magpapatuloy nang walang signal.
Hakbang 2: Suriin ang Applicable Section
Bawat privacy framework sa GPP ay may numerong section ID. Ang pinakamadalas makita ng mga publisher ay 2 (EU TCF v2), 5 (Canadian TCF), 7 (US National, “usnat”) at 8 pataas para sa mga indibidwal na state section gaya ng California, Virginia, Colorado, Utah at Connecticut. Ang bisita mula sa isang estado ng US ay karaniwang dapat makakita ng national section o ng kaukulang state section sa applicableSections, hindi ng EU section.
Subukan mula sa iba't ibang lokasyon. Karaniwang bug ang CMP na tama ang pag-detect ng heograpiya para sa banner ngunit nagsusulat ng default na section sa string anuman ang mangyari, o kabaligtaran. Gamit ang VPN o ang preview tool ng iyong CMP, ihambing ang ipinapakita ng banner sa iniuulat ng applicableSections.
Hakbang 3: Basahin ang Section Data
Sa halip na i-decode nang mano-mano ang string, hilingin sa CMP ang na-parse na section:
__gpp('getSection', function (data, success) { console.log(data, success); }, 'usnat');
Sa US National section, simpleng kombensyon ang gamit ng mga opt-out field: ang 0 ay hindi naaangkop, ang 1 ay nag-opt out ang user, at ang 2 ay hindi nag-opt out ang user. Unahin ang mga field na ito:
- SaleOptOut at SharingOptOut
- TargetedAdvertisingOptOut
- Ang katumbas na mga notice field, na nagtatala kung binigyan ng abiso ang bisita tungkol sa bawat gawain
Ngayon, gawin ang opt-out sa page — i-click ang iyong link na “Do Not Sell or Share” o i-toggle ang setting sa preference centre — at patakbuhin muli ang getSection. Dapat magbago ang mga opt-out field mula 2 tungo sa 1. Kung hindi, hindi magkasabay ang UI at ang signal.
Hakbang 4: Subukan ang Global Privacy Control na Daan
Hinihiling ng ilang batas ng estado na ituring ng mga negosyo ang Global Privacy Control signal bilang opt-out. I-enable ang GPC sa browser o extension na sumusuporta rito, tiyaking nagbabalik ng true ang navigator.globalPrivacyControl sa console, saka i-load ang page sa bagong session. Dapat 1 na ang kaukulang opt-out field kahit hindi hinahawakan ng bisita ang banner. May ilang section ding may field na nagsasabing galing sa GPC signal ang pagpili.
Hakbang 5: Bantayan ang mga Event, Hindi Lang ang mga Snapshot
Hindi dapat basahin ng ad script ang string nang isang beses sa pag-load ng page at kalimutan ito. Magrehistro ng listener para makita ang nakikita ng mga partner:
__gpp('addEventListener', function (evt) { console.log(evt.eventName, evt.pingData); });
Dapat mong makita ang mga event gaya ng listenerRegistered, signalStatus at sectionChange. Kapag nagbago ng pagpili ang bisita, dapat sumunod ang sectionChange event na may na-update na string. Kung binabasa lang ng iyong header bidding wrapper o ad server integration ang string bago maging “ready” ang signalStatus, maaari itong magpadala ng walang laman o lumang halaga.
Hakbang 6: Sundan ang String Papasok sa mga Ad Request
Panghuli, buksan ang Network tab at i-filter ang iyong mga ad request. Maraming ad endpoint ang tumatanggap ng mga parameter na gpp at gpp_sid (ang string at ang mga applicable section ID). Tiyakin na:
- parehong naroon ang dalawang parameter sa mga request mula sa mga bisitang taga-US;
- tugma ang string sa ibinalik ng ping sa oras ng request;
- pagkatapos ng opt-out, ang mga susunod na request ay may dalang bagong string at hindi naka-cache na luma.
Kung gumagamit ka ng Prebid.js, tiyaking naka-configure para sa GPP ang consent management module nito, at siyasatin ang mga bid request na lumalabas sa wrapper pati ang huling ad server call.
Karaniwang Pattern ng Pagkabigo
- Naglo-load ang stub pagkatapos ng mga ad tag — walang makitang CMP ang mga partner.
- Maling section para sa rehiyon — EU section ang ipinadala para sa US traffic, o walang section.
- Hindi magkasabay ang UI at signal — nagbabago ang toggle, hindi ang string.
- Binabalewala ang GPC — hindi kailanman nagiging opt-out ang browser signal.
- Lumang string sa mga request — kino-cache ng wrapper ang unang halagang nakita nito.
Mga Pangunahing Takeaway
- Magsimula sa ping: ang bersyon, status, applicable section at string ang magsasabi ng karamihan sa kuwento.
- Gamitin ang getSection para basahin ang mga opt-out field; ang 1 ay nag-opt out, ang 2 ay hindi nag-opt out.
- Subukan nang hiwalay ang opt-out link at ang GPC at tiyaking pareho nilang binabago ang signal.
- Makinig sa mga event at hintayin ang “ready” na signal bago basahin ng mga ad request ang string.
- I-verify ang gpp at gpp_sid sa totoong network request, bago at pagkatapos ng opt-out.