Πώς να μπλοκάρετε scripts μέχρι να δοθεί συναίνεση: σύγκριση τριών μεθόδων
Το πρόβλημα: ετικέτες που εκτελούνται πολύ νωρίς
Ένα banner συναίνεσης λειτουργεί μόνο αν οι ετικέτες πίσω από αυτό σέβονται την επιλογή του επισκέπτη. Η πιο συνηθισμένη αστοχία είναι απλή: το banner εμφανίζεται, αλλά τα scripts analytics και διαφημίσεων έχουν ήδη φορτώσει και έχουν ορίσει αναγνωριστικά πριν κάποιος πατήσει οτιδήποτε. Η διόρθωση σημαίνει μπλοκάρισμα των scripts μέχρι να δοθεί συναίνεση. Υπάρχουν τρεις πρακτικοί τρόποι.
Μέθοδος 1: Αλλαγή του type του script
Οι browsers εκτελούν ένα στοιχείο script μόνο όταν το type του είναι τύπος JavaScript. Αν αλλάξετε το type σε text/plain, ο browser αγνοεί το script. Στη συνέχεια προσθέτετε ένα data attribute που καταγράφει σε ποια κατηγορία συναίνεσης ανήκει το script:
- Αλλάξτε το
type="text/javascript"σεtype="text/plain". - Προσθέστε ένα attribute όπως το
data-category="analytics". - Όταν ο επισκέπτης συναινέσει σε αυτή την κατηγορία, ένας μικρός loader επαναφέρει το type και εισάγει το script ώστε να εκτελεστεί.
Κατάλληλη για: λίγα γνωστά inline ή εξωτερικά scripts στα templates σας. Προσοχή: στα scripts που εισάγονται από άλλα scripts, τα οποία δεν περνούν ποτέ από τα templates σας και επομένως δεν τροποποιούνται ποτέ.
Μέθοδος 2: Έλεγχος των ετικετών σε tag manager
Αν οι ετικέτες σας βρίσκονται στο Google Tag Manager ή σε παρόμοιο εργαλείο, μπορείτε να αφήσετε το container στη σελίδα και να ελέγχετε την ενεργοποίηση με triggers που λαμβάνουν υπόψη τη συναίνεση. Κάθε ετικέτα αποκτά μια απαίτηση συναίνεσης και ο tag manager την ενεργοποιεί μόνο όταν έχει δοθεί η αντίστοιχη κατάσταση συναίνεσης. Το μεγάλο πλεονέκτημα είναι ο κεντρικός έλεγχος: το μάρκετινγκ μπορεί να προσθέτει ετικέτες χωρίς να αγγίζει τα templates, και ο κανόνας ακολουθεί την ετικέτα.
Κατάλληλη για: ιστότοπους με πολλές ετικέτες μάρκετινγκ. Προσοχή: στα hard-coded scripts που βρίσκονται εκτός του container και στις ετικέτες custom HTML που φορτώνουν δικά τους επιπλέον scripts.
Μέθοδος 3: Δυναμική φόρτωση scripts μετά τη συναίνεση
Εδώ αφαιρείτε εντελώς τις ετικέτες script από τη σελίδα και γράφετε μια συνάρτηση που τις εισάγει μόνο μετά από ένα συμβάν συναίνεσης. Είναι η πιο καθαρή επιλογή για single-page applications και για developers που θέλουν πλήρη έλεγχο:
- Ακούστε το callback συναίνεσης από το CMP σας.
- Ελέγξτε ποιες κατηγορίες έχουν εγκριθεί.
- Δημιουργήστε ένα στοιχείο script, ορίστε την πηγή του και προσαρτήστε το στο έγγραφο.
- Εκτελέστε τυχόν κώδικα αρχικοποίησης στον load handler του script.
Κατάλληλη για: σύγχρονες εφαρμογές με βήμα build. Προσοχή: στο να ξεχάσετε τον επισκέπτη που επιστρέφει, του οποίου η αποθηκευμένη επιλογή πρέπει να πυροδοτεί τη φόρτωση κατά το άνοιγμα της σελίδας, χωρίς νέο κλικ.
Διαχείριση της ανάκλησης
Το μπλοκάρισμα πριν από τη συναίνεση είναι μόνο το μισό της δουλειάς. Αν ένας επισκέπτης ανακαλέσει αργότερα τη συναίνεσή του, σταματήστε να καλείτε τα εργαλεία και φροντίστε να μην συνεχίσουν να διαβάζουν ή να γράφουν αναγνωριστικά. Η αφαίρεση ενός script από τη σελίδα δεν αφαιρεί τον κώδικα που βρίσκεται ήδη στη μνήμη, γι' αυτό μια επαναφόρτωση μετά την ανάκληση είναι συχνά η απλούστερη αξιόπιστη προσέγγιση.
Ποια να επιλέξετε;
- Λίγα scripts, templates που αποδίδονται στον διακομιστή: Μέθοδος 1.
- Πολλές ετικέτες μάρκετινγκ, επεξεργασία από μη developers: Μέθοδος 2.
- Single-page app ή προσαρμοσμένο front end: Μέθοδος 3.
- Τα μικτά περιβάλλοντα συχνά συνδυάζουν δύο από αυτές. Φροντίστε απλώς να μην υπάρχει ετικέτα που δεν καλύπτεται από καμία.
Πώς να το δοκιμάσετε
- Ανοίξτε ένα παράθυρο ιδιωτικής περιήγησης με εκκαθαρισμένη προσωρινή μνήμη.
- Ανοίξτε τα εργαλεία προγραμματιστή του browser στις καρτέλες Network και Application πριν φορτώσετε τη σελίδα.
- Φορτώστε τη σελίδα και μην αγγίξετε το banner. Επιβεβαιώστε ότι δεν στέλνονται αιτήματα analytics ή διαφημίσεων και ότι δεν εμφανίζονται σχετικά cookies ή εγγραφές αποθήκευσης.
- Αποδεχτείτε μόνο μία κατηγορία και επιβεβαιώστε ότι φορτώνουν μόνο τα αντίστοιχα scripts.
- Απορρίψτε τα πάντα, επαναφορτώστε και επαναλάβετε τον πρώτο έλεγχο.
- Ανακαλέστε τη συναίνεση και επαληθεύστε τη συμπεριφορά που περιγράφεται παραπάνω.
Πού εντάσσεται το FlexyConsent
Το FlexyConsent υποστηρίζει το IAB TCF 2.4 και το Google Consent Mode v2 και είναι CMP πιστοποιημένο από τη Google (CMP ID 317). Όποια μέθοδο μπλοκαρίσματος κι αν επιλέξετε, ο ρόλος του banner είναι να δίνει στον κώδικά σας ένα σαφές σήμα για το τι επέλεξε ο επισκέπτης. Δική σας δουλειά είναι να φροντίσετε ότι κάθε script το τηρεί.
Βασικά συμπεράσματα
- Τα scripts που φορτώνουν πριν επιλέξει ο επισκέπτης αναιρούν τον σκοπό του banner.
- Η αλλαγή type, τα triggers του tag manager και η δυναμική φόρτωση ταιριάζουν η καθεμία σε διαφορετικό είδος ιστότοπου.
- Τα scripts που εισάγονται από άλλα scripts είναι η πιο συχνή διαρροή.
- Διαχειριστείτε τους επισκέπτες που επιστρέφουν και την ανάκληση, όχι μόνο την πρώτη επίσκεψη.
- Δοκιμάστε σε καθαρό παράθυρο ιδιωτικής περιήγησης με ανοιχτά τα εργαλεία προγραμματιστή πριν αγγίξετε το banner.