martes, 3 de septiembre de 2013

Ley de cookies. Como no cargar las cookies de analytics

A raíz de un articulo de Pablo Burgueño donde informaba sobre la notificación de un proceso sancionador a una empresa por no cumplir la Ley de Cookies, y como es un tema que desde hace tiempo me lleva preocupando por que nadie lo tiene claro, me puse a investigar como cumplirla.

Por lo que he podido averiguar (que alguien mas versado que yo me corrija si me equivoco), aquí en España se ha rizado el rizo, cuando la Ley Europea solo obliga a informar, aquí se obliga a no cargar absolutamente ninguna cookies, se debe pedir el consentimiento explicito del usuario antes de cargarlas.

Estudie el problema de carga de cookies para Wordpress y la forma de evitar esa carga, en la red se ofrecen plugins gratuitos para ello, pero realmente no impiden la carga de cookies antes de la aceptación por parte del usuario, cumplen la europea pero no la española. Una vez probados y descartados los plugins mas populares pensé en usar jQuery para cumplir con la Ley de Cookies y encontré de casualidad un plugin de pago que aparentemente, en su descripción cumplía con el requisito de no cargar las cookies, que además ofrecía una versión en GitHub que uno podía usar e implementar directamente en los sitios.

Como en el sitio elegido para las pruebas cargaba, entre otras; las cookies de Google Analytics, precisamente las que han originado el proceso sancionador, me centre en evitar su carga y realmente es posible hacerlo tanto en Wordpress como en Blogger.

Para ello debemos descargarnos estos ficheros con los dos plugins de jQuery necesarios. Una vez descargados, debéis editar jquery.cookiecuttr.js y donde pone AQUI LA URL DE TU PAGINA DE POLITICA DE PRIVACIDAD le insertáis la url completa de esa pagina en vuestros sitio. Guardáis los cambios y subís ambos ficheros a vuestro alojamiento. Ahora solo deberéis incluir en vuestro footer o plantilla lo siguiente (deberás modificar lo que esta en negrita):

<script src="URL ALOJAMIENTO/jquery.cookie.js"></script>
<script src="URL ALOJAMIENTO/jquery.cookiecuttr.js"></script>


<script>

$(document).ready(function () {
// activate cookie cutter
$.cookieCuttr({
cookieDeclineButton: true,
cookieAnalyticsMessage: "(NOMBRE DEL SITIO) solicita su permiso para obtener datos estadísticos anónimos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. "
});
});

if (jQuery.cookie('cc_cookie_accept') == "cc_cookie_accept") {
AQUI CODIGO DE ANALYTICS QUE TE PROPORCIONA GOOGLE
}

</script>

Esto evita la carga de las cookies de Analytics y hace aparecer una barra superior donde se pide el consentimiento expreso del usuario para su carga.

Os añado el CSS necesario para darle formato al aviso:

.cc-cookies { position:fixed; width: 90%; left: 0; top: 0; padding: 0.5em 5%; background: #565656; background: rgba(86,86,86,0.95); color: #fff; font-size: 13px; font-weight: 700; text-shadow: 0 -1px 0 rgba(0,0,0,0.35); z-index: 99999; text-align: center; color: #fff; }
.cc-cookies a, .cc-cookies a:hover { color: #fff; text-decoration: underline; }
.cc-cookies a:hover { text-decoration: none; }
.cc-overlay { height: 100%; padding-top: 25%; }
.cc-cookies-error { float: left; width: 90%; text-align: center; margin: 1em 0 2em 0; background: #fff; padding: 2em 5%; border: 1px solid #ccc; font-size: 18px; color: #333; }
.cc-cookies a.cc-cookie-accept, .cc-cookies-error a.cc-cookie-accept, .cc-cookies a.cc-cookie-decline, .cc-cookies-error a.cc-cookie-decline, .cc-cookies a.cc-cookie-reset { display: inline-block; color: #fff; text-decoration: none; background: #7DAF3B; padding: 0.5em 0.75em; border-radius: 3px; box-shadow: 0 0 2px rgba(0,0,0,0.25); text-shadow: 0 -1px 0 rgba(0,0,0,0.35); -o-transition: background 0.5s ease-in; -webkit-transition: background 0.25s ease-in; -moz-transition: background 0.25s ease-in; }
.cc-cookies a.cc-cookie-decline, .cc-cookies-error a.cc-cookie-decline { background: #af3b3b; margin-left: 0.5em; }
.cc-cookies a.cc-cookie-reset { background: #f15b00; }
.cc-cookies a:hover.cc-cookie-accept, .cc-cookies-error a:hover.cc-cookie-accept, .cc-cookies a:hover.cc-cookie-decline, .cc-cookies-error a:hover.cc-cookie-decline, .cc-cookies a:hover.cc-cookie-reset { background: #000; -o-transition: background 0.5s ease-in; -webkit-transition: background 0.25s ease-in; -moz-transition: background 0.25s ease-in; }
.cc-cookies-error a.cc-cookie-accept, .cc-cookies-error a.cc-cookie-decline { display: block; margin-top: 1em; }
.cc-cookies.cc-discreet { width: auto; padding: 0.5em 1em; left: auto; top: auto; }
.cc-cookies.cc-discreet a.cc-cookie-reset { background: none; text-shadow: none; padding: 0; text-decoration: underline; }
.cc-cookies.cc-discreet a:hover.cc-cookie-reset { text-decoration: none; }

@media screen and (max-width: 768px) {
.cc-cookies a.cc-cookie-accept, .cc-cookies a.cc-cookie-decline, .cc-cookies a.cc-cookie-reset { display: block; margin: 1em 0; }
}

@media screen and (max-width: 480px) {
.cc-cookies { position: relative; float: left; }
}

Creo que esto puede seguir de guía para evitar otras cargas de cookies como las de Adsense por ejemplo, pero ahora vamos con otros problemas. La implantación de este sistema hace que los usuarios, que en su mayoría desconocen el tema cookies pulse NO y tus datos analíticos sufran una brutal caída, así que o te arriesgas a una sanción o te quedas sin medir. Asimismo si el usuario pulsa NO, se carga una cookie por parte del plugin para recordar la elección del usuario, no toma ningún otro dato.

Además de las cookies de Analytics se cargan otras, en este sitio donde esta implantado, cargaba una cookie de sesión de Wordpress por la que hubo que tocar el fichero php.ini, un fichero al que no se suele tener acceso y hay que recurrir a los administradores de vuestros servidores para modificarlo.

Incluso usaba el plugin de ShareThis para mostrar los botones sociales, que también cargaban una cookies, hubo que modificar el código para evitar su carga.

Estos son solo algunos ejemplos con los que os quiero mostrar que hay que revisar cada página para ver que cookies se cargan y encontrar una solución independiente para cada una de ellas.

Al menos a las causantes del proceso sancionador, las de Analytics, las podemos controlar....

*Nota: No me hago responsable del uso que se haga de los códigos aquí expuestos.

No hay comentarios:

Publicar un comentario