Artículos sobre: Integraciones
Este artículo también está disponible en:

Cómo verificar que Pandectes funciona con la Customer Privacy API de Shopify

Descripción general


Pandectes GDPR Compliance está integrado con la Customer Privacy API de Shopify. Cuando un visitante elige Accept, Reject o una selección personalizada en la ventana de preferencias, el banner comunica esa elección a Shopify a través de la API oficial. Shopify la aplica entonces a las superficies que controla: web pixels, eventos de cliente, audiencias y checkout.


Este artículo muestra cómo confirmar que la señal llega a tu propia tienda. También enumera comprobaciones que parecen fallos pero no lo son.


Para saber cómo se comporta la integración, consulta Cómo funciona la app con la Customer Privacy API de Shopify. La referencia de Shopify es la Customer Privacy API.


Esta guía está escrita para una tienda Shopify normal (tema de Online Store). En una tienda headless o personalizada se aplican las mismas comprobaciones, con algunos límites prácticos. Lee Tiendas headless y personalizadas antes de empezar.


Cómo funciona


El trabajo de la app en esta integración es pasar la decisión del visitante a Shopify, de forma correcta e inmediata. Todo lo que ocurre después corresponde a Shopify: cargar o retener web pixels en la tienda y en el checkout, controlar canales de venta como Google & YouTube o Meta, y aplicar el consentimiento a los eventos de cliente, las audiencias y el checkout.


Son sistemas propiedad de Shopify que leen el consentimiento de la propia API de Shopify. Una vez que las comprobaciones siguientes muestren que la señal llega, la app ha hecho lo que debe hacer.


setTrackingConsent() es la forma documentada de que una app comunique a Shopify lo que ha decidido un visitante. Pandectes la llama. Esa llamada es la interfaz entre la app y Shopify.


Puntos clave


  • Usa currentVisitorConsent() para verificar la decisión sin procesar del visitante ('', 'yes' o 'no').
  • Los métodos Allowed() mezclan los ajustes del comerciante, la ubicación y el consentimiento. Un true o false por sí solo no demuestra que el visitante haya decidido algo.
  • shouldShowBanner() es una comprobación de región. Puede seguir siendo true tras Accept.
  • No leas las cookies de Shopify, dataLayer ni las solicitudes de red para juzgar esta integración.
  • La primera comprobación no instala nada. El fragmento del tema y el píxel de prueba son temporales. Elimínalos cuando termines.


¿Tienes prisa? Haz solo la Comprobación rápida en la consola. Si los valores pasan de vacíos a 'yes' cuando haces clic en Accept, la integración está escribiendo el consentimiento en Shopify.


Antes de empezar


Tres cosas, o los resultados serán engañosos:


  1. Usa un perfil de navegador limpio. Abre una ventana nueva de incógnito o privada, o borra las cookies y el almacenamiento local de tu dominio. Si ya diste el consentimiento, el banner no volverá a preguntar y solo verás el estado «después».
  2. Haz la prueba como visitante de una región donde se exige consentimiento (por ejemplo, la UE/EEE/Reino Unido, si así está configurado tu banner). En las regiones donde Shopify no está configurado para exigir consentimiento, todo se permite de forma predeterminada y la prueba no demuestra nada.
  3. Asegúrate de que el app embed de Pandectes esté activado en tu tema. La integración de Shopify Customer Privacy está siempre activa y no tiene ningún ajuste para activarla.


Abre la consola de desarrollador del navegador:


  • Chrome / Edge: pulsa F12 y abre la pestaña Console
  • Firefox: pulsa F12 y abre la pestaña Console
  • Safari: activa el menú Develop en Settings → Advanced y luego pulsa Option + Command + C


La primera comprobación no instala nada. Los dos fragmentos siguientes son herramientas de diagnóstico temporales. Elimínalos en cuanto termine la verificación. Están pensados para ejecutarse unos minutos en tu pantalla, no para quedarse en una tienda en vivo.


