Πώς να διαβάσετε ένα TCF consent string: πρακτικός οδηγός για προγραμματιστές
Τι είναι πραγματικά το TC string
Το IAB Transparency & Consent Framework παράγει ένα μόνο συμπαγές token — το TC string — που ταξιδεύει με κάθε διαφημιστικό αίτημα και λέει στους προμηθευτές ακριβώς με τι έχει και τι δεν έχει συμφωνήσει ένας χρήστης. Είναι κωδικοποιημένο σε Base64-URL και συσκευασμένο σε επίπεδο bit, οπότε μοιάζει με ασυναρτησίες (CPxy...AAA), αλλά κωδικοποιεί μια ακριβή, ελέγξιμη εγγραφή.
Τα τμήματα
Ένα πλήρες TC string είναι αρκετά τμήματα διαχωρισμένα με τελείες. Το πρώτο είναι το core string· τα υπόλοιπα είναι προαιρετικά:
- Core — CMP ID, έκδοση CMP, οι χρονικές σημάνσεις συναίνεσης, η έκδοση πολιτικής και κυρίως τα bitfields των συναινέσεων σκοπών και συναινέσεων προμηθευτών.
- Disclosed vendors — ποιοι προμηθευτές εμφανίστηκαν στον χρήστη.
- Publisher TC — συναινέσεις ειδικά για εσάς, τον εκδότη.
Τα bitfields είναι η καρδιά του: το bit N ορισμένο σε 1 σημαίνει συναίνεση για τον σκοπό N ή τον προμηθευτή N. Ο σκοπός 1 είναι “αποθήκευση/πρόσβαση πληροφοριών σε μια συσκευή”, οι σκοποί 3 και 4 καλύπτουν εξατομικευμένες διαφημίσεις και ούτω καθεξής.
Αποκωδικοποίηση στην πράξη
Σπάνια αποκωδικοποιείτε bits με το χέρι. Χρησιμοποιήστε τις βιβλιοθήκες που παρέχει η IAB ή έναν δημόσιο αποκωδικοποιητή:
- Διαχωρίστε στο
.και αποκωδικοποιήστε σε Base64-URL το core τμήμα. - Διαβάστε τα πεδία κεφαλίδας σταθερού πλάτους (version, created, lastUpdated, cmpId, cmpVersion).
- Διατρέξτε τα bitfields σκοπών και προμηθευτών για να δείτε ποια ακριβώς έχουν παραχωρηθεί.
Σε JavaScript η κλήση __tcfapi('getTCData', 2, cb) επιστρέφει το ήδη επεξεργασμένο αντικείμενο — τα tcData.purpose.consents και tcData.vendor.consents είναι χάρτες από id → boolean. Αυτή είναι η αλήθεια σας κατά τον χρόνο εκτέλεσης.
Τα σφάλματα που σκοτώνουν τα έσοδα
Όταν η εξατομικευμένη ζήτηση εξαφανίζεται αθόρυβα, το TC string είναι συνήθως ο λόγος:
- Λείπει το string — το διαφημιστικό αίτημα δεν φέρει
gdprApplies/TC string, οπότε τα συμμορφούμενα SSP πέφτουν σε μη εξατομικευμένα. - Προμηθευτής χωρίς συναίνεση — το bit του vendor ID του συνεργάτη ζήτησής σας είναι 0, οπότε δεν μπορεί να κάνει προσφορά με εξατομίκευση.
- Ληγμένο ή απαρχαιωμένο string — μια παλιά χρονική σήμανση κάνει τις πλατφόρμες κατάντη να το δυσπιστούν.
- Λάθος CMP ID — ένα μη εγγεγραμμένο ή δοκιμαστικό CMP ID ακυρώνει ολόκληρο το string.
Μια ροή εργασίας αποσφαλμάτωσης
Αναπαράγετε τη συναίνεση του χρήστη, πάρτε το ζωντανό TC string από το __tcfapi ή το διαφημιστικό αίτημα, περάστε το από έναν επικυρωτή και συγκρίνετε τους αποκωδικοποιημένους σκοπούς/προμηθευτές με αυτά που απαιτούν οι συνεργάτες σας. Εννέα στις δέκα φορές το κενό είναι ένα μόνο bit προμηθευτή ή ένας σκοπός 1 που λείπει.
Πού ταιριάζει το FlexyConsent
Το FlexyConsent δημιουργεί TC strings έγκυρα κατά τις προδιαγραφές με εγγεγραμμένο CMP ID, τα διατηρεί φρέσκα, εκθέτει την αποκωδικοποιημένη κατάσταση για αποσφαλμάτωση και αναφέρει ποιοι σκοποί και προμηθευτές παραχωρούνται πραγματικά σε όλη την κίνησή σας — ώστε να μπορείτε να δείτε, και όχι να μαντέψετε, πού διαρρέει η συναίνεση (και τα έσοδα).
Βασικά συμπεράσματα
- Το TC string είναι μια bit-packed, ελέγξιμη εγγραφή κάθε επιλογής συναίνεσης.
- Τα bitfields σκοπών και προμηθευτών αποφασίζουν αν οι συνεργάτες μπορούν να σερβίρουν εξατομικευμένες διαφημίσεις.
- Οι περισσότερες πτώσεις εσόδων ανάγονται σε string που λείπει, σε προμηθευτή χωρίς συναίνεση ή σε απαρχαιωμένο/άκυρο CMP ID.
- Αποκωδικοποιήστε το ζωντανό string με το
__tcfapiκαι επικυρώστε το έναντι των απαιτήσεων των συνεργατών κατά την αποσφαλμάτωση.