> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pandectes.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Cómo ejecutar JavaScript personalizado después del consentimiento

**Domina los pasos para ejecutar JavaScript personalizado después del consentimiento con nuestra guía fácil de seguir. Asegúrate de que tus scripts cumplen las leyes de consentimiento del usuario.**

### Introducción

Este artículo se centra en la ejecución de código JavaScript personalizado después de obtener el consentimiento del usuario. Veremos un script de ejemplo que establece una nueva cookie una vez concedido el consentimiento de Targeting. Ten en cuenta que la API solo es compatible si tienes el [plan Enterprise](https://pandectes.io/pricing/#comparison-table) de nuestra aplicación.

### Entender el detector de eventos de consentimiento

Nuestra aplicación dispara un evento específico, `PandectesEvent_OnConsent`, cuando un usuario interactúa con el banner de consentimiento. Escuchando este evento, puedes ejecutar código personalizado en respuesta al consentimiento del usuario.

**Código de ejemplo: establecer una cookie después del consentimiento de Targeting:**

Este es un ejemplo de cómo puedes establecer una nueva cookie cuando se concede el consentimiento de Targeting:

```
window.addEventListener('PandectesEvent_OnConsent', function(event) {
    if (event.detail.consentType === 'new') {
        if ((event.detail.preferences & 4) === 0) {
            // your code here
        }
    }
});
```

`consentType` es un valor de tipo cadena que representa el estado del consentimiento del usuario. Puede tomar uno de los siguientes valores:

* `default`: se aplica como política predeterminada cuando la página se carga por primera vez y el usuario todavía no ha tomado una decisión sobre sus preferencias de consentimiento.
* `new`: este valor indica que se ha dado un nuevo consentimiento, es decir, que el usuario ha tomado activamente una decisión sobre sus preferencias de consentimiento.
* `stored`: indica que el usuario dio su consentimiento en una interacción anterior y que este está almacenado actualmente.
* `revoke`: ocurre cuando un usuario revoca activamente su consentimiento en la página actual.

La propiedad `preferences` es fundamental para entender a qué categorías de cookies y de seguimiento ha dado su consentimiento el usuario. Se representa como un valor numérico, en el que cada categoría se indica mediante un bit concreto de la representación binaria de este número. Así se interpreta el valor de preferences:

* `preferences === 7`: este valor significa que solo se permiten las cookies estrictamente necesarias. El usuario ha bloqueado todas las demás categorías.
* `preferences === 0`: este valor significa que se permiten todas las cookies.
* `(preferences & 1) === 0`: si esta condición es verdadera, significa que se permiten las cookies y el seguimiento con fines de Functionality.
* `(preferences & 2) === 0`: si esta condición es verdadera, indica que se permiten las cookies y el seguimiento relacionados con Performance.
* `(preferences & 4) === 0`: cuando es verdadera, significa que se permiten las cookies y el seguimiento de Targeting.

**Desglose del código**

El detector de eventos se asocia al objeto window y escucha el evento `PandectesEvent_OnConsent`. Dentro del detector, una comprobación condicional `(if (event.detail.consentType === 'new'))` garantiza que el código se ejecute solo cuando se toma una nueva decisión de consentimiento. La parte crucial de este script es la instrucción condicional `if ((event.detail.preferences & 4) === 0)`. Esta operación a nivel de bits comprueba si se ha concedido el consentimiento de Targeting (representado por el número 4 en nuestro sistema). Si se cumple la condición, tu código puede ejecutarse dentro del bloque, y después puede usarse para el procesamiento de datos relacionado con Targeting.

### Conclusión

La ejecución de JavaScript personalizado después del consentimiento es una función potente que permite a los propietarios de tiendas Shopify adaptar el comportamiento de su sitio según las preferencias del usuario. Con este script de ejemplo, puedes asegurarte de que determinadas acciones de Targeting, como establecer una cookie concreta, se realicen solo después de obtener el consentimiento necesario, cumpliendo así las leyes de privacidad y respetando las decisiones de los usuarios. Sigue explorando funcionalidades como estas para mejorar el cumplimiento y la experiencia de usuario de tu tienda con nuestra aplicación [Pandectes GDPR Compliance](https://apps.shopify.com/gdpr-cookie-consent).