როგორ წავიკითხოთ TCF თანხმობის სტრიქონი: დეველოპერის საველე გზამკვლევი
რა არის TC string სინამდვილეში
IAB Transparency & Consent Framework აწარმოებს ერთ კომპაქტურ ტოკენს — TC string — რომელიც თითოეულ სარეკლამო მოთხოვნასთან ერთად მოგზაურობს და მომწოდებლებს ზუსტად ეუბნება, რას დაეთანხმა და რას არ დაეთანხმა მომხმარებელი. ის Base64-URL-ით არის კოდირებული და ბიტის დონეზე შეფუთული, ამიტომ უაზრობას ჰგავს (CPxy...AAA), მაგრამ კოდირებს ზუსტ, შესამოწმებელ ჩანაწერს.
სეგმენტები
სრული TC string შედგება რამდენიმე წერტილით გამოყოფილი სეგმენტისგან. პირველი არის ბირთვის სტრიქონი; დანარჩენები არჩევითია:
- ბირთვი — CMP ID, CMP ვერსია, თანხმობის დროის შტამპები, პოლიტიკის ვერსია და, რაც მთავარია, მიზნების თანხმობებისა და მომწოდებლების თანხმობების ბიტ-ველები.
- Disclosed vendors — რომელი მომწოდებლები იყო მომხმარებლისთვის ნაჩვენები.
- Publisher TC — თქვენთვის, გამომცემლისთვის, სპეციფიკური თანხმობები.
ბიტ-ველები არის ამ ყველაფრის გული: ბიტი N დაყენებული 1-ზე ნიშნავს თანხმობას მიზან N-ზე ან მომწოდებელ N-ზე. მიზანი 1 არის “ინფორმაციის შენახვა/წვდომა მოწყობილობაზე,” მიზნები 3 და 4 მოიცავს პერსონალიზებულ რეკლამას და ასე შემდეგ.
ერთის გაშიფვრა პრაქტიკაში
იშვიათად შიფრავთ ბიტებს ხელით. გამოიყენეთ IAB-ის მიერ მოწოდებული ბიბლიოთეკები ან საჯარო დეკოდერი:
- გაყავით
.-ზე და 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 string __tcfapi-დან ან სარეკლამო მოთხოვნიდან, გაატარეთ ვალიდატორში და შეადარეთ გაშიფრული მიზნები/მომწოდებლები იმას, რასაც თქვენი პარტნიორები მოითხოვენ. ათიდან ცხრა შემთხვევაში ხარვეზი ერთი მომწოდებლის ბიტია ან დაკარგული მიზანი 1.
სად ჯდება FlexyConsent
FlexyConsent წარმოქმნის სპეციფიკაციის შესაბამის TC string-ებს დარეგისტრირებული CMP ID-ით, ინახავს მათ ახალს, ააშკარავებს გაშიფრულ მდგომარეობას გამართვისთვის და აცნობებს, რომელი მიზნები და მომწოდებლები ენიჭება რეალურად თქვენს ტრაფიკზე — რათა დაინახოთ, და არ გამოიცნოთ, სად იჟონება თანხმობა (და შემოსავალი).
ძირითადი დასკვნები
- TC string არის ბიტ-შეფუთული, შესამოწმებელი ჩანაწერი თითოეული თანხმობის არჩევანის.
- მიზნებისა და მომწოდებლების ბიტ-ველები წყვეტენ, შეუძლიათ თუ არა პარტნიორებს პერსონალიზებული რეკლამის მიწოდება.
- შემოსავლის ვარდნების უმეტესობა მიდის დაკარგულ სტრიქონამდე, თანხმობის გარეშე მომწოდებლამდე ან მოძველებულ/არასწორ CMP ID-მდე.
- გაშიფრეთ ცოცხალი სტრიქონი
__tcfapi-ით და გადაამოწმეთ ის პარტნიორის მოთხოვნებთან გამართვისას.