← Back to blog

Consent Mode v2 ρύθμιση: οδηγός για διαχειριστές site

August 16, 2026
Consent Mode v2 ρύθμιση: οδηγός για διαχειριστές site

Ρυθμίστε και στείλτε και τις τέσσερις παραμέτρους του Consent Mode v2 πριν κάνετε οτιδήποτε άλλο: ad_storage, analytics_storage, ad_user_data και ad_personalization. Αυτές οι τέσσερις τιμές είναι απαραίτητες για πλήρη λειτουργία εξατομίκευσης και μοντελοποίησης μετατροπών σύμφωνα με την τεχνική τεκμηρίωση της Google, σύμφωνα με την επίσημη τεκμηρίωση Google για Consent Mode v2. Αν έχετε ήδη υλοποιήσει το v1 με μόνο ad_storage και analytics_storage, η εγκατάσταση δεν είναι πλήρης.

  • Τέσσερις παράμετροι v2: ad_storage, analytics_storage, ad_user_data, ad_personalization — όλες υποχρεωτικές για EEA traffic.
  • Επόμενο βήμα: ολοκληρώστε το mapping της CMP στο Google Tag Manager (GTM) και επιλέξτε advanced ή basic υλοποίηση ανάλογα με τις ανάγκες σας.
  • Σημείο συμμόρφωσης: το Consent Mode είναι τεχνικό πρωτόκολλο σημάτων. Δεν αντικαθιστά το νομικό banner ή το CMP — χρειάζεστε και τα δύο.

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

Η σωστή ρύθμιση Consent Mode v2 απαιτεί και τις τέσσερις παραμέτρους (ad_storage, analytics_storage, ad_user_data, ad_personalization), σωστή σειρά φόρτωσης scripts, και επαλήθευση με GTM Preview και network pings πριν το production publish.

ΣημείοΛεπτομέρειες
Τέσσερις παράμετροι v2Ρυθμίστε ad_storage, analytics_storage, ad_user_data, ad_personalization — όλες μαζί, όχι μόνο τις δύο παλιές.
Σειρά φόρτωσηςΟ κώδικας gtag('consent','default',...) πρέπει να βρίσκεται πάντα πριν το GTM container snippet.
Advanced vs basicΤο advanced mode στέλνει cookieless pings και επιτρέπει conversion modelling ακόμα και όταν ο χρήστης αρνείται.
Νομική υποχρέωσηΤο Consent Mode δεν αντικαθιστά το CMP/banner — χρειάζεστε και τα δύο για συμμόρφωση με GDPR.
Synapsis-mediaΑναλαμβάνει audit, υλοποίηση GTM και CMP integration με δοκιμές και υποστήριξη μετά παράδοση.

Πίνακας περιεχομένων

Ποια αρχιτεκτονική συγκατάθεσης λειτουργεί στην πράξη;

Η λογική ροή είναι: CMP → site (dataLayer) → GTM → tags (GA4, Google Ads). Κάθε κομμάτι έχει συγκεκριμένο ρόλο και η σειρά φόρτωσης είναι κρίσιμη.

ΣτρώμαΡόλοςΤι στέλνει
CMP / bannerΣυλλέγει επιλογή χρήστηΚατάσταση συγκατάθεσης (granted/denied)
Site / dataLayerΜεταφέρει κατάσταση στο GTMdataLayer.push με consent update
Google Tag / GTMΔιαβάζει σήματα, ελέγχει tagsΑρχική κατάσταση + ενημερώσεις
GA4 / Google AdsΕκτελούν ή αναστέλλουνPings, events, conversions

Για basic deployment, το GTM μπλοκάρει όλα τα tags μέχρι ο χρήστης να αλληλεπιδράσει με το banner. Για advanced deployment, τα tags φορτώνουν αμέσως με default τιμές denied και στέλνουν cookieless pings — αυτό επιτρέπει μοντελοποίηση ακόμα και όταν ο χρήστης αρνείται, σύμφωνα με τον οδηγό ρύθμισης GTM. Το advanced είναι η προτεινόμενη επιλογή για e-shop που θέλουν να διατηρήσουν conversion modelling.

Για EEA επισκέπτες, η προεπιλεγμένη κατάσταση πρέπει να είναι denied για όλες τις παραμέτρους μέχρι να δοθεί ρητή συγκατάθεση. Για επισκέπτες εκτός EEA μπορείτε να ορίσετε granted ως default, εφόσον το επιτρέπει η νομοθεσία της χώρας τους.