Qué envía Pandectes a Shopify


La API de Shopify usa cuatro finalidades. Pandectes asigna sus categorías de cookies a ellas:


Categoría de Pandectes

Finalidad de Shopify

Functionality / Preferences

preferences

Performance / Analytics

analytics

Targeting / Marketing

marketing

Sale of data opt-out (Do not sell my data)

sale_of_data


Las cookies estrictamente necesarias no tienen equivalente. Siempre están permitidas y no forman parte de esta escritura de consentimiento.


Opción 1: Comprobación rápida en la consola


No necesitas instalar nada. Basta con un comando, ejecutado tres veces.


Paso 1. Abre tu tienda en una ventana nueva de incógnito. Aparece el banner. No hagas clic en nada.


Paso 2. Abre la consola, pega esto y pulsa Enter:


window.Shopify.customerPrivacy.currentVisitorConsent();


Deberías obtener cuatro cadenas vacías. Es la forma que tiene Shopify de decir que el visitante todavía no ha decidido:


{marketing: '', analytics: '', preferences: '', sale_of_data: ''}


Paso 3. Haz clic en Accept all en el banner y ejecuta de nuevo el mismo comando:


{marketing: 'yes', analytics: 'yes', preferences: 'yes', sale_of_data: ''}


Paso 4. Recarga la página y ejecútalo por última vez. Los valores deben seguir ahí.


Vacío antes de la decisión, relleno justo después y todavía relleno en la siguiente carga de página. Esa es la verificación. Si en su lugar haces clic en Reject all, obtienes 'no' en lugar de 'yes'. Es igualmente correcto: al visitante se le preguntó y dijo que no.


Solo preferences, analytics y marketing necesitan cambiar. sale_of_data puede quedarse vacío. Es normal. Consulta la nota en Qué no debes usar para verificar.


Si el comando devuelve un error que dice que customerPrivacy no está definido, la API aún no ha terminado de cargarse. Espera un momento e inténtalo de nuevo, o ejecuta esto una vez antes:


window.Shopify.loadFeatures([{name: 'consent-tracking-api', version: '0.1'}], () => {});


Por qué currentVisitorConsent y no marketingAllowed


Es habitual que los comerciantes comprueben solo esto:


window.Shopify.customerPrivacy.preferencesProcessingAllowed();  // true / false


Ese método es útil, pero solo puede responder true o false. La documentación de Shopify explica que estos métodos combinan los ajustes del comerciante, la ubicación del usuario y el consentimiento del usuario.


Así que false puede significar que el visitante lo rechazó, o que el visitante está en una región donde se exige consentimiento y todavía no ha respondido. true puede significar que el visitante aceptó, o que esa región no exige consentimiento. El valor booleano por sí solo no puede decirte si el visitante ha decidido algo.


currentVisitorConsent() devuelve las preferencias seleccionadas por el usuario y no mezcla la ubicación ni la configuración del comerciante:


window.Shopify.customerPrivacy.currentVisitorConsent();
// → {marketing: 'yes', analytics: 'no', preferences: 'yes', sale_of_data: ''}


Valor

Significado

'' (cadena vacía)

El visitante todavía no ha concedido ni denegado el consentimiento

'yes'

El visitante concedió el consentimiento de forma activa

'no'

El visitante denegó el consentimiento de forma activa


Vacío antes de que el visitante decida, relleno después. Esa transición es la prueba de que Pandectes escribió la decisión en Shopify.


Opción 2: Prueba en pantalla desde el tema


Este fragmento automatiza la Comprobación rápida en la consola. Imprime el estado del consentimiento en la consola cuando se carga la página y otra vez cuando el visitante decide. Solo lee y registra. No cambia nada.


Dónde pegar el fragmento del tema


  1. Shopify admin → Online Store → Themes
  2. En tu tema en vivo haz clic en … → Edit code (más seguro: Duplicate el tema primero y haz la prueba en la copia)
  3. Abre layout/theme.liquid
  4. Pega el fragmento justo antes de la etiqueta de cierre </body>
  5. Save


