Αποσφαλμάτωση του IAB GPP string στην κονσόλα του προγράμματος περιήγησης: Οδηγός βήμα προς βήμα

Γιατί τα προβλήματα GPP είναι δύσκολο να εντοπιστούν

Όταν ένας επισκέπτης από τις ΗΠΑ αρνείται την πώληση ή την κοινοποίηση των δεδομένων του, αυτή η επιλογή πρέπει να φτάσει σε κάθε διαφημιστικό συνεργάτη της σελίδας. Με το IAB Global Privacy Platform (GPP), ταξιδεύει ως ένα συμπαγές string και μια λίστα από αναγνωριστικά ενοτήτων (section IDs). Αν κάποιο από τα δύο είναι λάθος — λείπει, είναι παλιό ή φέρει λάθος ενότητα — τίποτα δεν χαλάει ορατά. Οι διαφημίσεις φορτώνουν κανονικά, το banner φαίνεται σωστό και το πρόβλημα εμφανίζεται αργότερα, ως συνεργάτες που αγνοούν τα opt-out ή προσφέρουν λιγότερα για το απόθεμά σας.

Τα καλά νέα είναι ότι μπορείτε να ελέγξετε σχεδόν τα πάντα από την κονσόλα του προγράμματος περιήγησης. Αυτός ο οδηγός περνά από τους ελέγχους με τη σειρά που θα τους εκτελούσαμε σε μια ζωντανή σελίδα.

Βήμα 1: Επιβεβαιώστε ότι το API υπάρχει και είναι έτοιμο

Ένα CMP συμβατό με GPP εκθέτει μια καθολική συνάρτηση __gpp. Ανοίξτε τα DevTools στη σελίδα σας και εκτελέστε μια εντολή ping:

__gpp('ping', function (data) { console.log(data); });

Το αντικείμενο που επιστρέφεται λέει πολλά με μια ματιά:

Αν το __gpp είναι undefined, το stub του CMP λείπει ή φορτώνει πολύ αργά. Το stub πρέπει να υπάρχει πριν από κάθε διαφημιστικό script που το αναμένει, διαφορετικά τα scripts αυτά δεν θα βλέπουν CMP και είτε θα περιμένουν είτε θα προχωρούν χωρίς σήμα.

Βήμα 2: Ελέγξτε την ισχύουσα ενότητα

Κάθε πλαίσιο απορρήτου στο GPP έχει ένα αριθμητικό αναγνωριστικό ενότητας. Αυτά που συναντούν συχνότερα οι εκδότες είναι το 2 (EU TCF v2), το 5 (καναδικό TCF), το 7 (US National, “usnat”) και το 8 και πάνω για επιμέρους πολιτειακές ενότητες, όπως Καλιφόρνια, Βιρτζίνια, Κολοράντο, Γιούτα και Κονέκτικατ. Ένας επισκέπτης από πολιτεία των ΗΠΑ πρέπει κανονικά να βλέπει είτε την εθνική ενότητα είτε τη σχετική πολιτειακή ενότητα στο applicableSections, όχι την ενότητα της ΕΕ.

Δοκιμάστε από πολλές τοποθεσίες. Ένα συνηθισμένο σφάλμα είναι ένα CMP που εντοπίζει σωστά τη γεωγραφία για το banner αλλά γράφει μια προεπιλεγμένη ενότητα στο string ανεξάρτητα, ή το αντίστροφο. Χρησιμοποιώντας ένα VPN ή τα εργαλεία προεπισκόπησης του CMP σας, συγκρίνετε ό,τι δείχνει το banner με ό,τι αναφέρει το applicableSections.

Βήμα 3: Διαβάστε τα δεδομένα της ενότητας

Αντί να αποκωδικοποιήσετε το string με το χέρι, ζητήστε από το CMP την αναλυμένη ενότητα:

__gpp('getSection', function (data, success) { console.log(data, success); }, 'usnat');

