Google Consent Mode v2?

Здравейте, колеги!

Мъча се от няколко дни да настроя на едно сайтче Consent Mode v2 без плъгини и без CMP, тоест напълно и 100% безплатно. Ама ми се струва, че все удрям греда.

Може ли някои да сподели статия или някакъв адекватен ресурс, който сте ползвали, за настройка на Consent Mode v2. Единственото ми условие е да не се ползва шаблона на Google Ads, тъй като не съм рекламодател и доколкото разбирам това не е достъпно за мен.

Благодаря предварително.
 
Благодаря!

Нещо обаче явно ми обягва. Този урок го следих стъпка по стъпка и пак накрая ga бискитите си се лепват още преди да се появи банера. И без оглед на избора - отказ или приемане на бисквитите, едни и същи се закачат.

Вярно, че са само 4 - две на Гугъл, една за банера и една за един попъп, ама все пак... Не би ли трябвало да не се закачат?

Също така разните тестъри дали сайта comply-ва с GCM v2 ми казват, че отговора е не...
 
Благодаря!

Нещо обаче явно ми обягва. Този урок го следих стъпка по стъпка и пак накрая ga бискитите си се лепват още преди да се появи банера. И без оглед на избора - отказ или приемане на бисквитите, едни и същи се закачат.

Вярно, че са само 4 - две на Гугъл, една за банера и една за един попъп, ама все пак... Не би ли трябвало да не се закачат?

Също така разните тестъри дали сайта comply-ва с GCM v2 ми казват, че отговора е не...
Най-вероятно проблемът не е в самия Consent Mode, а в начина, по който се зарежда Google Tag.

Consent Mode v2 не блокира автоматично бисквитките. Ако <span>gtag.js</span> или Google Tag Manager се зареждат преди да зададеш <span>consent default</span> със стойности <span>denied</span>, те могат да създадат бисквитки още преди потребителят да е избрал.

Правилната последователност е:

Първо се изпраща <span>gtag('consent', 'default', {... denied ...})</span>.
След това се зарежда Google Tag.
Едва след избор "Приемам" се изпраща <span>gtag('consent', 'update', {... granted ...})</span>.

Ако искаш изобщо да няма GA бисквитки преди съгласие, само Consent Mode често не е достатъчен. Нужно е и реално блокиране на Analytics/Ads скриптовете до момента на съгласие (или използване на режим, при който те не се изпълняват преди избора).

За да се разбере какво точно се случва, дай линк към сайта. Така може да се види дали:

<span>gtag.js</span> се зарежда прекалено рано
<span>consent default</span> се изпълнява след него
някой друг скрипт (GTM, плъгин, тема и т.н.) създава бисквитките
Това обикновено се хваща за 2-3 минути с DevTools
 
Последно редактирано:
Отново благодаря!

Може би и самата ми цел е леко объркваща. Аз искам едновременно да няма бисквитки на Google Analytics (за да се съобразено с регулациите), но ми се иска и все пак да знам колко посещения имам.
Нали целта на тези регулации е да се запазят "личните данни" на потребителите, аз в Analytics не мога да разбера кой кой е, а в същото време бисквитките са забранени, без съгласието на потребителя.

Наистина не съм сигурен какво и как да направя... И това е на сайт с 4 бисквитки. Ами ако сложим и cloudflare и WordPress и плъгини? Тогава как се контролират ?
 
Според мен тук е объркването – Consent Mode v2 не цели да премахне Analytics, а да го накара да работи според избора на потребителя.

Не всички бисквитки са проблем. Необходимите (сесия, Cloudflare и др.) могат да съществуват, но аналитичните (_ga и др.) не трябва да се създават преди съгласие.

Аз първо бих проверил дали реално се записват _ga бисквитки преди избора, или тестърът просто отчита, че Google Tag е зареден. Това са две различни неща
 
Зареждат се бисквитките преди изобра.

Как бих могъл да подавам данни към Аналитикс ("анонимизирани" или както ги наричат), без да се зареждат _ga?

Аз успявам да постигна само крайности - или има бисквитки и имам данни без никакво значение какво избира потребителя, или няма бисквитки и няма данни - отново без значение какво избира потребителя.
 
Решението е да не блокираш Google Tag изцяло, а първо да зададеш Consent Mode с <span>denied</span>, и чак след това да заредиш GA4.

Редът трябва да е такъв:

Преди Google tag-а:
<span>&lt;script&gt;<br>window.dataLayer = window.dataLayer || [];<br>function gtag(){dataLayer.push(arguments);}<br><br>gtag('consent', 'default', {<br> analytics_storage: 'denied',<br> ad_storage: 'denied',<br> ad_user_data: 'denied',<br> ad_personalization: 'denied'<br>});<br>&lt;/script&gt;</span>

След това зареждаш GA4:
<span>&lt;script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"&gt;&lt;/script&gt;<br>&lt;script&gt;<br>gtag('js', new Date());<br>gtag('config', 'G-XXXXXXX');<br>&lt;/script&gt;</span>
При „Приемам“ пускаш:
<span>gtag('consent', 'update', {<br> analytics_storage: 'granted',<br> ad_storage: 'granted',<br> ad_user_data: 'granted',<br> ad_personalization: 'granted'<br>});</span>
Ако при <span>denied</span> пак се създават <span>_ga</span> бисквитки, значи някъде друг скрипт зарежда GA/GTM преди този код, или има дублиран Google tag.
 

Горе