{% comment %} PANDECTES CONSENT CHECK: temporary, remove after testing {% endcomment %}
<script>
(function () {
var pandectesTag = '[Pandectes theme check]';

function pandectesSnapshot(label) {
var cp = window.Shopify && window.Shopify.customerPrivacy;
if (!cp) {
console.warn(pandectesTag, label, 'API not available');
return;
}

var consent = cp.currentVisitorConsent();

console.log('%c' + pandectesTag + ' ' + label, 'font-weight:bold;color:#0a7');
console.table({
'currentVisitorConsent().preferences' : consent.preferences,
'currentVisitorConsent().analytics' : consent.analytics,
'currentVisitorConsent().marketing' : consent.marketing,
'currentVisitorConsent().sale_of_data': consent.sale_of_data,
'preferencesProcessingAllowed()' : cp.preferencesProcessingAllowed(),
'analyticsProcessingAllowed()' : cp.analyticsProcessingAllowed(),
'marketingAllowed()' : cp.marketingAllowed(),
'saleOfDataAllowed()' : cp.saleOfDataAllowed()
});
}

document.addEventListener('visitorConsentCollected', function (event) {
console.log(pandectesTag, 'visitorConsentCollected →', event.detail);
pandectesSnapshot('AFTER the visitor decided');
});

(function pandectesWaitForShopify(tries) {
tries = tries || 0;
if (window.Shopify && window.Shopify.loadFeatures) {
window.Shopify.loadFeatures(
[{ name: 'consent-tracking-api', version: '0.1' }],
function (error) {
if (error) {
console.error(pandectesTag, 'could not load the Customer Privacy API', error);
return;
}
pandectesSnapshot('ON PAGE LOAD');
}
);
return;
}
if (tries > 100) {
console.error(pandectesTag, 'window.Shopify.loadFeatures never became available');
return;
}
setTimeout(function () { pandectesWaitForShopify(tries + 1); }, 100);
})();
})();
</script>


Cómo ejecutar la prueba del tema


Abre tu tienda en una ventana nueva de incógnito, abre la consola y sigue estos tres pasos.


Paso 1: antes de tocar el banner


El banner está en pantalla. No has hecho clic en nada. Busca la tabla ON PAGE LOAD.


Qué deberías ver

Significado

currentVisitorConsent().preferences → "" (vacío)

Todavía no hay decisión

currentVisitorConsent().analytics → "" (vacío)

Todavía no hay decisión

currentVisitorConsent().marketing → "" (vacío)

Todavía no hay decisión

preferencesProcessingAllowed() → false

No se permite nada que no sea esencial

analyticsProcessingAllowed() → false

No se permite nada que no sea esencial

marketingAllowed() → false

No se permite nada que no sea esencial


Lo importante son las cadenas vacías. Shopify está diciendo que este visitante todavía no ha decidido.


Paso 2: haz clic en un botón del banner


Haz clic en Accept all. Deben aparecer de inmediato dos cosas en la consola:


  1. Una línea visitorConsentCollected → {marketingAllowed: true, saleOfDataAllowed: …, analyticsAllowed: true, preferencesAllowed: true}
  2. Una segunda tabla, AFTER the visitor decided:


Qué deberías ver

Significado

currentVisitorConsent().preferences → "yes"

Consentimiento concedido de forma activa

currentVisitorConsent().analytics → "yes"

Consentimiento concedido de forma activa

currentVisitorConsent().marketing → "yes"

Consentimiento concedido de forma activa

preferencesProcessingAllowed() → true

El tratamiento ahora está permitido

analyticsProcessingAllowed() → true

El tratamiento ahora está permitido

marketingAllowed() → true

El tratamiento ahora está permitido


Si en su lugar haces clic en Reject all, los valores pasan a "no" y los métodos Allowed() siguen en false. "no" no es lo mismo que "": al visitante se le preguntó y dijo que no.