Στην ενότητα US National, τα πεδία opt-out ακολουθούν μια απλή σύμβαση: το 0 σημαίνει μη εφαρμόσιμο, το 1 σημαίνει ότι ο χρήστης έκανε opt-out και το 2 σημαίνει ότι ο χρήστης δεν έκανε opt-out. Εστιάστε πρώτα σε αυτά τα πεδία:

Τώρα εκτελέστε το opt-out στη σελίδα — κάντε κλικ στον σύνδεσμο “Do Not Sell or Share” ή αλλάξτε τη ρύθμιση στο κέντρο προτιμήσεων — και εκτελέστε ξανά το getSection. Τα πεδία opt-out πρέπει να αλλάξουν από 2 σε 1. Αν δεν αλλάξουν, το UI και το σήμα δεν είναι συγχρονισμένα.

Βήμα 4: Δοκιμάστε τη διαδρομή του Global Privacy Control

Αρκετοί πολιτειακοί νόμοι απαιτούν από τις επιχειρήσεις να αντιμετωπίζουν ένα σήμα Global Privacy Control ως opt-out. Ενεργοποιήστε το GPC σε ένα πρόγραμμα περιήγησης ή επέκταση που το υποστηρίζει, επιβεβαιώστε ότι το navigator.globalPrivacyControl επιστρέφει true στην κονσόλα και φορτώστε τη σελίδα σε νέα συνεδρία. Τα σχετικά πεδία opt-out πρέπει ήδη να δείχνουν 1 χωρίς ο επισκέπτης να αγγίξει το banner. Ορισμένες ενότητες περιλαμβάνουν επίσης ένα πεδίο που δείχνει ότι η επιλογή προήλθε από σήμα GPC.

Βήμα 5: Παρακολουθήστε τα events, όχι μόνο στιγμιότυπα

Τα διαφημιστικά scripts δεν πρέπει να διαβάζουν το string μία φορά στη φόρτωση της σελίδας και να το ξεχνούν. Καταχωρίστε έναν listener για να δείτε τι βλέπουν οι συνεργάτες:

__gpp('addEventListener', function (evt) { console.log(evt.eventName, evt.pingData); });

Πρέπει να παρατηρήσετε events όπως listenerRegistered, signalStatus και sectionChange. Όταν ο επισκέπτης αλλάζει μια επιλογή, θα πρέπει να ακολουθεί ένα event sectionChange με ενημερωμένο string. Αν το header bidding wrapper ή η ενσωμάτωση του ad server διαβάζει το string μόνο πριν το signalStatus γίνει “ready”, μπορεί να στείλει κενή ή παλιά τιμή.

Βήμα 6: Ακολουθήστε το string μέσα στα αιτήματα διαφήμισης

Τέλος, ανοίξτε την καρτέλα Network και φιλτράρετε τα αιτήματα διαφήμισής σας. Πολλά διαφημιστικά endpoints δέχονται τις παραμέτρους gpp και gpp_sid (το string και τα αναγνωριστικά των ισχυουσών ενοτήτων). Ελέγξτε ότι:

  1. και οι δύο παράμετροι υπάρχουν στα αιτήματα από επισκέπτες των ΗΠΑ·
  2. το string ταιριάζει με αυτό που επέστρεψε το ping τη στιγμή του αιτήματος·
  3. μετά από ένα opt-out, τα επόμενα αιτήματα φέρουν το νέο string και όχι ένα αποθηκευμένο στην κρυφή μνήμη.

Αν χρησιμοποιείτε Prebid.js, επιβεβαιώστε ότι το module διαχείρισης συναίνεσης είναι ρυθμισμένο για GPP και ελέγξτε τα bid requests που φεύγουν από το wrapper καθώς και την τελική κλήση προς τον ad server.

Συνηθισμένα μοτίβα αστοχίας

Βασικά συμπεράσματα

← Ιστολόγιο Διαβάστε όλα →