Gestión del consentimiento
El SDK proporciona un método setConsent() para actualizar el estado de consentimiento en cualquier momento. Las señales de consentimiento se mapean al formato Google Consent Mode v2 y se incluyen en cada carga de evento.
API de setConsent()
// Grant both analytics and marketing
converlay.setConsent({ analytics: true, marketing: true })
// Deny marketing (e.g., user declines cookie banner)
converlay.setConsent({ analytics: true, marketing: false })
// Update a single signal without affecting the other
converlay.setConsent({ marketing: false })Campos de ConsentInput
| Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
analytics | boolean | true | Permitir tracking analítico |
marketing | boolean | true | Permitir tracking de marketing/publicidad |
Mapeo a GCM v2
El SDK mapea tu entrada de consentimiento a señales de Google Consent Mode v2:
| ConsentInput | Señal GCM v2 |
|---|---|
analytics | analytics_storage |
marketing | ad_storage |
marketing | ad_user_data |
marketing | ad_personalization |
Consentimiento predeterminado (denegar por defecto)
Por defecto, tanto analytics como marketing son true. Para regiones compatibles con el RGPD, inicializa con el consentimiento denegado:
const converlay = createConverlay({
shopDomain: 'my-store.myshopify.com',
consent: {
analytics: false,
marketing: false,
},
})Los eventos se siguen enviando
El SDK envía eventos independientemente del estado de consentimiento. Las señales de consentimiento se incluyen en la carga, y el servidor de Converlay las utiliza para decidir qué destinos reciben cada evento. Esto asegura que los eventos puedan almacenarse en búfer y reenviarse una vez que se otorgue el consentimiento.
Customer Privacy API de Shopify
Si tu storefront headless usa la Customer Privacy API de Shopify, puedes sincronizar los cambios de consentimiento directamente:
// Listen for Shopify Customer Privacy API consent changes
if (window.Shopify?.customerPrivacy) {
window.Shopify.customerPrivacy.subscribe(
'visitorConsentCollected',
(event) => {
converlay.setConsent({
analytics: event.analyticsAllowed,
marketing: event.marketingAllowed,
})
}
)
}Gestores de consentimiento de terceros
Para gestores de consentimiento como OneTrust, Cookiebot o similares:
// OneTrust example
window.OptanonWrapper = () => {
const groups = window.OnetrustActiveGroups || ''
converlay.setConsent({
analytics: groups.includes('C0002'),
marketing: groups.includes('C0004'),
})
}