TCF келісім жолын қалай оқу керек: Әзірлеушіге арналған практикалық нұсқаулық
TC String шын мәнінде не
IAB Transparency & Consent Framework бір ықшам токен шығарады — TC string — ол әрбір жарнама сұрауымен бірге жүреді және сатушыларға пайдаланушы неге келіскенін және неге келіспегенін дәл айтады. Ол Base64-URL кодталған және бит деңгейінде оралған, сондықтан ол түсініксіз болып көрінеді (CPxy...AAA), бірақ дәл, тексерілетін жазбаны кодтайды.
Сегменттер
Толық TC string бірнеше нүктемен бөлінген сегмент болып табылады. Біріншісі — core string; қалғандары міндетті емес:
- Core — CMP ID, CMP нұсқасы, келісім уақыт белгілері, саясат нұсқасы және ең бастысы мақсат келісімдері мен сатушы келісімдері бит өрістері.
- Ашылған сатушылар — пайдаланушыға қандай сатушылар көрсетілгені.
- Publisher TC — сізге, баспагерге тән келісімдер.
Бит өрістері оның жүрегі: N биті 1-ге орнатылғаны N мақсатына немесе N сатушысына келісімді білдіреді. 1-мақсат “құрылғыда ақпаратты сақтау/қол жеткізу”, 3 және 4-мақсат дербестендірілген жарнамаларды қамтиды, т.б.
Біреуін практикада декодтау
Сіз биттерді сирек қолмен декодтайсыз. IAB ұсынатын кітапханаларды немесе көпшілік декодерін қолданыңыз:
.бойынша бөліп, core сегментін Base64-URL декодтаңыз.- Тіркелген енді тақырып өрістерін оқыңыз (version, created, lastUpdated, cmpId, cmpVersion).
- Қайсысы берілгенін дәл көру үшін мақсат пен сатушы бит өрістерін аралаңыз.
JavaScript-те __tcfapi('getTCData', 2, cb) шақыруы әлдеқашан талданған нысанды қайтарады — tcData.purpose.consents және tcData.vendor.consents id → boolean карталары. Бұл сіздің орындалу кезіндегі шынайы негізіңіз.
Кірісті жоятын қателер
Дербестендірілген сұраныс үнсіз жоғалғанда, әдетте себебі TC string:
- Жетіспейтін жол — жарнама сұрауы
gdprApplies/TC string алып жүрмейді, сондықтан сәйкес SSP-лер дербестендірілмегенге түседі. - Сатушы келіспеген — сіздің сұраныс серіктесіңіздің сатушы ID биті 0, сондықтан олар дербестендірумен баға ұсына алмайды.
- Мерзімі өткен немесе ескірген жол — ескі уақыт белгісі келесі платформаларды оған сенбеуге мәжбүрлейді.
- Қате CMP ID — тіркелмеген немесе сынақ CMP ID бүкіл жолды жарамсыз етеді.
Түзету жұмыс процесі
Пайдаланушының келісімін қайта жасаңыз, тікелей TC жолын __tcfapi-дан немесе жарнама сұрауынан алыңыз, оны валидатор арқылы өткізіңіз және декодталған мақсаттарды/сатушыларды серіктестеріңіз талап ететінмен салыстырыңыз. Он жағдайдың тоғызында алшақтық бір сатушы биті немесе жетіспейтін 1-мақсат.
FlexyConsent қайда орналасады
FlexyConsent тіркелген CMP ID-мен спецификацияға сәйкес TC жолдарын жасайды, оларды жаңа ұстайды, түзету үшін декодталған күйді ашады және сіздің трафигіңіз бойынша қандай мақсаттар мен сатушылардың шынымен берілетінін есеп береді — сондықтан сіз келісімнің (және кірістің) қайда ағып жатқанын болжамай, көре аласыз.
Негізгі тұжырымдар
- TC string әрбір келісім таңдауының бит-оралған, тексерілетін жазбасы.
- Мақсат пен сатушы бит өрістері серіктестердің дербестендірілген жарнама бере алатынын шешеді.
- Кірістің төмендеуінің көпшілігі жетіспейтін жолға, келіспеген сатушыға немесе ескірген/жарамсыз CMP ID-ға жатады.
- Тікелей жолды
__tcfapi-мен декодтаңыз және түзету кезінде оны серіктес талаптарына қарсы тексеріңіз.