Chyby v consent stringu, které tiše ničí vaše příjmy z reklamy
Tichý únik příjmů
Když vám eCPM každý měsíc klesá o pár procent, příčinou je málokdy inventář nebo cenové podlahy. Častěji je to rozbitý TC string — signál IAB Transparency & Consent Framework (TCF), který cestuje s každým reklamním požadavkem. Poškozený nebo chybějící string nevyhodí žádnou hlasitou chybu. Místo toho reklamní server tiše přejde na nepersonalizované reklamy, partneři na straně poptávky odpadnou a příjmy krvácejí bez jediného upozornění. Pro vydavatele aplikací a her monetizující v EHP & Spojeném království je to nejpřehlíženější příčina ztráty příjmů.
Co TC string vlastně nese
TC string je blob zakódovaný v base64, vytvořený vaší platformou pro správu souhlasu (CMP). Kóduje volby uživatele: odsouhlasené účely, povolené vendory, vaše CMP ID, verzi politiky a časové razítko. Kupující ho dekódují v milisekundách, aby rozhodli, zda mohou licitovat s personalizovaným cílením. Stejně tak záleží na dvou signálech:
gdprApplies— příznak (1, 0 nebo undefined) sdělující kupujícím, zda se uplatní GDPR.- Google Consent Mode v2 — signály
ad_storage,ad_user_dataaad_personalization, které Google čte nezávisle na TCF stringu.
Pokud je kterýkoli z nich špatně, poptávka se vypaří — i když uživatel ve skutečnosti souhlasil.
Pět chyb, které vás potichu stojí peníze
1. Chybějící nebo prošlý string. Pokud CMP string nikdy nezapíše nebo cachovaný souhlas zestárne za vaše okno pro opětovné dotázání, požadavky odchází bez signálu. Kupující berou "žádný string" jako "žádný souhlas" a licitují jen s nízkým eCPM kontextovou poptávkou, nebo aukci přeskočí.
2. Špatné CMP ID. Každá certifikovaná CMP má registrované ID zapečené ve stringu. Pokud se zapíše neznámé ID, Google a vendoři IAB ho odmítnou — běžné po migraci, kdy je staré SDK stále přibalené.
3. Vendor nedeklarovaný. Partner na straně poptávky může mít plný souhlas, ale pokud jeho vendor ID není na seznamu povolených vendorů, nemůže licitovat personalizovaně. Vydavatelé často zapomínají seznam aktualizovat po přidání partnera.
4. Poškozený gdprApplies. Předání stringu "1" místo celého čísla, nebo ponechání hodnoty undefined u uživatele jasně z EHP, mate kupující. Nesprávné gdprApplies=0 vás může také vystavit riziku nesouladu, zatímco vypadá v pořádku.
5. Signály Consent Mode se nespouští. TCF string může být perfektní, zatímco Consent Mode zůstává ve výchozím zamítnutém stavu — například když SDK načte reklamy dříve, než se souhlas vyřeší. Google pak servíruje nepersonalizované reklamy bez ohledu na TC string.
Ladicí workflow krok za krokem
Pracujte od zařízení směrem k reklamnímu serveru a reprodukujte v čistém stavu — vymažte data aplikace nebo použijte čerstvý profil prohlížeče, aby vás zastaralý souhlas nesvedl z cesty.
- Krok 1 — Zachyťte surový string. Na webu jej přečtěte přes
__tcfapi('getTCData', 2, cb). V aplikaci vypište klíčIABTCF_TCStringzSharedPreferences(Android) neboNSUserDefaults(iOS). - Krok 2 — Dekódujte a ověřte. Vložte ho do dekodéru IAB TCF nebo validátoru CMP. Potvrďte, že CMP ID je vaše, verze politiky a časové razítko jsou aktuální a vaše klíčová vendor ID se objevují v seznamu.
- Krok 3 — Prozkoumejte reklamní požadavek. Pomocí Charles Proxy nebo síťového inspektoru sledujte požadavek GAM a ověřte, že parametry
gdpragdpr_consentnesou správné hodnoty. - Krok 4 — Zkontrolujte Consent Mode. Pomocí Google Tag Assistant potvrďte, že
ad_user_dataaad_personalizationse překlopí na granted, když uživatel souhlasí. - Krok 5 — Potvrďte v GAM. Otevřete v Ad Manageru dimenzi reportingu nepersonalizované reklamy. Skok v provozu NPA, který neodpovídá vaší míře odmítnutí, je otisk prstu špatného stringu.
Oprava kořenové příčiny
Opravit jeden špatný požadavek je snadné; zabránit dalšímu je ta práce. Donuťte reklamy čekat na souhlas před inicializací, udržujte seznam vendorů sesynchronizovaný s vaším poptávkovým stackem a sledujte poměr personalizovaných k nepersonalizovaným zobrazením — posun tam je vaše nejranější varování.
Zde si certifikovaná CMP od Googlu zaslouží své místo. FlexyConsent vysílá platné stringy IAB TCF 2.3 se správným CMP ID a deklaracemi vendorů, spouští signály Consent Mode v2, takže ad_user_data a ad_personalization sledují volbu uživatele, a zpřístupňuje analytiku míry souhlasu napříč webem, Androidem a iOS — takže rozbitý string se objeví na dashboardu, ne ve vaší výplatě.
Klíčové poznatky
- Špatný TC string nespadne — tiše vás degraduje na nepersonalizované reklamy a nižší eCPM.
- Pět viníků: chybějící/prošlé stringy, špatné CMP ID, nedeklarovaní vendoři, poškozený
gdprAppliesa mrtvé signály Consent Mode. - Laďte od zařízení k reklamnímu serveru: zachyťte, dekódujte, prozkoumejte požadavek, ověřte Consent Mode, zkontrolujte GAM.
- Sledujte svůj poměr personalizovaných k NPA průběžně — certifikovaná CMP jako FlexyConsent činí platné stringy a správné signály Consent Mode v2 výchozím stavem.