---
title: Integrazione CMP v2
slug: pubtech-cmp-v2/integrazione-cmp-v2
docTags: 
createdAt: 2021-04-23T08:44:49.000Z
---

L'integrazione della CMP di Pubtech è molto semplice.

Deve essere inserito all'interno del tag `<head>` della pagina il seguente blocco di codice che contiene sia i parametri di configurazione, che lo script.

```html
 <script type="text/javascript">
    var __pub_tech_cmp_config = {
        policyUrl: "", //(obbligatorio) Privacy policy url.
        websiteName: "", //(opzionale) Nome del sito / Ragione sociale editore
        logoUrl: "", //(opzionale) Logo del sito
        isFlatUI: false, //Se falso la CMP viene visualizzata come banner a centro pagina, se true allineata in basso
        flatUIPosition: 'top', //Se isFlatUI è true indicare "top" o "bottom" per la posizione della CMP.
        primaryColor: '#c66653', //Colore principale dei bottoni e dei link
        secondaryColor: '', //Colore secondario dei bottoni e dei link
        hideMoreOptionsButton: false, //Se impostato su true nasconde il bottone Gestisci opzioni dalla schermata CMP. ATTENZIONE, nascondendo il bottone si contravviene alla normativa sul GDPR
        onCmpReady: function () { //Metodo che viene lanciato quando il codice della CMP è stato caricato
            //This callback would be called when CMP is running.
            console.log("CMP is Ready");
        },
        advancedClose: true, //Se impostato su true, mostra la X in alto a destra per chiudere la CMP. ATTENZIONE il garante precisa che se l'utente chiude cliccando con la X vale come RIFIUTO
        switchCloseBtnToRight: true, //Se impostato a true, il bottone di chiusura sarà posizionato a destra.
        closeButtonType: 1, // 0 => Bottone con simbolo "X", 1 => "Continua senza accettare", 2 => Chiusura con testo personalizzato
        closeTextTranslations: { //Se closeButtonType è impostato a 2, inserire il testo.
          it: 'Prosegui senza cookies',
          en: 'Continue without cookies'
        },
        closeButtonColor: '', // Colore di chiusura (usato per tutti i tipi di chiusura).
        debug: false, //Debug del core della cmp, se true mostra messaggi in console del browser
        showCmpOpenButton: true, //Se impostato su true, mostra il bottone per ri-aprire la cmp e gestire il consenso
        positionCmpOpenButton: 'right', //Posizione del bottone per ri-aprire la cmp. Parametri accettati right o left
        lockBodyScroll: true, //Se impostato su true, blocca lo scrolling del sito quando la CMP è aperta
        technicalCookies: { //(opzionale) Schema di rappresentazione dei cookie tecnici, può essere impostata anche una sola lingua.
            it: [
            {
                name: 'CONSENT', //nome del cookie
                vendor: 'Youtube', //nome del vendor
                purpose: 'Utilizzato per rilevare se il visitatore ha accettato la categoria di marketing nel banner dei cookie. Questo cookie è necessario per la conformità GDPR del sito web.', //descrizione
                expirationInDays: 6022, //giorni scadenza
            },
            ],
            en: [
            {
                name: 'CONSENT',
                vendor: 'Youtube',
                purpose: 'Used by youtube.',
                expirationInDays: 6022,
            },
            ]
        },
        featureCookies: { //(opzionale) Schema di rappresentazione dei cookie di funzionalità, può essere impostata anche una sola lingua.
            it: [
            {
                name: 'CONSENT', //nome del cookie
                vendor: 'Youtube', //nome del vendor
                purpose: 'Utilizzato per rilevare se il visitatore ha accettato la categoria di marketing nel banner dei cookie. Questo cookie è necessario per la conformità GDPR del sito web.', //descrizione
                expirationInDays: 6022, //giorni scadenza
            },
            ],
            en: [
            {
                name: 'CONSENT',
                vendor: 'Youtube',
                purpose: 'Used by youtube.',
                expirationInDays: 6022,
            },
            ]
        },
        userExperienceCookies: { //(opzionale) Schema di rappresentazione dei cookie di esperienza utente, può essere impostata anche una sola lingua.
            it: [
            {
                name: 'CONSENT', //nome del cookie
                vendor: 'Youtube', //nome del vendor
                purpose: 'Utilizzato per rilevare se il visitatore ha accettato la categoria di marketing nel banner dei cookie. Questo cookie è necessario per la conformità GDPR del sito web.', //descrizione
                expirationInDays: 6022, //giorni scadenza
            },
            ],
            en: [
            {
                name: 'CONSENT',
                vendor: 'Youtube',
                purpose: 'Used by youtube.',
                expirationInDays: 6022,
            },
            ]
        },
        measurementCookies: { //(opzionale) Schema di rappresentazione dei cookie di misurazione, può essere impostata anche una sola lingua.
            it: [
            {
                name: 'CONSENT', //nome del cookie
                vendor: 'Youtube', //nome del vendor
                purpose: 'Utilizzato per rilevare se il visitatore ha accettato la categoria di marketing nel banner dei cookie. Questo cookie è necessario per la conformità GDPR del sito web.', //descrizione
                expirationInDays: 6022, //giorni scadenza
            },
            ],
            en: [
            {
                name: 'CONSENT',
                vendor: 'Youtube',
                purpose: 'Used by youtube.',
                expirationInDays: 6022,
            },
            ]
        },
    };

    window.__pub_tech_cmp_config = __pub_tech_cmp_config;
</script>
<script async data-cfasync="false" type='text/javascript' src='//cdn.pubtech.ai/v2/1.8.2/pubtech-cmp-v2.js'></script>

```

Callback eseguita alla quando l'utente da il consenso e nelle successive visite quando il consenso è presente:

```html
<script>
      var __pub_tech_cmp_on_consent_queue = __pub_tech_cmp_on_consent_queue || [];

    //All'interno della callback sono disponibili i dati relativi al consenso dell'utente 
      __pub_tech_cmp_on_consent_queue.push((consentStrings, consentObject, publisherConsentObject) => {
        console.log(consentStrings, consentObject, publisherConsentObject);
      });
</script>
```



