Mga Error sa Consent String na Tahimik na Pumapatay sa Iyong Kita sa Ads
Ang Tahimik na Pagtulo ng Kita
Kapag bumababa ang iyong eCPM nang ilang porsyento kada buwan, bihira ang sanhi ay ang inventory o floor price. Mas madalas, isa itong sirang TC string — ang signal ng IAB Transparency & Consent Framework (TCF) na kasama sa bawat ad request. Ang malformed o nawawalang string ay walang itinatapong maingay na error. Sa halip, tahimik na bumabalik ang ad server sa non-personalized ads, umaalis ang mga demand partner, at dumudugo ang kita nang walang kahit isang alerto. Para sa mga app at game publisher na nagmo-monetize sa EEA at UK, ito ang pinakanapapansing sanhi ng nawalang kita.
Ano ang Aktwal na Dala ng TC String
Ang TC string ay isang base64-encoded na blob na nilikha ng iyong Consent Management Platform (CMP). Ini-encode nito ang mga pinili ng user: mga pinahintulutang layunin, pinapayagang vendor, ang iyong CMP ID, bersyon ng patakaran, at isang timestamp. Dini-decode ito ng mga bumibili sa loob ng milliseconds para magpasya kung makakapag-bid sila gamit ang personalized targeting. Dalawang signal ang kasinghalaga:
gdprApplies— isang flag (1, 0, o undefined) na nagsasabi sa mga bumibili kung saklaw ang GDPR.- Google Consent Mode v2 — ang mga signal na
ad_storage,ad_user_data, atad_personalizationna binabasa ng Google nang hiwalay sa TCF string.
Kung mali ang alinman sa mga ito, naglalaho ang demand — kahit aktwal na nagbigay ng pahintulot ang user.
Ang Limang Error na Tahimik na Naggagastos sa Iyo
1. Nawawala o expired na string. Kung hindi kailanman nagsulat ng string ang CMP, o tumanda ang naka-cache na pahintulot lampas sa iyong re-prompt window, lumalabas ang mga request nang walang signal. Itinuturing ng mga bumibili ang "walang string" bilang "walang pahintulot" at nag-bid lamang gamit ang low-eCPM contextual demand, o nilalaktawan ang auction.
2. Maling CMP ID. May rehistradong ID ang bawat certified CMP na nakatanim sa string. Kung nakasulat ang hindi kilalang ID, tinatanggihan ito ng Google at mga IAB vendor — karaniwan matapos ang migration kung saan naka-bundle pa ang lumang SDK.
3. Hindi idineklara ang vendor. Maaaring may buong pahintulot ang demand partner, ngunit kung wala ang vendor ID nito sa listahan ng pinapayagang vendor, hindi ito makakapag-bid nang personalized. Madalas nakakalimutan ng mga publisher na i-update ang listahan matapos magdagdag ng partner.
4. Malformed na gdprApplies. Ang pagpasa ng string na "1" sa halip na integer, o pag-iwan dito bilang undefined para sa user na malinaw na nasa EEA, ay nakalilito sa mga bumibili. Ang maling gdprApplies=0 ay maaari ring maglagay sa iyo sa panganib sa compliance habang mukhang maayos.
5. Hindi pumuputok ang mga Consent Mode signal. Maaaring perpekto ang TCF string habang nananatili ang Consent Mode sa default na denied na estado — halimbawa, kapag nag-load ng ads ang SDK bago ma-resolve ang pahintulot. Naghahatid pagkatapos ang Google ng non-personalized ads anuman ang TC string.
Isang Hakbang-Hakbang na Workflow sa Pag-debug
Magtrabaho mula sa device palabas patungo sa ad server, at i-reproduce sa malinis na estado — i-clear ang app data o gumamit ng bagong browser profile para hindi ka iligaw ng lumang pahintulot.
- Hakbang 1 — Kunin ang raw na string. Sa web, basahin ito sa pamamagitan ng
__tcfapi('getTCData', 2, cb). Sa app, i-dump ang key naIABTCF_TCStringmula saSharedPreferences(Android) oNSUserDefaults(iOS). - Hakbang 2 — I-decode at i-validate. I-paste ito sa IAB TCF decoder o CMP validator. Kumpirmahing sa iyo ang CMP ID, kasalukuyan ang bersyon ng patakaran at timestamp, at lumalabas ang iyong mga pangunahing vendor ID sa listahan.
- Hakbang 3 — Suriin ang ad request. Gamitin ang Charles Proxy o isang network inspector para bantayan ang GAM request, at i-verify na dala ng mga parameter na
gdpratgdpr_consentang tamang halaga. - Hakbang 4 — Suriin ang Consent Mode. Gamitin ang Google Tag Assistant para kumpirmahing lumilipat ang
ad_user_dataatad_personalizationsa granted kapag tumanggap ang user. - Hakbang 5 — Kumpirmahin sa GAM. Buksan ang reporting dimension na non-personalized ads ng Ad Manager. Ang biglaang pagtaas ng NPA traffic na hindi tumutugma sa iyong opt-out rate ang fingerprint ng masamang string.
Pag-aayos sa Ugat na Sanhi
Madali ang pag-patch ng isang masamang request; ang pagpigil sa susunod ang tunay na trabaho. Pahintayin ang ads sa pahintulot bago mag-initialize, panatilihing naka-sync ang iyong vendor list sa iyong demand stack, at subaybayan ang ratio ng personalized sa non-personalized na impression — ang pagbabago doon ang iyong pinakaunang babala.
Dito kinikita ng Google-certified na CMP ang halaga nito. Naglalabas ang FlexyConsent ng valid na IAB TCF 2.3 string na may tamang CMP ID at vendor declaration, pinapuputok ang mga Consent Mode v2 signal para masundan ng ad_user_data at ad_personalization ang pinili ng user, at inilalabas ang consent-rate analytics sa web, Android, at iOS — kaya lumalabas ang sirang string sa isang dashboard, hindi sa iyong payout.
Mga Pangunahing Aral
- Hindi nagka-crash ang masamang TC string — tahimik ka nitong ibinababa sa non-personalized ads at mas mababang eCPM.
- Limang salarin: nawawala/expired na string, maling CMP ID, hindi idineklarang vendor, malformed na
gdprApplies, at patay na Consent Mode signal. - Mag-debug mula device hanggang ad server: kunin, i-decode, suriin ang request, i-verify ang Consent Mode, suriin ang GAM.
- Subaybayan nang tuloy-tuloy ang iyong personalized-to-NPA ratio — ginagawang default ng certified na CMP tulad ng FlexyConsent ang valid na string at tamang Consent Mode v2 signal.