Οδηγός Ενσωμάτωσης Συγκατάθεσης Cookies για το Amplitude Product Analytics: Εγχειρίδιο Υλοποίησης 2026
Το Amplitude κατέχει μια ασυνήθιστη θέση στο σύγχρονο stack δεδομένων. Δεν είναι ακριβώς διαχειριστής ετικετών, δεν είναι ακριβώς πλατφόρμα δεδομένων πελατών και δεν είναι ακριβώς εργαλείο αναλυτικής μάρκετινγκ — είναι ένα προϊόν συμπεριφορικής αναλυτικής σχεδιασμένο να καταγράφει κάθε αλληλεπίδραση που έχει ένας χρήστης με ένα ψηφιακό προϊόν, να συνδέει αυτά τα γεγονότα σε συνεδρίες και διαδρομές χρηστών, και να επιστρέφει το αποτέλεσμα στον πειραματισμό, την εξατομίκευση και την απόδοση εσόδων. Αυτός ο πλούτος είναι αυτό που κάνει το προϊόν πολύτιμο. Είναι επίσης αυτό που κάνει τη συγκατάθεση την πιο σημαντική απόφαση ενσωμάτωσης που θα λάβει μια ομάδα κατά την ανάπτυξή του. Κάντε το σωστά και το Amplitude θα σας δώσει αξιόπιστες αναλύσεις προϊόντων για χρόνια. Κάντε το λάθος και το ίδιο SDK γίνεται ένα από τα πιο ορατά στοιχεία στη λίστα επιβολής ενός ρυθμιστή, διότι τα SDK συμπεριφορικής αναλυτικής που ενεργοποιούνται πριν από τη συγκατάθεση είναι ακριβώς το μοτίβο που η ομάδα εργασίας για τα banner cookies του EDPB, η CNIL και το ICO έχουν στοχεύσει τα τελευταία τρία χρόνια.
Γιατί το Amplitude απαιτεί συγκατάθεση
Το προεπιλεγμένο Amplitude Browser SDK και τα κινητά SDK του Amplitude κάνουν πολύ περισσότερα από το να καταγράφουν απλώς προβολές σελίδων. Κατά την αρχικοποίηση ορίζουν αναγνωριστικό συσκευής στην αποθήκευση πρώτου μέρους, δημιουργούν αναγνωριστικό συνεδρίας, καταγράφουν τον referrer, αναλύουν τα αναγνωριστικά UTM και κλικ από το URL και αρχίζουν να τοποθετούν σε ουρά αυτόματα καταγραμμένα γεγονότα: προβολές σελίδας, κλικ στοιχείων, αλληλεπιδράσεις φορμών, λήψεις αρχείων και — στις τελευταίες εκδόσεις — επαναλήψεις συνεδρίας. Θα εμπλουτίσουν επίσης αυτά τα γεγονότα με γεωτοποθεσία που προέρχεται από IP, δεδομένα συσκευής που προέρχονται από τον user-agent και, εάν έχει ρυθμιστεί, εμπλουτισμό τρίτων από συνεργάτες δεδομένων.
Καθένα από αυτά τα βήματα εμπλέκει ξεχωριστή νομική βάση συγκατάθεσης. Η αποθήκευση αναγνωριστικού συσκευής είναι μια λειτουργία αποθήκευσης και πρόσβασης σύμφωνα με το άρθρο 5(3) της οδηγίας ePrivacy, που απαιτεί προηγούμενη, ελεύθερα δεδομένη, ειδική, ενημερωμένη και αδιαμφισβήτητη συγκατάθεση στον Ευρωπαϊκό Οικονομικό Χώρο, το Ηνωμένο Βασίλειο και κάθε δικαιοδοσία που έχει υιοθετήσει το ίδιο πρότυπο. Η καταγραφή συμπεριφορικών γεγονότων συνδεδεμένων με αυτό το αναγνωριστικό είναι επεξεργασία δεδομένων προσωπικού χαρακτήρα σύμφωνα με τον GDPR. Ο εμπλουτισμός με δεδομένα τρίτων εισάγει μια δεύτερη σχέση ελεγκτή. Η CCPA και η CPRA κατατάσσουν την ίδια επεξεργασία ως πώληση ή κοινοποίηση εκτός εάν ο εκδότης έχει συμβόλαιο παρόχου υπηρεσιών κατάλληλα διαμορφωμένο με το Amplitude — που είναι διαθέσιμο, αλλά μόνο εάν η ενσωμάτωση έχει ρυθμιστεί για απενεργοποίηση των διαφημιστικών λειτουργιών.
Τι συλλέγει το Amplitude πριν από τη συγκατάθεση — και τι πρέπει να αποκλείσετε
Το πιο συνηθισμένο σφάλμα υλοποίησης είναι η αντιμετώπιση του Amplitude ως ελαφρού εργαλείου αναλυτικής που μπορεί να εκτελείται δίπλα στο banner cookies. Δεν μπορεί. Σε μια προεπιλεγμένη κλήση amplitude.init() το SDK θα γράψει κατά την πρώτη απόδοση της σελίδας τουλάχιστον μία εγγραφή cookie ή τοπικής αποθήκευσης, θα στείλει μια κλήση identify και θα αρχίσει να αποθηκεύει γεγονότα στην buffer. Τίποτα από αυτά δεν επιτρέπεται πριν ένας χρήστης αποδεχτεί θετικά τη σχετική κατηγορία συγκατάθεσης.
Μια συμβατή ενσωμάτωση πρέπει επομένως να καθυστερεί το amplitude.init() μέχρι το CMP να σηματοδοτήσει ότι η κατηγορία αναλυτικής συγκατάθεσης έχει χορηγηθεί. Το SDK δεν πρέπει να φορτώνεται καθόλου από μια ετικέτα <script> ελεγχόμενη από συγκατάθεση που εξαρτάται από το σήμα σκοπού 8 (αναλυτική) ή σκοπού 1 (αποθήκευση και πρόσβαση) του CMP. Εάν το SDK πρέπει να φορτωθεί νωρίτερα — για παράδειγμα επειδή είναι ενσωματωμένο στον κώδικα εφαρμογής και δεν μπορεί να ανακτηθεί τεμπέλικα — η κλήση αρχικοποίησης θα πρέπει να μεταβιβάσει defaultTracking: false και optOut: true ώστε κανένα γεγονός να μην εκπέμπεται μέχρι να καταγραφεί η συγκατάθεση, και στη συνέχεια ένα αναβαλλόμενο opt-in γεγονός πρέπει να αναστρέψει αυτές τις σημαίες.
Τα cookies και η αποθήκευση που γράφει το Amplitude
Το Browser SDK 2.x γράφει από προεπιλογή ένα μοναδικό cookie πρώτου μέρους με το όνομα AMP_{apiKey}, με λήξη ενός έτους, που περιέχει το αναγνωριστικό συσκευής και τα metadata συνεδρίας. Παλαιότερες εκδόσεις έγραφαν επίσης amplitude_id_{apiKey}. Τα κινητά SDK διατηρούν το ίδιο αναγνωριστικό στην αποθήκευση sandbox της εφαρμογής. Η επανάληψη συνεδρίας προσθέτει ένα δεύτερο cookie, AMP_MKTG_{apiKey}, και οι συνεργάτες εμπλουτισμού του Amplitude ενδέχεται να ορίσουν πρόσθετα cookies τρίτων εάν τα modules στόχευσης πειραμάτων ή κοινού είναι ενεργοποιημένα. Όλα αυτά είναι μη βασικά και απαιτούν συγκατάθεση.
Αντιστοίχιση του Amplitude σε πλαίσια συγκατάθεσης
Το Amplitude δεν υλοποιεί εγγενώς το Google Consent Mode v2, το IAB TCF ή το IAB Global Privacy Platform. Αυτό δεν είναι ελάττωμα — το Amplitude είναι πλατφόρμα αναλυτικής πρώτου μέρους, όχι προμηθευτής ad-tech — αλλά σημαίνει ότι η ευθύνη ενσωμάτωσης ανήκει στον εκδότη. Το μοτίβο που λειτουργεί στην πράξη είναι να αντιμετωπίζετε κάθε module του Amplitude ως ξεχωριστή πύλη συγκατάθεσης και να το δεσμεύετε σε ένα συγκεκριμένο σήμα που το CMP εκθέτει ήδη.
- Βασικά γεγονότα αναλυτικής δεσμεύονται στον σκοπό αναλυτικής. Σε όρους TCF αυτό είναι συνήθως ο σκοπός 8 (μέτρηση απόδοσης περιεχομένου) σε συνδυασμό με τον σκοπό 1 (αποθήκευση και/ή πρόσβαση σε πληροφορίες). Για το Google Consent Mode αυτό αντιστοιχεί στο analytics_storage.
- Επανάληψη συνεδρίας πρέπει να βρίσκεται πίσω από αυστηρότερο σήμα. Η επανάληψη καταγράφει το αποδοθέν DOM, συμπεριλαμβανομένων των τιμών φορμών εκτός εάν αποκρυφτούν ρητά, οπότε είναι κατάλληλο ξεχωριστό opt-in για preferences ή functional, και η επανάληψη πρέπει να είναι προεπιλεγμένα απενεργοποιημένη ακόμα και όταν χορηγηθεί αναλυτική.
- Κοινό, cohorts και εμπλουτισμός τρίτων δεσμεύονται στον σκοπό μάρκετινγκ. Σε όρους TCF αυτό είναι σκοπός 7 (μέτρηση απόδοσης διαφημίσεων) ή σκοπός 9 (εφαρμογή έρευνας αγοράς). Για το Google Consent Mode αυτό αντιστοιχεί στο ad_storage και ad_user_data.
- Πειραματισμός — Το Amplitude Experiment μπορεί να εκτελείται με ανώνυμη, εφήμερη κατανομή βάσει νόμιμου συμφέροντος, αλλά η μόνιμη κατανομή συνδεδεμένη με αναγνωριστικό χρήστη απαιτεί την ίδια συγκατάθεση με την βασική αναλυτική.
Το μοτίβο ενσωμάτωσης που λειτουργεί
Η υλοποίηση αναφοράς που επιβιώνει από την αναθεώρηση ενός ρυθμιστή έχει τέσσερα κινούμενα μέρη: ένα CMP που εκθέτει ένα γεγονός πραγματικού χρόνου όταν ο χρήστης αλλάζει τη συγκατάθεση, ένα αναβαλλόμενο πρόγραμμα φόρτωσης SDK που ανακτά το Amplitude μόνο αφού εκπυρσοκροτηθεί αυτό το γεγονός για τη σχετική κατηγορία, ένα φύλακα επιπέδου συνεδρίας που σέβεται το opt-out χωρίς να χάσει το προηγούμενο ανώνυμο αναγνωριστικό συσκευής του χρήστη όπου ο νόμος το επιτρέπει, και μια γέφυρα από την πλευρά του διακομιστή για γεγονότα που απαιτούν πραγματικά συλλογή ανεξαρτήτως συγκατάθεσης — όπως τηλεμετρία ασφαλείας ή ανίχνευση απάτης — διαδρομής μέσω ξεχωριστού endpoint με τη δική του νομική βάση.
Υλοποίηση Web
Στον ιστό, το πιο καθαρό μοτίβο είναι να εκθέτετε την κατάσταση συγκατάθεσης του CMP μέσω ενός αντικειμένου window.__cmp_consent ή της τυπικής επιστροφής κλήσης __tcfapi, και στη συνέχεια ένα μικρό bootstrap script να εγγράφεται στις αλλαγές συγκατάθεσης. Όταν η αναλυτική συγκατάθεση αλλάζει από false σε true, το bootstrap ανακτά το Amplitude SDK από το CDN που διαχειρίζεται το CMP, καλεί amplitude.init(apiKey, undefined, { defaultTracking: true }) και επαναλαμβάνει τυχόν γεγονότα που ήταν σε ουρά στη μνήμη ενώ η συγκατάθεση ήταν εκκρεμής. Όταν η συγκατάθεση αναστρέφεται σε false, το bootstrap καλεί amplitude.setOptOut(true), διαγράφει το cookie AMP_ μέσω λήξης document.cookie και αφαιρεί κάθε κατάσταση στη μνήμη. Κρίσιμα, το bootstrap δεν πρέπει ποτέ να αρχικοποιεί τεμπέλικα το Amplitude στην ίδια ροή αιτήματος με την απόδοση banner — το SDK πρέπει να περιμένει μια ρητή χορήγηση.
Υλοποίηση Mobile
Στο iOS το ισοδύναμο είναι να διατηρήσετε το εισαγόμενο framework Amplitude αλλά να αναβάλετε το Amplitude.instance().initialize(apiKey: apiKey) μέχρι η ροή συγκατάθεσης εντός εφαρμογής να έχει επιστρέψει θετικό σήμα αναλυτικής. Η προτροπή ATT είναι ξεχωριστή ανησυχία: το ATT διέπει το IDFA, ενώ το αναγνωριστικό του Amplitude είναι το ίδιο UUID του SDK αποθηκευμένο στο sandbox εφαρμογής. Και τα δύο απαιτούν συγκατάθεση στον ΕΟΧ, αλλά οι νομικές βάσεις και οι προτροπές είναι διαφορετικές. Στο Android ισχύει η ίδια λογική με Amplitude.getInstance().initializeApolloClient() ή το ισοδύναμο ανάλογα με την έκδοση SDK.
Λειτουργία από την πλευρά διακομιστή
Το Amplitude υποστηρίζει λήψη από την πλευρά του διακομιστή μέσω της HTTP V2 API. Τα γεγονότα από την πλευρά του διακομιστή δεν εξαιρούνται από τη συγκατάθεση — η νομική βάση ακολουθεί τα δεδομένα, όχι τη μεταφορά — αλλά η λήψη από την πλευρά του διακομιστή δίνει στον εκδότη πλήρη έλεγχο για το ποια πεδία αποστέλλονται, κάτι που διευκολύνει την τήρηση μερικής συγκατάθεσης. Ένα συνηθισμένο μοτίβο είναι να καταγράφετε ένα ελάχιστο σύνολο γεγονότων μόνο βασικών από την πλευρά του διακομιστή υπό νόμιμο συμφέρον, και να εμπλουτίζετε αυτά τα γεγονότα με συμπεριφορικές λεπτομέρειες μόνο αφού ο χρήστης έχει χορηγήσει αναλυτική συγκατάθεση στον πελάτη.
Επικύρωση της ενσωμάτωσης
Το βήμα επικύρωσης είναι αυτό που οι εκδότες παραλείπουν πιο συχνά και που οι ρυθμιστές ελέγχουν πιο συχνά. Μια σωστά ενσωματωμένη ανάπτυξη Amplitude πρέπει να περάσει τέσσερις ελέγχους. Πρώτον, ένα πρόγραμμα περιήγησης με εμφανιζόμενο banner συγκατάθεσης αλλά χωρίς επιλογή πρέπει να παράγει μηδέν αιτήματα στο api.amplitude.com ή api.eu.amplitude.com και μηδέν cookies AMP_ στο document.cookie. Δεύτερον, η απόρριψη της κατηγορίας αναλυτικής πρέπει να διατηρεί αυτή την κατάσταση — κανένα γεγονός, κανένα cookie, καμία εγγραφή τοπικής αποθήκευσης με πρόθεμα AMP_. Τρίτον, η αποδοχή αναλυτικής πρέπει να παράγει ένα μοναδικό identify ακολουθούμενο από κίνηση γεγονότων, και το cookie AMP_ πρέπει να εμφανίζεται με χαρακτηριστικό SameSite συνεπές με την πολιτική CMP του εκδότη. Τέταρτον, η ανάκληση συγκατάθεσης εκ των υστέρων πρέπει να σταματά άμεσα τα περαιτέρω γεγονότα και να διαγράφει τα αποθηκευμένα αναγνωριστικά — η καθυστερημένη εκκαθάριση είναι εύρημα.
Το ίχνος ελέγχου έχει ξεχωριστή σημασία. Σύμφωνα με τις κατευθυντήριες γραμμές για τα banner cookies του EDPB του 2023 και τις ανανεωμένες προτεραιότητες της ομάδας εργασίας για το 2026, οι ρυθμιστές αναμένουν ο εκδότης να μπορεί να αποδείξει για οποιοδήποτε δεδομένο γεγονός στο project Amplitude ότι ο χρήστης που το δημιούργησε είχε δώσει έγκυρη συγκατάθεση κατά τη στιγμή της καταγραφής. Αυτό απαιτεί το αρχείο καταγραφής συγκατάθεσης του CMP να είναι ερωτήσιμο από αναγνωριστικό συσκευής ή αναγνωριστικό συνεδρίας, και το payload γεγονότος Amplitude να φέρει ένα πεδίο έκδοσης συγκατάθεσης που συνδέεται πίσω με αυτό το αρχείο. Η αποθήκευση της συμβολοσειράς συγκατάθεσης ως προσαρμοσμένης ιδιότητας χρήστη σε κάθε γεγονός είναι ο απλούστερος τρόπος να καταστεί αυτή η σύνδεση ελέγξιμη.
Επιλογή της σωστής περιοχής και κατοικίας δεδομένων
Το Amplitude λειτουργεί σε δύο περιοχές παραγωγής: ΗΠΑ (api.amplitude.com) και ΕΕ (api.eu.amplitude.com). Για την κυκλοφορία ΕΟΧ και Ηνωμένου Βασιλείου η περιοχή ΕΕ είναι η σωστή προεπιλογή — διατηρεί τα δεδομένα εντός του ΕΟΧ και μειώνει την επιφάνεια κινδύνου μεταφοράς που η απόφαση Schrems II και το Πλαίσιο Απορρήτου Δεδομένων ΕΕ-ΗΠΑ έχουν κάνει κεντρική για κάθε αναλυτική αναθεώρηση. Η αλλαγή περιοχών δεν είναι αναδρομική: τα υπάρχοντα δεδομένα παραμένουν εκεί που πρωτοχωνεύτηκαν. Για εκδότες που σχεδιάζουν κυκλοφορία CMP αξίζει επομένως να επιβεβαιώσετε την περιοχή πριν από την κλιμάκωση και να τεκμηριώσετε την επιλογή στην ειδοποίηση απορρήτου ώστε η αλυσίδα νομικής βάσης να είναι καθαρή από τη συλλογή έως την αποθήκευση. Μια σωστά επιλεγμένη περιοχή, σε συνδυασμό με ένα σωστά περιορισμένο SDK και ένα ερωτήσιμο αρχείο καταγραφής συγκατάθεσης, είναι αυτό που μετατρέπει μια ανάπτυξη Amplitude από ρυθμιστικό κίνδυνο σε ένα αξιόπιστο μέρος του αναλυτικού stack.