Paso 3: recarga la página


Recarga y mira la nueva tabla ON PAGE LOAD. Los valores del Paso 2 deben seguir ahí. Eso demuestra que Shopify almacenó la decisión y la devuelve en las páginas posteriores.


Si los Pasos 1, 2 y 3 se comportan como se ha indicado, la integración está escribiendo el consentimiento en Shopify.


Ahora elimina el fragmento de layout/theme.liquid y guarda. No lo dejes en un tema en vivo. Es una herramienta de pruebas, no forma parte de tu tienda.


Opción 3: Prueba del píxel de Shopify


El fragmento del tema demuestra que Shopify registró la decisión. Este segundo fragmento demuestra que la decisión llega a los web pixels de Shopify (Google & YouTube, Meta, Klaviyo y cualquier píxel personalizado).


Los píxeles se ejecutan dentro de un sandbox, separado de tu tema. Shopify les entrega directamente el estado del consentimiento. El fragmento crea un pequeño píxel de prueba que informa de lo que recibió.


Dónde pegar el fragmento del píxel


  1. Shopify admin → Settings → Customer events
  2. Haz clic en Add custom pixel y ponle el nombre Pandectes consent check
  3. En Customer privacy, establece Permission en Not required, para que este píxel de prueba siempre se ejecute y pueda informar también del estado «antes»
  4. Pega el código, haz clic en Save y luego en Connect


// Pandectes consent check. TEMPORARY test pixel. Disconnect and delete when finished.
const pandectesTag = '[Pandectes pixel check]';

function pandectesLog(label, cp) {
console.log(pandectesTag + ' ' + label, {
preferencesProcessingAllowed: cp.preferencesProcessingAllowed,
analyticsProcessingAllowed: cp.analyticsProcessingAllowed,
marketingAllowed: cp.marketingAllowed,
saleOfDataAllowed: cp.saleOfDataAllowed
});
}

let pandectesConsentState = init.customerPrivacy;
pandectesLog('state when the pixel started', pandectesConsentState);

api.customerPrivacy.subscribe('visitorConsentCollected', (event) => {
pandectesConsentState = event.customerPrivacy;
pandectesLog('state after the visitor decided', pandectesConsentState);
});

analytics.subscribe('page_viewed', (event) => {
pandectesLog('state at page_viewed', pandectesConsentState);
});


¿Por qué los nombres de variable tan largos? El sandbox de píxeles ya define globales como status y name, por lo que un simple let status = … se notifica como una redefinición. Todos los nombres de ambos fragmentos llevan el prefijo pandectes. Mantenlos tal como están.


Qué deberías ver en la prueba del píxel


De nuevo en una ventana nueva de incógnito con la consola abierta:


Momento

Registro esperado

Se carga la página, el banner es visible, no se ha hecho clic en nada

state when the pixel started → preferencesProcessingAllowed, analyticsProcessingAllowed y marketingAllowed todos en false

Haces clic en Accept all

state after the visitor decided → los mismos tres ahora están en true

Recargas la página

state when the pixel started → los tres siguen en true


saleOfDataAllowed no forma parte de esta comprobación. Fuera de las regiones con exclusión de venta de datos, puede ser true desde el principio. Es lo esperado.


Estas líneas proceden del sandbox de píxeles de Shopify, por lo que en Chrome aparecen con un origen web-pixels…sandbox a su lado. Si no las ves, asegúrate de que el filtro de la consola no esté configurado en «selected context only» y de que no haya texto escrito en el cuadro de filtro.


Si esos tres valores pasan de false a true cuando haces clic en Accept, Shopify está entregando el estado del consentimiento a los píxeles.


Desconecta y elimina este píxel de prueba en cuanto termines. Está configurado para ejecutarse sin consentimiento, por lo que no debe quedarse en una tienda en vivo.


Una vez que la señal llega, el resto es cosa de Shopify


