WooCommerce necesita almacenamiento funcional limitado para mantener carrito, calcular y proteger la sesión. Una plataforma de consentimiento puede romperlo si bloquea esas cookies o retrasa scripts centrales junto a Analytics y publicidad.
La solución no es declarar todo esencial. Clasifica cada tecnología por finalidad y mantén apagado el tracking cuando se rechaza.
Reproduce cada estado
Usa sesiones privadas nuevas para Aceptar todo, Rechazar opcionales y Sin elegir. Añade el mismo producto y sigue la misma ruta.
Anota si persiste el carrito, cargan métodos, el botón envía una petición y qué error aparece. Revisa pedido y proveedor antes de repetir.
Las decisiones persisten: recargar la página no reinicia el estado. Registra también la versión de la plataforma.
Inventaría almacenamiento y scripts
Inspecciona cookies y storage antes y después de añadir.
Separa:
- carrito, sesión y seguridad WooCommerce
- funcionamiento del pago
- preferencias
- Analytics
- publicidad y remarketing
No clasifiques solo por el nombre. Revisa la función y coordina la decisión con la persona responsable de privacidad.
Documenta proveedor, dominio, caducidad y categoría.
Incluye almacenamiento local, sessionStorage, IndexedDB y cookies colocadas por iframes. Un SDK puede no crear una cookie visible en el dominio de la tienda y aun así depender de almacenamiento externo. La matriz debe explicar qué ocurre al bloquearlo y si existe otro método de pago válido.
Protege la sesión WooCommerce
La sesión transaccional debe persistir aunque se rechace el seguimiento. Comprueba si wp_woocommerce_session_*, cart hash e item count se eliminan o impiden.
Configura la allowlist esencial estrecha documentada para la versión instalada.
No autorices identificadores analíticos porque aparezcan en checkout.
Inspecciona scripts y peticiones bloqueados
Abre Console y Network después del rechazo. La plataforma puede reescribir tipos, retrasar dependencias o bloquear un bundle que mezcla checkout y Analytics.
Separa código esencial y trackers. Si un bundle los mezcla, reconstruye esa frontera en lugar de permitir todo.
Revisa frames de pago, autocompletado y fraude. Su clasificación necesita análisis funcional y de privacidad específico.
Separa el código que tokeniza o autentica el pago de las etiquetas que miden la conversión. Que ambos provengan del mismo proveedor no les da la misma finalidad. Carga únicamente los recursos necesarios para el método elegido y no utilices el evento de compra como condición para completar el pedido.
Revisa supuestos del código
PHP o JavaScript propio puede esperar que existan Analytics, publicidad o la API de consentimiento. Al faltar, una excepción detiene handlers posteriores.
if (typeof window.optionalAnalytics === "function") {
window.optionalAnalytics("checkout_started");
}
El checkout no puede depender de que el tracking funcione. No uses stubs que transmitan silenciosamente después del rechazo.
Captura las excepciones de integraciones opcionales para que no detengan la cadena y devuelve un estado accesible si falta una función necesaria. Un try/catch no debe ocultar un fallo real de la pasarela; distingue claramente telemetría opcional de procesamiento transaccional.
Comprueba transiciones y revocación
Prueba aceptar, revocar y volver a aceptar sin recargar cuando la plataforma lo permita. Los servicios opcionales deben detenerse o reiniciarse una sola vez; la sesión comercial no debe borrarse.
Evita handlers duplicados al cambiar preferencias. Un segundo listener puede enviar dos pedidos o dos eventos.
Muestra un estado comprensible si un método externo requiere una elección concreta.
Comprueba navegación entre páginas, cambio de idioma y volver atrás. El consentimiento puede persistir mientras WooCommerce crea una nueva vista; el código debe inicializarse a partir del estado actual y no depender únicamente del evento emitido en la primera página.
Revisa variación de caché
Banners y conjuntos de scripts pueden cachearse para el estado equivocado. Un visitante recibe marcado generado para otro.
Mantén las páginas transaccionales fuera de caché pública. En páginas cacheables, usa la estrategia soportada, no variación por cookies sin control.
Tras cambiar, purga HTML y assets y prueba con caché poblada.
Verifica pago y privacidad
Con opcionales rechazadas, completa un pedido controlado y confirma carrito, checkout, un pago, estado, stock y email. Verifica que Analytics y publicidad no salen.
Con consentimiento, repite y confirma medición opcional una sola vez sin alterar la compra. Prueba revocación y visitante recurrente.
Verifica también accesibilidad del banner y del checkout: rechazo, preferencias y compra deben poder completarse con teclado y lector de pantalla. No obligues a aceptar seguimiento mediante un botón de pedido deshabilitado o un mensaje inaccesible.
El mantenimiento recurrente debe cubrir ambas ramas tras cambios de WooCommerce, pago, tags, optimización o consentimiento. La compra válida y la elección respetada deben coexistir.