Hemos estado tratando de eliminar las Cookies que crea GTM cuando especificamos que el usuario no quiere que estén habilitadas.
Cargamos GTM lo primero de la cabecera, luego la librería de Cookies JS y finalmente nuestro siguiente código.
// Loaded page window.dataLayer = window.dataLayer || []; function gtag(){ dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'XX-XXXXXXXX-X'); if (cookiesEnabled) { // a variable that shows if they are enabled // Cookies accepted window['ga-disable-XX-XXXXXXXX-X'] = false } else { window['ga-disable-XX-XXXXXXXX-X'] = true } // Function to set the cookies function setCookies (accepted) { if (!accepted) { Cookies.set('_ga', undefined, { expires: -1, path: '', // Also tested with / domain: `.${document.domain}` }) Cookies.set('_gid', undefined, { expires: -1, path: '', // Also tested with / domain: `.${document.domain}` }) Cookies.set('_gat_gtag_XX_XXXXXXXX_X', undefined, { expires: -1, path: '', // Also tested with / domain: `.${document.domain}` }) // This was also tested Cookies.remove('_ga', { path: '', // Also tested with / domain: `.${document.domain}` }) Cookies.remove('_gid', { path: '', // Also tested with / domain: `.${document.domain}` }) Cookies.remove('_gat_gtag_XX_XXXXXXXX_X', { path: '', // Also tested with / domain: `.${document.domain}` }) } }Hemos probado esto en ambos sentidos, con set y remove. El código que se ejecuta en nuestra máquina local funciona perfectamente, las cookies se eliminan sin ningún problema, pero luego, cuando pasamos exactamente el mismo código a nuestro servidor de prueba, esas cookies no se eliminarán.
¿Hay algo que tal vez nos estamos perdiendo? No pudimos encontrar qué.