Los web pixels de Shopify se ejecutan dentro de iframes aislados de origen cruzado que controla Shopify. Ninguna app de consentimiento puede iniciarlos, detenerlos ni cambiar lo que envían. La señal de consentimiento es la palanca que existe.


La verificación se divide en dos:


  1. ¿Llega la señal? Eso es lo que responden las comprobaciones anteriores. Esa es la parte de la que es responsable Pandectes.
  2. ¿Actúa Shopify según la señal? Esa es una cuestión de Shopify, que se responde en los ajustes de Shopify y, si hace falta, con el soporte de Shopify.


Si currentVisitorConsent() pasa de vacío a 'yes' o 'no' cuando el visitante hace clic, la app ha cumplido su función. Si después de eso un píxel o un canal sigue comportándose de una forma que no esperabas, mira en el lado de Shopify:


Quién

Qué hace

Pandectes

Muestra el banner, recoge la decisión y la escribe en Shopify mediante setTrackingConsent()

Shopify

Decide qué web pixels se cargan en la tienda y en el checkout, controla los canales de venta y aplica el consentimiento a los eventos de cliente, las audiencias y el checkout


  • Settings → Customer events: cada píxel tiene su propio ajuste Customer privacy → Permission. Un píxel configurado como Not required se ejecutará independientemente del consentimiento, porque eso es lo que la tienda le indicó a Shopify.
  • La configuración propia de cada canal de venta. El canal Google & YouTube, por ejemplo, construye su propia señal de consentimiento de Google a partir de la API de Shopify. Esa traducción es código de Shopify.
  • El soporte de Shopify, para cualquier cosa que quede una vez que la API contiene el valor correcto.


Piénsalo como un interruptor de luz: Pandectes es el interruptor, Shopify es el cableado y las lámparas. Una vez que has verificado que el interruptor cambia de posición, una lámpara que sigue encendida es una cuestión de cableado.


Tiendas headless y personalizadas


La misma API, los mismos métodos y el mismo significado de '', 'yes' y 'no' se aplican en una tienda headless. La Comprobación rápida en la consola funciona sin cambios. Lo que cambia es cómo ejecutas los dos fragmentos, además de un ajuste adicional.


No tienes theme.liquid


Las páginas de tu tienda son código propio, así que no hay dónde pegar el fragmento del tema tal como está. Hay dos opciones:


Opción A: pégalo en la consola del navegador (no hay nada que desplegar).
Copia todo lo que hay entre <script> y </script> en el fragmento del tema, abre tu tienda en una ventana de incógnito limpia con el banner visible, pégalo en la consola y pulsa Enter. Obtienes la tabla ON PAGE LOAD de inmediato, y la tabla AFTER the visitor decided cuando haces clic en el banner.


El código de la consola se borra al recargar la página. Para el paso de recarga, recarga primero y luego pega el fragmento de nuevo para leer los valores almacenados.


Opción B: ponlo en tu propio layout raíz.
Añade el mismo bloque <script> a lo que se renderice en todas las páginas: el layout raíz en Hydrogen o Next.js, index.html en una app Vite/React, etc. Elimínalo cuando termines las pruebas.


El fragmento 2 se ejecuta en el checkout, no en tu tienda


Los web pixels de Shopify no se ejecutan en las páginas que alojas tú mismo. Se ejecutan en las superficies que posee Shopify: el checkout y la página de estado del pedido / de agradecimiento. Para ver la salida del fragmento del píxel, añade un producto al carrito y continúa al checkout con la consola abierta. La decisión de consentimiento tomada en tu tienda ya debería estar establecida cuando se inicie el píxel.


Un ajuste adicional: tus dos dominios


En una tienda headless, Shopify necesita los dominios de la tienda y del checkout antes de poder registrar el consentimiento. La documentación de Shopify exige estos valores para tiendas personalizadas:


  • headlessStorefront
  • storefrontRootDomain
  • checkoutRootDomain
  • storefrontAccessToken


