TL;DR, Respuesta rápida
9 min de lecturaUna cookie persistente lleva un atributo Expires o Max-Age y se conserva hasta que se agota ese tiempo. Una cookie de sesión no lleva ninguno de los dos y, según RFC 6265, vive hasta "the current session is over", tal como lo defina el navegador. La especificación nunca define la sesión, y MDN advierte de que los navegadores con restauración de sesión pueden conservar las cookies de sesión "indefinitely". Las cookies persistentes tienen ahora un techo: el borrador rfc6265bis limita la vida útil a 400 días, algo que Chrome aplica desde la versión 104 en agosto de 2022, y Safari limita a 7 días las cookies persistentes escritas con document.cookie. Sobre el consentimiento en la UE, el Grupo de Trabajo del Artículo 29 dijo que es mucho más probable que las cookies de sesión propias queden exentas que las persistentes de terceros, aunque insistió en que decide la finalidad, no la duración.
¿Cuál es la diferencia entre una cookie de sesión y una cookie persistente?
Toda la diferencia en cookie de sesión vs cookie persistente es un atributo: una cookie persistente tiene una fecha Expires o un Max-Age en segundos, y una cookie de sesión no tiene ninguno. RFC 6265, el estándar actual de cookies, dice que una cookie sin ninguno de los dos atributos se conserva hasta "the current session is over" (as defined by the user agent). Una cookie con cualquiera de los dos se conserva hasta que pasa ese momento, o hasta que el navegador o el usuario la borran antes.
Set-Cookie: sid=31d4d96e407aad42; Path=/; Secure; HttpOnly
Set-Cookie: lang=en-US; Max-Age=2592000; Path=/La primera línea crea una cookie de sesión. La segunda crea una cookie persistente que dura 2,592,000 segundos, es decir, 30 días. El nombre de la cookie no influye. Una cookie llamada session_id con un Max-Age es persistente, y una cookie llamada remember_me sin caducidad es una cookie de sesión.
| Cookie de sesión | Cookie persistente | |
|---|---|---|
| Atributo que lo decide | Sin Expires y sin Max-Age | Expires o Max-Age presente |
| Flag interno de RFC 6265 | persistent-flag false | persistent-flag true |
| Se borra cuando | "the current session is over", tal como lo defina el navegador | Pasa la hora de caducidad |
| Sobrevive a un reinicio del navegador | Según la especificación no, pero la restauración de sesión puede conservarla | Sí |
| Vida útil máxima | Sin límite mientras se restaure la sesión | 400 días según rfc6265bis y en Chrome |
Safari ITP si se crea con document.cookie | No le afecta, sigue siendo cookie de sesión | Limitada a 7 días |
| En navegación privada | Se borra con la sesión privada | Se trata como cookie de sesión |
¿Cómo decide un navegador qué tipo de cookie ha recibido?
Un navegador lo decide leyendo los atributos en orden, tal como establece el algoritmo de almacenamiento de la sección 5.3 de RFC 6265. Si la cookie tiene un Max-Age, el navegador pone su persistent-flag a true y usa Max-Age para la caducidad. Si no, y tiene un Expires, el flag es true y Expires fija la caducidad. Si no tiene ninguno, el flag es false y la caducidad se fija en "the latest representable date."
Así que, dentro de la especificación, una cookie de sesión tiene la fecha de caducidad más lejana posible, y solo el persistent-flag en false hace que se elimine. La misma sección dice: "When 'the current session is over' (as defined by the user agent), the user agent MUST remove from the cookie store all cookies with the persistent-flag set to false."
Hay dos reglas más que importan en la práctica:
Max-Agegana aExpires. Sección 4.1.2.2: "If a cookie has both the Max-Age and the Expires attribute, the Max-Age attribute has precedence and controls the expiration date of the cookie."- Cero borra. Según la sección 5.2.2, un
Max-Agede0o menos fija la caducidad en "the earliest representable date and time", así que la cookie se elimina en el acto. EnviarMax-Age=0es la forma estándar de borrar una cookie desde el servidor.
Las dos páginas de MDN sobre cookies no coinciden en qué reloj usa una fecha Expires. La guía de cookies HTTP dice que las fechas Expires son "relative to the client the cookie is being set on", así que un servidor con otra hora puede provocar errores. La referencia de Set-Cookie dice que el servidor fija Expires "with a value relative to its own internal clock", y que Firefox y los navegadores basados en Chromium corrigen la diferencia de reloj con el header Date, mientras que la especificación "does not indicate if/how the value should be corrected by the recipient." El consejo de la guía vale en cualquier caso: Max-Age es "less error-prone", porque cuenta segundos desde el momento en que el navegador recibe la cookie.
¿Cuándo termina realmente una sesión?
Ningún estándar dice cuándo termina una sesión, y ese hueco es la razón por la que las cookies de sesión no se comportan como sugiere su nombre. RFC 6265 lo deja en manos del navegador con la frase "as defined by the user agent", que aparece tanto en la sección de atributos como en la de almacenamiento.
Las dos páginas de MDN sobre cookies describen el resultado desde extremos opuestos. La referencia de Set-Cookie dice que una sesión "finishes when the client shuts down, after which the session cookie is removed", y luego añade la advertencia de que los navegadores con restauración de sesión también restauran las cookies de sesión, "as if the browser was never closed." La guía de cookies HTTP va más allá: "The browser defines when the 'current session' ends, and some browsers use session restoring when restarting. This can cause session cookies to last indefinitely."
Con la restauración de sesión activada, una cookie de sesión puede durar más que una cookie persistente con una semana de caducidad. El código que trata una cookie de sesión como garantía de cierre de sesión depende de un ajuste del navegador que no puede ver, así que haz caducar también la autenticación en el servidor.
Una cookie de sesión tampoco tiene nada que ver con una sesión en analítica. Google Analytics 4 guarda el estado de la sesión en una cookie llamada _ga_<container-id>, que su centro de ayuda lista con una caducidad por defecto de 2 años y la descripción "Used to persist session state." La sesión de analítica es una ventana de tiempo que calcula la herramienta, explicada en qué cuenta como una sesión. La cookie que la recuerda es persistente.

