Грешки в низа за съгласие, които безшумно убиват рекламните ви приходи
Безшумното изтичане на приходи
Когато вашият eCPM спада с няколко процента всеки месец, причината рядко е инвентарът или минималните цени. По-често това е счупен TC string — сигналът на IAB Transparency & Consent Framework (TCF), който пътува с всяка рекламна заявка. Зле форматиран или липсващ низ не хвърля шумна грешка. Вместо това рекламният сървър тихо преминава към неперсонализирани реклами, партньорите на търсенето отпадат и приходите изтичат без нито едно предупреждение. За издателите на приложения и игри, които монетизират в ЕИП и Обединеното кралство, това е най-пренебрегваната причина за загубен доход.
Какво всъщност носи TC string
TC string е блок, кодиран в base64, създаден от вашата Consent Management Platform (CMP). Той кодира изборите на потребителя: съгласувани цели, разрешени доставчици, вашия CMP ID, версията на политиката и времеви маркер. Купувачите го декодират за милисекунди, за да решат дали могат да наддават с персонализирано таргетиране. Два сигнала имат също толкова значение:
gdprApplies— флаг (1, 0 или undefined), който казва на купувачите дали GDPR е приложим.- Google Consent Mode v2 — сигналите
ad_storage,ad_user_dataиad_personalization, които Google чете независимо от TCF низа.
Ако някой от тях е грешен, търсенето се изпарява — дори когато потребителят действително е дал съгласие.
Петте грешки, които тихо ви струват пари
1. Липсващ или изтекъл низ. Ако CMP никога не запише низ или кешираното съгласие надхвърли прозореца за повторно подканване, заявките излизат без сигнал. Купувачите третират „няма низ“ като „няма съгласие“ и наддават само с контекстуално търсене с нисък eCPM или прескачат търга.
2. Грешен CMP ID. Всяка сертифицирана CMP има регистриран идентификатор, вграден в низа. Ако се запише непознат идентификатор, Google и доставчиците от IAB го отхвърлят — често срещано след миграция, при която старият SDK е все още включен.
3. Недеклариран доставчик. Партньор на търсенето може да има пълно съгласие, но ако неговият vendor ID не е в списъка с разрешени доставчици, той не може да наддава персонализирано. Издателите често забравят да обновят списъка след добавяне на партньор.
4. Зле форматиран gdprApplies. Подаването на низ „1“ вместо цяло число или оставянето му undefined за потребител, който явно е в ЕИП, обърква купувачите. Неправилен gdprApplies=0 също може да ви изложи на риск за съответствие, докато изглежда наред.
5. Сигналите на Consent Mode не се задействат. TCF низът може да е перфектен, докато Consent Mode остава в своето стандартно отказано състояние — например, когато SDK зарежда рекламите преди съгласието да се разреши. Тогава Google показва неперсонализирани реклами независимо от TC string.
Работен процес за дебъгване стъпка по стъпка
Работете от устройството навън към рекламния сървър и възпроизвеждайте в чисто състояние — изчистете данните на приложението или използвайте нов профил на браузъра, за да не ви подведе остаряло съгласие.
- Стъпка 1 — Заловете суровия низ. В уеб го прочетете чрез
__tcfapi('getTCData', 2, cb). В приложение извлечете ключаIABTCF_TCStringотSharedPreferences(Android) илиNSUserDefaults(iOS). - Стъпка 2 — Декодирайте и валидирайте. Поставете го в декодера на IAB TCF или във валидатор на CMP. Потвърдете, че CMP ID е вашият, че версията на политиката и времевият маркер са актуални и че идентификаторите на ключовите ви доставчици се появяват в списъка.
- Стъпка 3 — Прегледайте рекламната заявка. Използвайте Charles Proxy или мрежов инспектор, за да наблюдавате GAM заявката, и проверете дали параметрите
gdprиgdpr_consentносят правилните стойности. - Стъпка 4 — Проверете Consent Mode. Използвайте Google Tag Assistant, за да потвърдите, че
ad_user_dataиad_personalizationсе превключват на granted, когато потребителят приеме. - Стъпка 5 — Потвърдете в GAM. Отворете измерението за отчитане на неперсонализирани реклами в Ad Manager. Скок в NPA трафика, който не съответства на вашия процент на отказ, е отпечатъкът на лош низ.
Отстраняване на първопричината
Закърпването на една лоша заявка е лесно; предотвратяването на следващата е работата. Накарайте рекламите да изчакват съгласието преди инициализиране, дръжте списъка си с доставчици синхронизиран с вашия стек на търсенето и проследявайте съотношението на персонализирани към неперсонализирани импресии — промяна там е най-ранното ви предупреждение.
Тук сертифицирана от Google CMP си заслужава. FlexyConsent излъчва валидни IAB TCF 2.3 низове с правилния CMP ID и декларации на доставчици, задейства сигналите на Consent Mode v2, така че ad_user_data и ad_personalization да следват избора на потребителя, и показва аналитика на процента на съгласие в уеб, Android и iOS — така че счупен низ изплува на табло, а не в изплащането ви.
Ключови изводи
- Лош TC string не сривa — той тихо ви понижава до неперсонализирани реклами и по-нисък eCPM.
- Пет виновника: липсващи/изтекли низове, грешен CMP ID, недекларирани доставчици, зле форматиран
gdprAppliesи неработещи сигнали на Consent Mode. - Дебъгвайте от устройството до рекламния сървър: заловете, декодирайте, прегледайте заявката, проверете Consent Mode, проверете GAM.
- Проследявайте непрекъснато съотношението си персонализирани към NPA — сертифицирана CMP като FlexyConsent прави валидните низове и правилните сигнали на Consent Mode v2 стандартно поведение.