सहमति स्ट्रिंग त्रुटियाँ जो चुपचाप आपका विज्ञापन राजस्व खत्म कर देती हैं
मूक राजस्व रिसाव
जब आपका eCPM हर महीने कुछ प्रतिशत नीचे खिसकता है, तो इसका कारण शायद ही कभी इन्वेंट्री या फ्लोर मूल्य होता है। अधिकतर यह एक टूटा हुआ TC string होता है — IAB Transparency & Consent Framework (TCF) सिग्नल जो हर विज्ञापन अनुरोध के साथ यात्रा करता है। एक विकृत या अनुपस्थित स्ट्रिंग कोई ज़ोरदार त्रुटि नहीं फेंकती। इसके बजाय, विज्ञापन सर्वर चुपचाप गैर-वैयक्तिकृत विज्ञापनों पर वापस आ जाता है, माँग साझेदार हट जाते हैं, और एक भी अलर्ट के बिना राजस्व बहने लगता है। EEA & UK में मुद्रीकरण करने वाले ऐप और गेम प्रकाशकों के लिए, यह खोई हुई आय का सबसे अनदेखा कारण है।
TC string वास्तव में क्या ले जाती है
TC string एक base64-एन्कोडेड ब्लॉब है जो आपके सहमति प्रबंधन प्लेटफ़ॉर्म (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 का स्ट्रिंग में एक पंजीकृत ID अंतर्निहित होता है। यदि कोई अपरिचित ID लिखा जाता है, तो Google और IAB विक्रेता उसे अस्वीकार कर देते हैं — यह तब आम है जब माइग्रेशन के बाद पुराना SDK अभी भी बंडल किया हुआ हो।
3. विक्रेता घोषित नहीं किया गया। एक माँग साझेदार के पास पूर्ण सहमति हो सकती है, लेकिन यदि उसका विक्रेता ID अनुमत-विक्रेता सूची में नहीं है, तो वह वैयक्तिकृत बोली नहीं लगा सकता। प्रकाशक अक्सर एक साझेदार जोड़ने के बाद सूची अपडेट करना भूल जाते हैं।
4. विकृत gdprApplies। एक पूर्णांक के बजाय स्ट्रिंग "1" पास करना, या स्पष्ट रूप से EEA में मौजूद उपयोगकर्ता के लिए इसे undefined छोड़ना, खरीदारों को भ्रमित करता है। एक गलत gdprApplies=0 आपको अनुपालन जोखिम में भी डाल सकता है जबकि यह ठीक दिखता है।
5. Consent Mode सिग्नल फ़ायर नहीं हो रहे। TCF स्ट्रिंग सही हो सकती है जबकि Consent Mode अपनी डिफ़ॉल्ट अस्वीकृत स्थिति में रहता है — उदाहरण के लिए, जब SDK सहमति हल होने से पहले विज्ञापन लोड कर देता है। तब Google TC string की परवाह किए बिना गैर-वैयक्तिकृत विज्ञापन परोसता है।
एक चरण-दर-चरण डीबगिंग वर्कफ़्लो
डिवाइस से बाहर की ओर विज्ञापन सर्वर तक काम करें, और एक स्वच्छ स्थिति में पुनः उत्पन्न करें — ऐप डेटा साफ़ करें या एक ताज़ा ब्राउज़र प्रोफ़ाइल का उपयोग करें ताकि बासी सहमति आपको गुमराह न करे।
- चरण 1 — कच्ची स्ट्रिंग कैप्चर करें। वेब पर, इसे
__tcfapi('getTCData', 2, cb)के माध्यम से पढ़ें। ऐप में,SharedPreferences(Android) याNSUserDefaults(iOS) सेIABTCF_TCStringकुंजी डंप करें। - चरण 2 — डिकोड और सत्यापित करें। इसे IAB TCF डिकोडर या CMP वैलिडेटर में पेस्ट करें। पुष्टि करें कि CMP ID आपका है, नीति संस्करण और टाइमस्टैम्प वर्तमान हैं, और आपके प्रमुख विक्रेता ID सूची में दिखाई देते हैं।
- चरण 3 — विज्ञापन अनुरोध का निरीक्षण करें। GAM अनुरोध देखने के लिए Charles Proxy या नेटवर्क इंस्पेक्टर का उपयोग करें, और सत्यापित करें कि
gdprऔरgdpr_consentपैरामीटर सही मान ले जाते हैं। - चरण 4 — Consent Mode जाँचें। Google Tag Assistant का उपयोग करके पुष्टि करें कि जब उपयोगकर्ता स्वीकार करता है तो
ad_user_dataऔरad_personalizationgranted में पलट जाते हैं। - चरण 5 — GAM में पुष्टि करें। Ad Manager का गैर-वैयक्तिकृत विज्ञापन रिपोर्टिंग आयाम खोलें। NPA ट्रैफ़िक में एक उछाल जो आपकी ऑप्ट-आउट दर से मेल नहीं खाता, एक खराब स्ट्रिंग का फ़िंगरप्रिंट है।
मूल कारण को ठीक करना
एक खराब अनुरोध को पैच करना आसान है; अगले को रोकना ही असली काम है। विज्ञापनों को आरंभीकरण से पहले सहमति की प्रतीक्षा कराएँ, अपनी विक्रेता सूची को अपने माँग स्टैक के साथ सिंक रखें, और वैयक्तिकृत बनाम गैर-वैयक्तिकृत इंप्रेशन के अनुपात को ट्रैक करें — वहाँ एक बदलाव आपकी सबसे पहली चेतावनी है।
यहीं एक Google-प्रमाणित CMP अपना मूल्य सिद्ध करता है। FlexyConsent सही CMP ID और विक्रेता घोषणाओं के साथ वैध IAB TCF 2.3 स्ट्रिंग उत्सर्जित करता है, Consent Mode v2 सिग्नल फ़ायर करता है ताकि ad_user_data और ad_personalization उपयोगकर्ता की पसंद को ट्रैक करें, और वेब, Android और iOS में सहमति-दर एनालिटिक्स सामने लाता है — ताकि एक टूटी हुई स्ट्रिंग एक डैशबोर्ड पर सामने आए, आपके भुगतान में नहीं।
मुख्य बातें
- एक खराब TC string क्रैश नहीं होती — यह चुपचाप आपको गैर-वैयक्तिकृत विज्ञापनों और कम eCPM पर गिरा देती है।
- पाँच दोषी: अनुपस्थित/समाप्त स्ट्रिंग, गलत CMP ID, अघोषित विक्रेता, विकृत
gdprApplies, और मृत Consent Mode सिग्नल। - डिवाइस से विज्ञापन सर्वर तक डीबग करें: कैप्चर, डिकोड, अनुरोध का निरीक्षण, Consent Mode सत्यापित करें, GAM जाँचें।
- अपने वैयक्तिकृत-से-NPA अनुपात को निरंतर ट्रैक करें — FlexyConsent जैसा प्रमाणित CMP वैध स्ट्रिंग और सही Consent Mode v2 सिग्नल को डिफ़ॉल्ट बनाता है।