Επαγγελματική συμβουλή: φορτώστε το CMP script και τον κώδικα αρχικής κατάστασης (default consent state) πάντα πριν το GTM container snippet. Αν το GTM φορτώσει πρώτο, τα tags μπορεί να εκτελεστούν χωρίς να έχουν λάβει ποτέ τις αρχικές τιμές.


Βήμα 1: Προετοιμασία

Πριν ανοίξετε το GTM, ελέγξτε τρία πράγματα: ποιο CMP χρησιμοποιείτε (CookiePilot, Biscotti ή custom), αν έχετε ήδη Google tag (gtag.js) ή φορτώνετε μέσω GTM, και αν υπάρχει ήδη κάποια παλιά υλοποίηση v1 που πρέπει να αντικατασταθεί.

Τοποθετήστε αυτόν τον κώδικα πριν το GTM snippet, στο <head> της σελίδας:

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'wait_for_update': 500
  });
</script>

Το wait_for_update (σε milliseconds) δίνει χρόνο στο CMP να φορτώσει και να στείλει ενημέρωση πριν τα tags αποφασίσουν αν θα εκτελεστούν.

Όταν ο χρήστης επιλέξει στο banner, το CMP πρέπει να στείλει:

gtag('consent', 'update', {
  'ad_storage': 'granted',
  'analytics_storage': 'granted',
  'ad_user_data': 'granted',
  'ad_personalization': 'granted'
});

Ή μέσω dataLayer:

window.dataLayer.push({
  'event': 'consent_update',
  'ad_storage': 'granted',
  'analytics_storage': 'denied',
  'ad_user_data': 'granted',
  'ad_personalization': 'denied'
});

Βήμα 4: Ρύθμιση στο GTM

Στο GTM, μεταβείτε σε κάθε tag (GA4, Google Ads) και στο Advanced Settings → Consent Settings ορίστε ποιες παράμετροι απαιτούνται για να εκτελεστεί το tag. Για GA4 Configuration tag: analytics_storage. Για Google Ads Conversion tag: ad_storage και ad_user_data.

Δημιουργήστε trigger τύπου Custom Event με όνομα consent_update για να ενεργοποιείτε τα tags μετά την ενημέρωση. Για το advanced pattern, τα tags φορτώνουν αμέσως αλλά αλλάζουν συμπεριφορά μόλις λάβουν το update.

Βήμα 5: Preview και publish

Χρησιμοποιήστε το GTM Preview για να επιβεβαιώσετε ότι τα consent events εμφανίζονται στο timeline. Δοκιμάστε πρώτα σε staging environment και μόνο μετά από επιτυχή έλεγχο κάντε publish στο production.

Επαγγελματική συμβουλή: χρησιμοποιήστε event-driven dataLayer updates αντί για inline scripts στα component files. Έτσι το CMP ελέγχει πότε στέλνεται η ενημέρωση, χωρίς να εξαρτάται από τη σειρά φόρτωσης άλλων scripts.


Πώς αντιστοιχίζετε τις κατηγορίες CMP στις παραμέτρους v2

Κάθε CMP χρησιμοποιεί δικές του κατηγορίες — πρέπει να τις μεταφράσετε στις παραμέτρους που καταλαβαίνει η Google. Η χρήση πιστοποιημένου CMP partner απλοποιεί αυτό το mapping, αλλά η τελική ευθύνη για τη σωστή αντιστοίχιση παραμένει στον διαχειριστή του site.

Κατηγορία CMPΠαράμετρος v2Σημείωση
Advertising / Marketingad_storage, ad_user_data, ad_personalizationΚαι οι τρεις μαζί για remarketing
Analytics / Statisticsanalytics_storageΜόνο μέτρηση, χωρίς εξατομίκευση
Functional / NecessaryΚαμία (πάντα granted)Δεν χρειάζεται consent signal
Personalizationad_personalizationΞεχωριστά αν το CMP το διαχωρίζει

Για CMPs που υλοποιούν το TCF 2.3 (Transparency and Consent Framework), η TC string πρέπει να μεταφράζεται σε boolean flags πριν σταλεί στο dataLayer. Παράδειγμα για custom CMP:

// Μετά την ανάγνωση TC string από το CMP
window.dataLayer.push({
  'event': 'consent_update',
  'ad_storage': tcData.purposeConsents[1] ? 'granted' : 'denied',
  'analytics_storage': tcData.purposeConsents[1] ? 'granted' : 'denied',
  'ad_user_data': tcData.purposeConsents[1] ? 'granted' : 'denied',
  'ad_personalization': tcData.purposeConsents[3] ? 'granted' : 'denied'
});

