Erros na cadea de consentimento que matan en silencio os teus ingresos publicitarios
A fuga silenciosa de ingresos
Cando o teu eCPM cae uns puntos porcentuais cada mes, a causa rara vez é o inventario ou os prezos mínimos. Máis a miúdo é unha TC string rota — o sinal do IAB Transparency & Consent Framework (TCF) que viaxa con cada solicitude de anuncio. Unha cadea mal formada ou ausente non xera ningún erro ruidoso. No seu lugar, o servidor de anuncios recorre silenciosamente a anuncios non personalizados, os socios de demanda retíranse e os ingresos desánganse sen unha soa alerta. Para os editores de apps e xogos que monetizan no EEE e no Reino Unido, é a causa máis ignorada de perda de ingresos.
Que transporta realmente a TC string
A TC string é un bloque codificado en base64 creado pola túa Plataforma de Xestión do Consentimento (CMP). Codifica as decisións do usuario: finalidades consentidas, provedores permitidos, o teu ID de CMP, a versión da política e unha marca de tempo. Os compradores decodifícana en milisegundos para decidir se poden puxar con segmentación personalizada. Dous sinais importan igual:
gdprApplies— un indicador (1, 0 ou indefinido) que lles di aos compradores se o GDPR é aplicable.- Google Consent Mode v2 — os sinais
ad_storage,ad_user_dataead_personalizationque Google le de forma independente da cadea TCF.
Se algún deles é incorrecto, a demanda evapórase — mesmo cando o usuario realmente deu o seu consentimento.
Os cinco erros que te custan diñeiro en silencio
1. Cadea ausente ou caducada. Se o CMP nunca escribe unha cadea, ou o consentimento en caché envellece máis aló da túa xanela de reconsulta, as solicitudes saen sen sinal. Os compradores tratan "sen cadea" como "sen consentimento" e puxan só con demanda contextual de baixo eCPM, ou saltan a poxa.
2. ID de CMP incorrecto. Cada CMP certificado ten un ID rexistrado incrustado na cadea. Se se escribe un ID non recoñecido, Google e os provedores do IAB recházano — algo común tras unha migración co SDK antigo aínda empaquetado.
3. Provedor non declarado. Un socio de demanda pode ter o consentimento completo, pero se o seu ID de provedor non está na lista de provedores permitidos, non pode puxar de forma personalizada. Os editores a miúdo esquecen actualizar a lista tras engadir un socio.
4. gdprApplies mal formado. Pasar unha cadea "1" en lugar dun enteiro, ou deixalo undefined para un usuario claramente no EEE, confunde aos compradores. Un gdprApplies=0 incorrecto tamén pode expoñerte a risco de cumprimento mentres parece correcto.
5. Os sinais de Consent Mode non se disparan. A cadea TCF pode ser perfecta mentres Consent Mode permanece no seu estado denegado por defecto — por exemplo, cando o SDK carga anuncios antes de que se resolva o consentimento. Google entón serve anuncios non personalizados sen importar a TC string.
Un fluxo de depuración paso a paso
Traballa desde o dispositivo cara ao servidor de anuncios, e reproduce nun estado limpo — borra os datos da app ou usa un perfil de navegador novo para que o consentimento obsoleto non te despiste.
- Paso 1 — Captura a cadea en bruto. En web, léea mediante
__tcfapi('getTCData', 2, cb). Nunha app, extrae a claveIABTCF_TCStringdeSharedPreferences(Android) ouNSUserDefaults(iOS). - Paso 2 — Decodifica e valida. Pégaa no decodificador do IAB TCF ou nun validador de CMP. Confirma que o ID de CMP é o teu, que a versión da política e a marca de tempo están actualizadas, e que os teus ID de provedores clave aparecen na lista.
- Paso 3 — Inspecciona a solicitude de anuncio. Usa Charles Proxy ou un inspector de rede para observar a solicitude de GAM e verifica que os parámetros
gdpregdpr_consentleven os valores correctos. - Paso 4 — Comproba Consent Mode. Usa Google Tag Assistant para confirmar que
ad_user_dataead_personalizationcambian a granted cando o usuario acepta. - Paso 5 — Confirma en GAM. Abre a dimensión de informes de anuncios non personalizados de Ad Manager. Un pico de tráfico NPA que non coincide coa túa taxa de exclusión é a pegada dunha cadea defectuosa.
Corrixir a causa raíz
Parchear unha solicitude defectuosa é doado; previr a seguinte é o traballo de verdade. Fai que os anuncios esperen polo consentimento antes de inicializarse, mantén a túa lista de provedores sincronizada coa túa pila de demanda e monitoriza a proporción de impresións personalizadas fronte a non personalizadas — un cambio aí é o teu aviso máis temperán.
Aquí é onde un CMP certificado por Google demostra o seu valor. FlexyConsent emite cadeas IAB TCF 2.3 válidas co ID de CMP e as declaracións de provedores correctas, dispara os sinais de Consent Mode v2 para que ad_user_data e ad_personalization sigan a decisión do usuario, e mostra analíticas de taxa de consentimento en web, Android e iOS — de modo que unha cadea rota apareza nun panel, non na túa liquidación.
Puntos clave
- Unha TC string defectuosa non falla con estrépito — degrádate silenciosamente a anuncios non personalizados e a un eCPM máis baixo.
- Cinco culpables: cadeas ausentes ou caducadas, ID de CMP incorrecto, provedores non declarados,
gdprAppliesmal formado e sinais mortos de Consent Mode. - Depura do dispositivo ao servidor de anuncios: captura, decodifica, inspecciona a solicitude, verifica Consent Mode, comproba GAM.
- Monitoriza continuamente a túa proporción de personalizados fronte a NPA — un CMP certificado como FlexyConsent fai que as cadeas válidas e os sinais correctos de Consent Mode v2 sexan o comportamento por defecto.