Pandectes los envía con cada escritura de consentimiento, desde la configuración de tu app. Si faltan o son incorrectos en el admin de Pandectes, la escritura en Shopify no puede tener éxito y currentVisitorConsent() seguirá devolviendo cadenas vacías. Si falla tu prueba en headless, comprueba esto primero.


Los dominios también tienen que formar una pareja coincidente: el dominio de la tienda y el del checkout deben pertenecer a la misma tienda, de modo que la decisión tomada en la tienda sea la que vea el checkout.


Qué no debes usar para verificar


Estas comprobaciones miden otra cosa o no forman parte de la API documentada.


No esperes que shouldShowBanner pase a false tras el consentimiento


Muchos comerciantes esperan que shouldShowBanner() sea true antes del consentimiento y false después, e informan de un error cuando sigue siendo true.


No es un método de consentimiento. Shopify lo documenta como un indicador de si el cliente actual está en una región configurada para mostrar un banner de cookies. Un visitante alemán sigue estando en Alemania tras Accept, así que la respuesta sigue siendo true. Que shouldShowBanner() siga siendo true tras el consentimiento es lo esperado.


Lo mismo se aplica a saleOfDataRegion(), que indica si el cliente actual está en una región configurada para la exclusión de venta de datos. También es una comprobación de región.


No confíes en getTrackingConsent, getRegulation ni isRegulationEnforced


Estos no aparecen en la documentación de la Customer Privacy API de Shopify. Son valores internos que Shopify puede cambiar o eliminar. En particular, que getTrackingConsent() devuelva "yes" antes del consentimiento no es prueba de que se haya concedido nada.


No uses userCanBeTracked ni userDataCanBeSold


Existen, pero Shopify los incluye en la documentación heredada y dice que no se empiecen nuevas integraciones con ellos. Usa en su lugar currentVisitorConsent() y los cuatro métodos Allowed().



La documentación de Shopify dice que no se lean ni se modifiquen directamente las cookies de Shopify. Shopify no promete que su cookie de consentimiento sea legible desde JavaScript, que tenga un nombre concreto ni que exista en una versión determinada. No encontrarla no demuestra nada.


No juzgues la app según si un píxel o una solicitud de red sigue disparándose


Que una solicitud salga del navegador es un resultado de Shopify. Si la señal de consentimiento es correcta y un píxel de Shopify sigue disparándose, a Shopify se le comunicó lo correcto y decidió ejecutar el píxel, normalmente porque el Permission de ese píxel es Not required en Settings → Customer events, o porque el canal de venta está configurado para ejecutarse sin consentimiento. Corrígelo ahí.


No compares entradas de window.dataLayer


dataLayer es Google Consent Mode, un sistema distinto de la Customer Privacy API de Shopify. Pandectes escribe en ambos, y el canal Google & YouTube de Shopify también escribe sus propias entradas. Es normal que haya varias entradas consent y no verifican la API de Shopify.


No esperes una llamada a setTrackingConsent en cada carga de página


Pandectes solo escribe en Shopify cuando cambia el estado. Si Shopify ya contiene la misma decisión, la app no la vuelve a enviar. En una recarga tras el consentimiento, deberías ver los valores almacenados pero ninguna escritura nueva.


No te preocupes porque sale_of_data siga vacío


sale_of_data es relevante donde se aplica una exclusión de venta de datos (principalmente ciertos estados de EE. UU.). Si el visitante no está en una región así, o Do not sell my data no está activado en Pandectes, este campo se omite de lo que envía Pandectes. Un sale_of_data vacío para un visitante de la UE es lo esperado.


Referencia rápida: los métodos documentados


Método

Devuelve

Qué te indica

currentVisitorConsent()

{preferences, analytics, marketing, sale_of_data} cada uno 'yes' / 'no' / ''

La decisión propia del visitante. Usa este.

preferencesProcessingAllowed()

true / false

Si se permite el tratamiento de preferencias (región + ajustes + consentimiento combinados)

analyticsProcessingAllowed()

true / false