Τα Google Ads signals (για Smart Bidding) εξαρτώνται κυρίως από ad_storage και ad_user_data. Αν αυτά είναι denied, το Google Ads χάνει σήματα μετατροπών για τον συγκεκριμένο χρήστη.


Πώς επηρεάζονται GA4 και Google Ads από τη λειτουργία συγκατάθεσης v2

Το v2 άλλαξε ουσιαστικά τι μπορεί να κάνει η Google με τα δεδομένα χρήστη. Τα ad_user_data και ad_personalization δεν υπήρχαν στο v1 — χωρίς αυτά, η Google δεν επιτρέπει χρήση δεδομένων για εξατομίκευση ακόμα και αν το ad_storage είναι granted.

Κατάσταση συγκατάθεσηςGA4Google Ads
Όλα grantedΠλήρης μέτρηση, cookies, audiencesΠλήρης conversion tracking, remarketing
Μόνο analytics_storage grantedΜέτρηση με cookies, χωρίς ad audiencesCookieless pings, μοντελοποίηση
Μόνο ad_storage grantedCookieless GA4 pingsConversion tracking χωρίς εξατομίκευση
Όλα denied (advanced)Cookieless pings για μοντελοποίησηConsent state pings, key event pings
Όλα denied (basic)Κανένα δεδομένοΚανένα δεδομένο

Στο advanced mode, όταν ο χρήστης αρνείται, τα Google προϊόντα λαμβάνουν consent state pings και key event pings χωρίς cookies. Αυτά τα δεδομένα τροφοδοτούν το μοντέλο μετατροπών για να αποκαταστήσει μερικώς τα κενά. Στο basic mode, αν ο χρήστης δεν αλληλεπιδράσει με το banner, δεν στέλνεται τίποτα.

Για e-shop με σημαντικό EEA traffic, η επιλογή advanced είναι πρακτικά αναγκαία για να διατηρηθεί η ποιότητα του conversion modelling στο Google Ads και να μην καταρρεύσουν τα remarketing audiences. Η επίπτωση στα remarketing audiences είναι άμεση: χωρίς ad_personalization, δεν δημιουργούνται νέα audience segments.


Πώς ελέγχετε και κάνετε debugging μετά την υλοποίηση

Ο έλεγχος πρέπει να γίνει σε καθαρό περιβάλλον — incognito browser, χωρίς cached cookies, σε staging πριν το production.

Με GTM Preview: ανοίξτε το preview mode και παρατηρήστε το timeline events. Πρέπει να βλέπετε consent_default πριν από οποιοδήποτε tag event, και consent_update μετά την αλληλεπίδραση με το banner.

Με browser devtools (Network tab): αναζητήστε requests προς google-analytics.com ή googletagmanager.com. Ελέγξτε τα query parameters:

  • gcs: consent state (π.χ. G100 = analytics denied, ads denied)
  • gcd: consent default state
  • Απουσία _ga cookie όταν analytics_storage είναι denied

Πρακτικά test cases που πρέπει να καλύψετε:

  1. Νέος επισκέπτης χωρίς αλληλεπίδραση: κανένα cookie, μόνο cookieless pings (advanced) ή τίποτα (basic).
  2. Χρήστης που δέχεται μόνο analytics: GA4 cookie γράφεται, Ads tags χωρίς cookie.
  3. Χρήστης που δέχεται μόνο διαφήμιση: Ads cookie γράφεται, GA4 cookieless.
  4. Πλήρης αποδοχή: όλα τα cookies γράφονται, όλα τα tags εκτελούνται κανονικά.
  5. Άρνηση → αποδοχή: το consent update event πρέπει να εκτελεστεί και τα tags να ενεργοποιηθούν αμέσως.

Βασική αρχή debugging: αν δεν βλέπετε consent_default event στο GTM Preview timeline πριν από οποιοδήποτε tag, η σειρά φόρτωσης είναι λανθασμένη. Το GTM container φορτώνει πριν τον κώδικα αρχικής κατάστασης — αυτό είναι το πιο συχνό πρόβλημα που βλέπουμε σε νέες υλοποιήσεις.

Για rollback: διατηρήστε πάντα το προηγούμενο GTM version ενεργό ως fallback. Αν κάτι πάει στραβά στο production, η επαναφορά γίνεται σε λίγα δευτερόλεπτα από το GTM Versions panel.