¿Cuánto puede durar una cookie persistente?
Una cookie persistente puede durar hasta 400 días en Chrome y en el borrador que sustituirá a RFC 6265. RFC 6265 no fijaba ningún límite superior. Su sucesor, draft-ietf-httpbis-rfc6265bis-22 con fecha del 1 de diciembre de 2025, que el datatracker del IETF muestra en la cola del RFC Editor, añade la sección 5.5: el navegador "MUST limit the maximum age of the cookie", y "The limit SHOULD NOT be greater than 400 days (34560000 seconds) in the future." Un Expires o Max-Age que supere el límite "MUST be reduced to the limit."
Chrome ya aplica el tope. El blog Chrome for Developers afirma: "As of Chrome release M104 (August 2022) cookies can no longer set an expiration date more than 400 days in the future." Eso deja en conflicto las dos cifras publicadas. Google Analytics documenta caducidades por defecto de 2 años para _ga y _ga_<container-id>, y Chrome, también de Google, recorta cualquier fecha así a 400 días al guardar la cookie.
Safari fija un techo mucho más bajo para un tipo de cookie. El anuncio de Intelligent Tracking Prevention 2.1 de WebKit, del 21 de febrero de 2019, dice: "All persistent client-side cookies, i.e. persistent cookies created through document.cookie, are capped to a seven day expiry." El mismo post añade: "Session cookies are not affected, they remain session cookies." Las cookies que crea el header Set-Cookie de un servidor quedan fuera de esa regla. El conjunto completo de reglas de Safari está en cómo funciona el límite de 7 días de Safari para cookies.
RFC 6265 también pide contención a los servidores. La sección 7.3 dice que los servidores "SHOULD promote user privacy by selecting reasonable cookie expiration periods based on the purpose of the cookie", y da un ejemplo que enreda el vocabulario: "a typical session identifier might reasonably be set to expire in two weeks." Es decir, un identificador de sesión suele vivir en una cookie persistente.
Panel en tiempo real
Seguimiento de objetivos
Rastreo sin cookies

