Consent-String-Fehler, die Ihre Werbeeinnahmen unbemerkt vernichten
Das stille Einnahmenleck
Wenn Ihr eCPM jeden Monat um ein paar Prozent nach unten driftet, ist die Ursache selten das Inventar oder die Mindestpreise. Häufiger ist es ein defekter TC string — das Signal des IAB Transparency & Consent Framework (TCF), das jede Anzeigenanfrage begleitet. Ein fehlerhafter oder fehlender String wirft keinen lauten Fehler. Stattdessen greift der Ad-Server stillschweigend auf nicht personalisierte Anzeigen zurück, Demand-Partner fallen weg, und die Einnahmen verbluten ohne eine einzige Warnung. Für App- und Spiele-Publisher, die im EWR und im Vereinigten Königreich monetarisieren, ist es die am meisten übersehene Ursache für entgangenes Einkommen.
Was der TC string tatsächlich trägt
Der TC string ist ein base64-codierter Blob, der von Ihrer Consent Management Platform (CMP) erstellt wird. Er kodiert die Entscheidungen des Nutzers: zugestimmte Zwecke, erlaubte Anbieter, Ihre CMP-ID, die Richtlinienversion und einen Zeitstempel. Käufer dekodieren ihn in Millisekunden, um zu entscheiden, ob sie mit personalisiertem Targeting bieten können. Zwei Signale sind ebenso wichtig:
gdprApplies— ein Flag (1, 0 oder undefined), das den Käufern mitteilt, ob die DSGVO greift.- Google Consent Mode v2 — die Signale
ad_storage,ad_user_dataundad_personalization, die Google unabhängig vom TCF-String liest.
Wenn eines davon falsch ist, verdampft die Nachfrage — selbst wenn der Nutzer tatsächlich eingewilligt hat.
Die fünf Fehler, die Sie unbemerkt Geld kosten
1. Fehlender oder abgelaufener String. Wenn die CMP nie einen String schreibt oder die zwischengespeicherte Einwilligung über Ihr Re-Prompt-Fenster hinaus altert, gehen Anfragen ohne Signal hinaus. Käufer behandeln "kein String" wie "keine Einwilligung" und bieten nur mit kontextueller Nachfrage zu niedrigem eCPM oder überspringen die Auktion.
2. Falsche CMP-ID. Jede zertifizierte CMP hat eine registrierte ID, die im String verankert ist. Wenn eine nicht erkannte ID geschrieben wird, lehnen Google und IAB-Anbieter sie ab — häufig nach einer Migration, bei der das alte SDK noch eingebunden ist.
3. Anbieter nicht deklariert. Ein Demand-Partner kann die volle Einwilligung haben, aber wenn seine Anbieter-ID nicht in der Liste der erlaubten Anbieter steht, kann er nicht personalisiert bieten. Publisher vergessen oft, die Liste nach dem Hinzufügen eines Partners zu aktualisieren.
4. Fehlerhaftes gdprApplies. Einen String "1" statt einer Ganzzahl zu übergeben oder es für einen Nutzer, der eindeutig im EWR ist, auf undefined zu belassen, verwirrt die Käufer. Ein falsches gdprApplies=0 kann Sie zudem einem Compliance-Risiko aussetzen, während es einwandfrei aussieht.
5. Consent-Mode-Signale werden nicht ausgelöst. Der TCF-String kann perfekt sein, während der Consent Mode in seinem standardmäßigen Denied-Zustand verbleibt — zum Beispiel, wenn das SDK Anzeigen lädt, bevor die Einwilligung aufgelöst ist. Google liefert dann unabhängig vom TC string nicht personalisierte Anzeigen aus.
Ein Schritt-für-Schritt-Debugging-Workflow
Arbeiten Sie vom Gerät nach außen zum Ad-Server hin und reproduzieren Sie in einem sauberen Zustand — löschen Sie App-Daten oder verwenden Sie ein frisches Browserprofil, damit veraltete Einwilligung Sie nicht in die Irre führt.
- Schritt 1 — Erfassen Sie den rohen String. Im Web lesen Sie ihn über
__tcfapi('getTCData', 2, cb). In einer App geben Sie den SchlüsselIABTCF_TCStringausSharedPreferences(Android) oderNSUserDefaults(iOS) aus. - Schritt 2 — Dekodieren und validieren. Fügen Sie ihn in den IAB-TCF-Decoder oder einen CMP-Validator ein. Bestätigen Sie, dass die CMP-ID Ihre ist, die Richtlinienversion und der Zeitstempel aktuell sind und Ihre wichtigsten Anbieter-IDs in der Liste erscheinen.
- Schritt 3 — Untersuchen Sie die Anzeigenanfrage. Verwenden Sie Charles Proxy oder einen Netzwerkinspektor, um die GAM-Anfrage zu beobachten, und überprüfen Sie, ob die Parameter
gdprundgdpr_consentdie richtigen Werte tragen. - Schritt 4 — Überprüfen Sie den Consent Mode. Verwenden Sie den Google Tag Assistant, um zu bestätigen, dass
ad_user_dataundad_personalizationauf granted umschalten, wenn der Nutzer zustimmt. - Schritt 5 — Bestätigen Sie in GAM. Öffnen Sie die Berichtsdimension nicht personalisierte Anzeigen im Ad Manager. Ein Anstieg des NPA-Traffics, der nicht zu Ihrer Opt-out-Rate passt, ist der Fingerabdruck eines fehlerhaften Strings.
Die Grundursache beheben
Eine fehlerhafte Anfrage zu flicken ist einfach; die nächste zu verhindern ist die eigentliche Arbeit. Lassen Sie Anzeigen vor der Initialisierung auf die Einwilligung warten, halten Sie Ihre Anbieterliste mit Ihrem Demand-Stack synchron und verfolgen Sie das Verhältnis von personalisierten zu nicht personalisierten Impressionen — eine Verschiebung dort ist Ihre früheste Warnung.
Hier verdient sich eine Google-zertifizierte CMP ihren Lohn. FlexyConsent sendet gültige IAB-TCF-2.3-Strings mit der richtigen CMP-ID und den richtigen Anbieterdeklarationen, löst Consent-Mode-v2-Signale aus, sodass ad_user_data und ad_personalization der Wahl des Nutzers folgen, und stellt Einwilligungsraten-Analysen über Web, Android und iOS bereit — sodass ein defekter String auf einem Dashboard auftaucht, nicht in Ihrer Auszahlung.
Wichtige Erkenntnisse
- Ein fehlerhafter TC string stürzt nicht ab — er stuft Sie still auf nicht personalisierte Anzeigen und niedrigeren eCPM herab.
- Fünf Übeltäter: fehlende/abgelaufene Strings, falsche CMP-ID, nicht deklarierte Anbieter, fehlerhaftes
gdprAppliesund tote Consent-Mode-Signale. - Debuggen Sie vom Gerät zum Ad-Server: erfassen, dekodieren, die Anfrage untersuchen, Consent Mode verifizieren, GAM prüfen.
- Verfolgen Sie kontinuierlich Ihr Verhältnis von personalisiert zu NPA — eine zertifizierte CMP wie FlexyConsent macht gültige Strings und korrekte Consent-Mode-v2-Signale zum Standard.