Ποια είναι τα πιο συχνά λάθη και πώς τα διορθώνετε

  • Παράλειψη ad_user_data και ad_personalization: η πιο συχνή παράλειψη. Το site φαίνεται να λειτουργεί, αλλά τα remarketing audiences δεν χτίζονται και η εξατομίκευση διαφημίσεων είναι ανενεργή. Λύση: προσθέστε και τις δύο παραμέτρους στον κώδικα default και update.

  • Λανθασμένη σειρά φόρτωσης: το GTM snippet φορτώνει πριν τον κώδικα αρχικής κατάστασης. Αποτέλεσμα: τα tags εκτελούνται με άγνωστη κατάσταση. Λύση: ο κώδικας gtag('consent','default',...) πρέπει να βρίσκεται πάντα πριν το <script src="...gtm.js">.

  • Μη έλεγχος basic vs advanced συμπεριφοράς: διαχειριστές που νομίζουν ότι έχουν advanced αλλά στην πράξη έχουν basic — ή το αντίστροφο. Ελέγξτε στο GTM container settings αν το "Enable consent overview" είναι ενεργό και αν τα tags έχουν ρυθμιστεί με consent checks.

  • Σφάλματα mapping TC string: η μετάφραση TCF 2.3 purpose IDs σε v2 parameters δεν είναι πάντα 1:1. Ελέγξτε ότι το purpose 1 (Store and/or access information on a device) αντιστοιχεί σωστά σε ad_storage και analytics_storage, και το purpose 3 (Create a personalised ads profile) σε ad_personalization.

  • Απουσία consent update event trigger στο GTM: αν δεν υπάρχει trigger για το consent_update event, τα tags δεν ενεργοποιούνται μετά την αποδοχή. Ο χρήστης δίνει συγκατάθεση αλλά η σελίδα δεν στέλνει τίποτα μέχρι το επόμενο page load.


Το Consent Mode είναι τεχνικό πρωτόκολλο. Μεταφέρει σήματα από το banner στα Google tags. Δεν αποφασίζει αν η συγκατάθεση είναι νόμιμη, δεν καταγράφει αποδείξεις συναίνεσης και δεν αντικαθιστά την υποχρέωση για ενημερωτική πολιτική cookies. Αυτό το ξεκαθαρίζει και η ίδια η Google: χρειάζεστε ένα compliant CMP ή banner που να πληροί τις απαιτήσεις του GDPR.

Νομική υποχρέωση: το EDPB (European Data Protection Board) επιμένει ότι η συναίνεση πρέπει να είναι ελεύθερη, ειδική, ενημερωμένη και ρητή. Τεχνικά εργαλεία όπως το Consent Mode δεν εξαλείφουν αυτές τις απαιτήσεις — τις υποστηρίζουν μόνο εφόσον το banner τις πληροί. Για εταιρείες που δραστηριοποιούνται στην Ελλάδα, η Αρχή Προστασίας Δεδομένων Προσωπικού Χαρακτήρα παρέχει τοπικές κατευθύνσεις για τη χρήση cookies και τη συλλογή συγκατάθεσης.

Επίσης, το Digital Markets Act αποτέλεσε ένα από τα κίνητρα για την υποχρέωση του v2 για EEA traffic — η Google όρισε το Consent Mode v2 ως απαίτηση για διαφημιζόμενους με EEA traffic από τον μάρτιο 2024.

Ένα πρακτικό όριο που συχνά αγνοείται: το conversion modelling λειτουργεί μόνο όταν υπάρχει αρκετός όγκος δεδομένων. Αν ο ιστότοπός σας έχει λίγες μετατροπές, το μοντέλο δεν μπορεί να συμπληρώσει τα κενά αξιόπιστα. Σε αυτή την περίπτωση, η ποιότητα των αναφορών θα είναι μειωμένη, ανεξάρτητα από το πόσο σωστά έχετε ρυθμίσει το Consent Mode.


Τι δεν αντικαθιστά το Consent Mode — νομικό πλαίσιο και τεχνικά όρια — overview diagram

Checklist υλοποίησης: template dataLayer και κριτήρια αποδοχής