¿Necesitan consentimiento las cookies de sesión y las cookies persistentes?
Según el derecho de la UE, ninguno de los dos tipos queda exento de consentimiento por su duración, y ambos están exentos solo cuando son estrictamente necesarios para un servicio que el usuario pidió. El Dictamen 04/2012 sobre la exención del requisito de consentimiento de cookies del Grupo de Trabajo del Artículo 29, adoptado el 7 de junio de 2012, define los dos términos: un "cookie de sesión" es un cookie que "se elimina automáticamente cuando el usuario cierra el navegador", y un "cookie persistente" es un cookie que "permanece almacenado en el terminal del usuario hasta una fecha de expiración determinada (pueden ser minutos, días o años en el futuro)."
Después, el dictamen trata la duración como una señal, no como una prueba. Dice que "es mucho más probable que los 'cookies de origen para una sesión' estén exentos del requisito de consentimiento que los 'cookies de terceros' persistentes", y en el mismo párrafo: "Desde el punto de vista de la protección de datos, el riesgo reside en la finalidad o finalidades del tratamiento más que en la información contenida en el cookie." Su ejemplo más claro es el inicio de sesión. Las cookies de autenticación que duran la sesión están exentas, pero "Los cookies persistentes que almacenan un token de autenticación durante las sesiones de navegación no están exentos del requisito de consentimiento con arreglo al CRITERIO B", y una casilla "recuerde (utiliza cookies)" aparece como forma adecuada de obtener el consentimiento para ellas.
Los reguladores nacionales añaden cifras. La CNIL francesa, en su guía sobre herramientas de medición de audiencia, permite que esos trackers se salten el consentimiento solo si su vida útil se limita a un periodo "comme c'est le cas d'une durée de treize mois" (13 meses, por ejemplo), no queda "prorogée automatiquement lors des nouvelles visites" (prorrogada automáticamente en nuevas visitas), y los datos recogidos se conservan como máximo "vingt-cinq mois" (25 meses). Una cookie de analítica que reinicia su caducidad en cada visita incumple la segunda condición, por corta que sea su vida útil.
Para la tabla de cookies de una política de privacidad, indica la duración de cada cookie tal como se crea de verdad, "sesión" o un plazo, junto a su finalidad y a si es propia o de terceros. Las mismas preguntas se aplican a los datos guardados en el almacenamiento del navegador, que trata la página sobre local storage vs cookies.
Preguntas frecuentes
¿Cómo hago que una cookie sea de sesión?
Omite los atributos Expires y Max-Age al crearla. El navegador conserva entonces la cookie hasta que termina la sesión, tal como la defina el navegador. La página de MDN sobre document.cookie da la misma regla para las cookies creadas por script: si no se especifica ninguno, la cookie caduca al final de la sesión.
¿Se borran las cookies de sesión al cerrar una pestaña?
No. Cerrar una pestaña no termina la sesión del navegador. Las cookies de sesión se eliminan cuando se cierra el navegador, salvo que la restauración de sesión las recupere.
¿Qué gana si una cookie tiene Expires y Max-Age a la vez?
Gana Max-Age. La sección 4.1.2.2 de RFC 6265 dice que Max-Age "has precedence and controls the expiration date of the cookie." MDN añade que Max-Age es menos propenso a errores, porque una fecha Expires depende de relojes que pueden no coincidir.
¿Cómo borro una cookie persistente?
Vuelve a crear la misma cookie, con el mismo nombre, dominio y ruta, y un Max-Age de 0 o una fecha Expires en el pasado. RFC 6265 trata un Max-Age de cero o menos como la fecha representable más temprana, así que el navegador elimina la cookie de inmediato.
¿Son las cookies de sesión más privadas que las cookies persistentes?
Las cookies de sesión duran menos por diseño, lo que limita cuánto tiempo pueden enlazar visitas. Aun así, el Grupo de Trabajo del Artículo 29 juzgó las cookies por su finalidad: una cookie de sesión usada para rastrear necesita consentimiento, y una cookie persistente puede estar exenta cuando el usuario pidió lo que hace.
¿Convierte la navegación privada las cookies persistentes en cookies de sesión?
En la práctica, sí. La sección 7.2 de RFC 6265 dice que un navegador que ofrece impedir el almacenamiento persistente "MUST treat all received cookies as if the persistent-flag were set to false", y menciona la navegación privada como una forma habitual de ese ajuste. Todas las cookies desaparecen cuando se cierra la sesión privada.
¿Es lo mismo una cookie de sesión que una sesión en Google Analytics?
No. La sesión de analítica es una ventana de tiempo que calcula la herramienta, y la cookie que la recuerda es persistente. Google Analytics 4 guarda el estado de la sesión en _ga_<container-id>, que su centro de ayuda indica con una caducidad por defecto de 2 años.
¿Cuánto puede durar una cookie persistente en Chrome?
Hasta 400 días. Desde Chrome M104, en agosto de 2022, una cookie ya no puede fijar una caducidad a más de 400 días vista, así que un Expires o Max-Age mayor se recorta a ese límite. El borrador rfc6265bis fija el mismo tope.
¿Sobreviven las cookies de sesión al reinicio del navegador?
Según la especificación no, pero en la práctica a menudo sí. RFC 6265 deja al navegador decidir cuándo termina la sesión, y los navegadores con restauración de sesión recuperan las cookies de sesión como si nunca se hubiera cerrado. MDN advierte de que así pueden durar indefinidamente.
¿Necesita consentimiento una cookie de inicio de sesión de "recordarme" en la UE?
Sí. El Dictamen 04/2012 del Grupo de Trabajo del Artículo 29 dice que las cookies persistentes de inicio de sesión que guardan un token de autenticación entre sesiones del navegador no están exentas, y cita una casilla "recuerde (utiliza cookies)" como forma de obtener el consentimiento. Las cookies de autenticación que duran solo la sesión sí están exentas.
Panel en tiempo real
Seguimiento de objetivos
Rastreo sin cookies
¿Te resultó útil este artículo?
¡Cuéntanos qué opinas!
Vernos más en Google
Un clic marca Flowsery como fuente preferida y nuestros artículos aparecen más arriba en tus Noticias destacadas, el modo IA y los resúmenes con IA.
Antes de irte...
Flowsery
Analítica orientada a ingresos para tu sitio web
Rastrea cada visitante, fuente y conversión en tiempo real. Simple, potente y sin cookies.
Panel en tiempo real
Seguimiento de objetivos
Rastreo sin cookies
Términos relacionados del glosario