Si se permite el tratamiento analítico (región + ajustes + consentimiento combinados)

marketingAllowed()

true / false

Si se permite el marketing (región + ajustes + consentimiento combinados)

saleOfDataAllowed()

true / false

Si se permite compartir datos con terceros

shouldShowBanner()

true / false

Solo región: si se debe mostrar un banner en esta región

saleOfDataRegion()

true / false

Solo región: si aquí se aplica una exclusión de venta de datos

getRegion()

p. ej. "DEHH"

La ubicación del visitante, en formato ISO 3166-2

Evento visitorConsentCollected

{marketingAllowed, saleOfDataAllowed, analyticsAllowed, preferencesAllowed}

Se dispara cada vez que cambia el consentimiento


Si la prueba realmente falla


Primero decide qué mitad ha fallado.


Si la señal es correcta, es decir, currentVisitorConsent() pasa de vacío a 'yes' o 'no' cuando haces clic, entonces la app está escribiendo el consentimiento. Todo lo demás corresponde a Shopify. Comprueba el Permission de cada píxel en Settings → Customer events, luego la configuración de los canales de venta y después el soporte de Shopify.


Si falta la señal, es decir, currentVisitorConsent() sigue devolviendo cadenas vacías después de que hayas hecho clic en un botón del banner, comprueba en este orden:


  1. El app embed de Pandectes está activado en el tema que estás probando (Online Store → Themes → Customize → App embeds).
  2. Estás probando el tema en vivo, no una vista previa de otro.
  3. No hay otra app de consentimiento instalada. Dos apps de consentimiento que escriben en la misma API entrarán en conflicto. Solo puede haber una activa.
  4. No estás en una sesión de vista previa del admin, que puede comportarse de forma distinta a una visita real.
  5. Solo tiendas headless: el dominio de la tienda, el dominio del checkout y el storefront access token están rellenados correctamente en el admin de Pandectes.


¿Sigue fallando? Contacta con [email protected] e incluye:


  • el dominio de tu tienda (y, en headless, tus dominios de tienda y de checkout)
  • el país del visitante desde el que hiciste la prueba
  • la salida de la consola de la Comprobación rápida o del fragmento del tema, en los tres momentos (antes de hacer clic / después de hacer clic / después de recargar)


Limpieza al terminar


No te saltes este paso. La Comprobación rápida en la consola no instala nada. Ambos fragmentos son temporales.


  1. Fragmento del tema: abre layout/theme.liquid, elimina el bloque que empieza por {% comment %} PANDECTES CONSENT CHECK y haz clic en Save. Si hiciste la prueba en un tema duplicado, puedes eliminar esa copia del tema.
  2. Fragmento del píxel: ve a Settings → Customer events, abre Pandectes consent check, haz clic en Disconnect y luego en Delete.
  3. Tiendas headless: si añadiste el script a tu propio layout, elimínalo y vuelve a desplegar. Si usaste la consola del navegador, basta con cerrar la pestaña.


Por qué es importante:


  • El fragmento del tema imprime detalles del consentimiento en la consola de cada visitante, en cada página, hasta que lo elimines.
  • El píxel de prueba está configurado con Permission: Not required, por lo que se ejecuta antes del consentimiento por diseño. Eso es correcto para una prueba breve e incorrecto para una tienda en vivo.
  • Ambos añaden trabajo a cada carga de página sin ningún beneficio una vez terminada la verificación.


Eliminarlos no cambia la integración. La app sigue comunicando el consentimiento a Shopify como antes.


Resumen


Verifica esta integración con currentVisitorConsent(). Cadenas vacías antes de una elección, 'yes' o 'no' inmediatamente después y los mismos valores tras recargar significan que Pandectes escribió la decisión en Shopify. La carga de píxeles, los canales de venta y el comportamiento del checkout a partir de ese punto son responsabilidad de Shopify. Elimina los fragmentos temporales del tema o del píxel cuando termines.

Actualizado el: 19/10/2026

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!