Στάδια υλοποίησης

  1. Εγκατάσταση CMP (CookiePilot, Biscotti ή άλλο): ρύθμιση banner, κατηγοριών και γεωγραφικών κανόνων (EEA = denied by default).
  2. Ρύθμιση GTM container: ενεργοποίηση consent overview, έλεγχος υπάρχοντος Google tag.
  3. Κώδικας αρχικής κατάστασης: τοποθέτηση gtag('consent','default',...) πριν το GTM snippet.
  4. Mapping κατηγοριών CMP: αντιστοίχιση κατηγοριών banner με τις τέσσερις παραμέτρους v2.
  5. Υλοποίηση dataLayer pushes: consent update events για κάθε επιλογή χρήστη.
  6. Ρύθμιση tags στο GTM: Advanced Settings → Consent Settings για GA4 και Google Ads tags.
  7. Δοκιμές σε staging: όλα τα test cases (βλ. ενότητα debugging).
  8. Publish στο production και παρακολούθηση metrics για 1–2 εβδομάδες.

Template dataLayer για τις τέσσερις παραμέτρους

// Αρχική κατάσταση (πριν το GTM snippet)
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
  'ad_storage':          'denied',   // Cookies για διαφήμιση
  'analytics_storage':   'denied',   // Cookies για analytics
  'ad_user_data':        'denied',   // Αποστολή δεδομένων χρήστη για ads
  'ad_personalization':  'denied',   // Εξατομίκευση / remarketing
  'wait_for_update':     500
});

// Ενημέρωση μετά από επιλογή χρήστη (από CMP callback)
window.dataLayer.push({
  'event':               'consent_update',
  'ad_storage':          userChoice.advertising ? 'granted' : 'denied',
  'analytics_storage':   userChoice.analytics   ? 'granted' : 'denied',
  'ad_user_data':        userChoice.advertising ? 'granted' : 'denied',
  'ad_personalization':  userChoice.advertising ? 'granted' : 'denied'
});

Κριτήρια αποδοχής πριν το production publish

ΚριτήριοΤι να ελέγξετε
Αρχική κατάστασηconsent_default event εμφανίζεται πρώτο στο GTM Preview timeline
Cookieless pingsNetwork requests χωρίς _ga/_gcl cookies όταν denied (advanced mode)
Consent updateconsent_update event ενεργοποιεί σωστά tags μετά αποδοχή
Απουσία cookie writesΚανένα ad/analytics cookie όταν όλα denied
AudiencesΤα GA4 audiences αρχίζουν να χτίζονται μετά πλήρη αποδοχή

Μια παρατήρηση από την εμπειρία μας

Το πιο συχνό πρόβλημα που βλέπουμε σε sites που «νομίζουν ότι έχουν Consent Mode v2» είναι ότι έχουν μόνο τα δύο παλιά flags. Το banner λειτουργεί, το GTM φορτώνει, αλλά ad_user_data και ad_personalization δεν στέλνονται πουθενά. Αποτέλεσμα: μηδενικά remarketing audiences και μειωμένη μοντελοποίηση μετατροπών — χωρίς κανένα error message που να το δείχνει.

Ο ρυθμός rollout που προτείνουμε είναι σταδιακός: staging για τεχνικό έλεγχο, μετά pilot σε ένα τμήμα της κίνησης με παρακολούθηση metrics για 1–2 εβδομάδες, και τέλος πλήρης ενεργοποίηση στο production. Αυτό δίνει χρόνο να επιβεβαιωθεί ότι το modeling λειτουργεί και τα audiences χτίζονται σωστά πριν εκτεθεί ολόκληρη η κίνηση.


Η Synapsis-media αναλαμβάνει την υλοποίηση και τον έλεγχο

Αν έχετε ήδη κάποια υλοποίηση αλλά δεν είστε σίγουροι αν καλύπτει και τις τέσσερις παραμέτρους v2, ή αν θέλετε να αποφύγετε τα λάθη που περιγράψαμε παραπάνω, η Synapsis-media αναλαμβάνει πλήρη audit και υλοποίηση.

Synapsis-media

Παραδίδουμε: έλεγχο υπάρχουσας ρύθμισης GTM, ολοκληρωμένη υλοποίηση Consent Mode v2 με mapping CMP, ενσωμάτωση GA4 και Google Ads, δοκιμές σε staging και production, και υποστήριξη μετά την παράδοση. Δουλεύουμε με e-shop και ιστότοπους που χρειάζονται μετρήσιμα αποτελέσματα — όχι θεωρητικές ρυθμίσεις. Για GA4 και GTM υποστήριξη που συνδέεται με τις βέλτιστες πρακτικές, η τεχνική εκτέλεση κάνει τη διαφορά. Επικοινωνήστε μαζί μας στη Synapsis-media για δωρεάν εκτίμηση του έργου σας.


Πηγές

Προτεινόμενα