Tamaño, caducidad, acceso y ley en almacenamiento local vs cookies
Comparamos almacenamiento local vs cookies según las especificaciones: tamaño, caducidad, envío al servidor, HttpOnly, Secure, SameSite, Safari ITP y ePrivacy.


Cómo funciona el test del interés legítimo en el RGPD según el artículo 6(1)(f)
Las reglas del interés legítimo en el RGPD del artículo 6(1)(f), citadas de EUR-Lex, con el triple test del EDPB y por qué la analítica web sigue en duda.


De dónde vienen los 4096 bytes del límite de tamaño de cookie
El límite de tamaño de cookie es de 4096 bytes de nombre más valor en Chrome y Firefox, 1024 bytes por atributo y 180 cookies por dominio.


Qué exige de verdad el RGPD en session replay
Revisar el RGPD en session replay depende de cuatro cosas: base legal del artículo 6, datos del artículo 9, consentimiento ePrivacy 5(3) y una EIPD.


Qué se rompe de verdad con SameSite Lax vs Strict vs None
Cómo decidir SameSite Lax vs Strict vs None con el texto del RFC y el valor por defecto que Chrome documenta, el requisito Secure y qué mata cada modo.


Qué restringe en realidad el límite de 7 días de cookies de Safari
El límite de 7 días de cookies de Safari recorta las cookies first-party puestas por JavaScript, con un límite más corto de 24 horas tras ciertos clics.
Artículos relacionados


Por qué tu tasa de rebote de GA4 es la tasa de interacción al revés
Google mide la tasa de rebote de GA4 como la proporción de sesiones sin interacción. Cómo la define, en qué difiere de Universal Analytics y dónde añadirla.


Qué cuenta el informe de páginas de destino de GA4 y dónde se queda en blanco
En Reports, el informe de páginas de destino de GA4 lista la primera página de cada sesión. Dónde está, sus métricas, por qué sale (not set) y la fuente.


Cómo registra la búsqueda en el sitio de GA4 lo que escriben los visitantes
Configura la búsqueda en el sitio de GA4 con la medición mejorada, añade tus parámetros de consulta, halla la dimensión Search term y mide sin URL.

