Skip to main content

Oggetto di configurazione

In questo paragrafo mostriamo la struttura dell’oggetto di configurazione del banner, in modo da illustrare cos’è che viene effettivamente inserito in pagina attraverso lo script.

L’oggetto di configurazione è un JSON contenente i parametri di configurazione necessari alla generazione del banner. Come già affermato in precedenza, l’oggetto viene generato dalla piattaforma Avacy SaaS dalla sezione apposita per un dato gruppo di domini e ogni label corrisponde a un preciso input field nella SaaS. Ogni modifica eseguita al banner comporta una sovrascrittura dell’oggetto di configurazione con i valori aggiornati, ciò implica che non c’è alcun versionamento del banner.

{ 
    "auto_language": true,
    "customVendorListUrl": "https://cdn.url.test/custom-vendor-list.json",
    "logo_url": "https://icons-for-free.com/iconfiles/png/512/cookie-1319971784454690183.png",
    "close_without_consents": true,
    "publisher": "publisher_name",
    "deviceEnvironment": "web", // oppure 'native' per ambiente mobile
    "config_version": 1,
    "policy_version": 2,
    "advanced_settings": true,
    "iabVendorListUrl": "https://cdn.test.it/assets/",
    "timeout": -1,
    "poi_activate_poi": false,
    "poi_group_name": "PoiGroupName",
    "poi_hub_origin": "https://test.jumpgroup.it",
    "poi_hub_path": "/hub.html",
    "show_limited_vendors_only": true,
    "iabVendorWhitelist": [3, 4, 5],
    "atpWhitelist": [39, 43, 46],
    "additionalConsentUrl": "https://cdn.test.it/assets/additional-consent-providers.json",
    "publicPath": "/",
    "cookie_expires_in_days": 15,
    "language": "it",
    "languages": {
            "it": {
                    "localeId": "it",
                    "version": 1,
                    "texts": {
                            "label_intro_heading": "Cookie e pubblicità su questo sito",
                            "label_button_yes": "Acconsento",
                            "label_intro": "Questo sito utilizza cookie e strumenti equivalenti, anche di terzi, per misurare il consumo e garantire la fruizione dei contenuti digitali, facilitare la navigazione, proporre pubblicità mirata. Per saperne di più puoi visionare l'informativa estesa <a href=\"https://www.test.it/privacy/CookiePolicy.html\" target=\"_blank\">cliccando qui</a>, per negare il consenso o gestire le tue preferenze usa il pulsante \"ESPRIMO PREFERENZE\". Premendo \"ACCONSENTO\" acconsenti all'uso di cookie e strumenti equivalenti.",
                            "label_cpc_heading": "Cookie e pubblicità su questo sito",
                            "label_cpc_text": "Puoi visionare l'Informativa estesa sui Cookie al seguente <a href=\"https://www.test.it/privacy/CookiePolicy.html\" target=\"_blank\">link</a>.",
                            "label_cpc_activate_all": "Attivare tutto",
                            "label_cpc_deactivate_all": "Disattiva tutto",
                            "label_third_party": "Fornitori Che Aderiscono a IAB TCF",
                            "label_cpc_purpose_title": "Finalità",
                            "label_cpc_special_purpose_title": "Finalità Speciali",
                            "label_cpc_feature_title": "Funzionalità",
                            "label_cpc_special_feature_title": "Funzionalità Speciali",
                            "label_cpc_read_less": "Leggi di meno.",
                            "label_cpc_read_more": "Leggi di più...",
                            "label_button_back": "Indietro",
                            "label_button_advanced_settings": "Esprimo preferenze",
                            "label_custom_thirdparty_heading": "Altri Fornitori",
                            "label_third_party_object_legint": "Legittimo interesse per i fornitori",
                            "label_cpc_purpose_optout_confirm_heading": "Sei sicuro?",
                            "label_cpc_purpose_optout_confirm_text": "Queste impostazioni modificheranno l'esperienza sul sito.",
                            "label_cpc_purpose_optout_confirm_proceed": "Contina",
                            "label_cpc_purpose_optout_confirm_cancel": "Cancella",
                            "label_poi_group_list_heading": "Lista delle unità aziendali",
                            "label_poi_group_list_text": "Unità aziendali",
                            "label_thirdparty_list_heading": "Your consent for third party software",
                            "label_thirdparty_list_text": "Here is a list of third party software.",
                            "label_nocookie_head": "In order to be able to provide our services in the best possible way, cookies must be activated in your browser.",
                            "label_nocookie_text": "Please activate cookies in the properties of your browsers. So you can do it in <a href=\"https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DDesktop&amp;hl=en-GB\" class=\"as-oil__intro-txt--link\" target=\"_blank\">Google Chrome</a> or <a href=\"https://support.mozilla.org/en-US/kb/cookies-information-websites-store-on-your-computer\" class=\"as-oil__intro-txt--link\" target=\"_blank\">Firefox</a>.\".",
                            "label_cpc_legal_purpose_consent": "Finalità (Consenso)",
                            "label_cpc_legal_purpose_leg_int": "Finalità (Legittimo Interesse)",
                            "label_cpc_legal_special_purposes": "Finalità Speciali",
                            "label_cpc_legal_features": "Funzionalità",
                            "label_cpc_legal_special_features": "Funzionalità Speciali",
                            "label_third_party_description": "Questi servizi aderiscono al <a target=\"_blank\" href=\"https://iabeurope.eu/transparency-consent-framework/\">IAB Transparency and Consent Framework (TCF)</a>.",
                            "label_cpc_save": "Salva e Continua",
                            "label_cpc_legint_box_text": "Permetti a questo servizio di trattare i tuoi dati sulla base di un interesse legittimo.",
                            "label_cpc_legint_infobox_title": "Legittimo interesse",
                            "label_cpc_legint_infobox_description": "Un \"interesse legittimo\" è un interesse che, in base alla legislazione applicabile, giustifica il trattamento di dati personali.<br>I servizi che decidono di fare affidamento su di un interesse legittimo possono processare i tuoi dati a meno che tu non ti opponga a tale trattamento.<br><p><b>Deselezionando questa casella eserciti il tuo diritto di opposizione.</b></p>",
                            "label_additional_consent_heading": "Google Partner"
                    }
            }
    },
    "visual_configuration" : {
            "colors": {
                    "text_color_primary": "#80888c",
                    "text_color_secondary": "#262628",
                    "background_color": "#f9f9f9",
                    "secondary_background_color": "#dedede",
                    "accent_primary": "#0099f2",
                    "btn_primary_background": "#0099f2",
                    "btn_primary_background_hover": "#0d9ef3",
                    "btn_primary_text_color": "#ffffff",
                    "btn_secondary_background": "#0099f2",
                    "btn_secondary_background_hover": "#0d9ef3",
                    "btn_secondary_text_color": "#ffffff",
                    "btn_disabled_background": "#dfdfdf",
                    "btn_disabled_text_color": "#545454",
                    "slider_background": "#b1b6b8",
                    "slider_background_circle": "#ffffff",
                    "third_parties_background": "#eff0f0"
            },
            "banner_position": "PositionBottom",
            "banner_animation": "SlideIn", 
            "font_base_scale": 1,
            "font_family": "Montserrat"
    }
}

Allo stato attuale, questo JSON viene salvato in uno storage remoto e lo script con id oil-configuration integrato in pagina si occupa di recuperarlo per mostrare il banner secondo la configurazione desiderata dall’utente.

Benché questa sia l’impostazione di default, è possibile fare l’override manuale dei parametri della configurazione intervenendo sullo script inserendo un JSON con le chiavi che si desidera modificare e il relativo valore. Ad esempio, per cambiare il parametro relativo alla durata di validità del consenso basta inserire un oggetto all’interno dello script nel seguente modo:

<script id="oil-configuration" type="application/configuration" data-remote-config="https://avacy-cdn.url/domain-group-uuid.json">
       {
           "cookie_expires_in_days": "180"
       }
</script>

Così facendo, il valore del parametro cookie_expires_in_days preso dalla configurazione remota sarà sovrascritto da quello inserito manualmente. In sostanza, i valori impostati in questo modo hanno priorità su quelli presenti nella configurazione remota.

Di seguito abbiamo una tabella con delle informazioni aggiuntive per ogni parametro presente nell’oggetto di configurazione. Per ciascuno di essi, è possibile effettuare l’override come mostrato in precedenza.

Settaggi Generali

Valori generici di configurazione

ParametroDescrizioneTipo
config_versionVersione dell’oggetto di configurazioneint
policy_versionVersione della privacy vigenteint
timeoutTimeout per l’auto-optin (-1 per disabilitare)int | -1
publicPathstring
cookie_expires_in_daysTempo di scadenza del cookie di OILint
languageLingua di partenza del banner
auto_languageFlag di lettura automatico dell’attributo lang della pagina HTMLbool
advanced_settingsAbilita il pannello delle preferenze bool
close_without_consentsAbilita la ‘x’ per rifiutare tuttobool
reject_allAbilita il pulsante ‘Rifiuta Tutto’bool
use_legintAbilita il legittimo interessebool
useStacksAbilita la visualizzazione in stacks[int]

Gestione Power-Optin

ParametroDescrizioneTipo
poi_activate_poiAttivatore power-optinbool
poi_group_nameNome del file JSON contenente i membri del gruppostring
poi_hub_originURL dell’hub del power-optinstring
poi_hub_pathPercorso relativo rispetto all’hub originstring

Gestione IAB

ParametroDescrizioneTipo
iabVendorListUrlBase URL da cui la GVL prende la vendor liststring
iabVendorWhitelistArray contenente gli id dei vendors visibili[int]
show_limited_vendors_onlyFlag per mostrare solo i vendor dello IAB in whitelistbool

Gestione Additional Consent

ParametroDescrizioneTipo
additionalConsentUrlURL che punta al JSON contenente gli additional consent vendorsstring
atpWhitelistArray di vendor visibili[int]

Gestione Custom Vendors

ParametroDescrizioneTipo
CustomVendorListUrlURL che punta al json contenente i custom vendorsstring

Gestione SDK

ParametroDescrizioneTipo
publisherNome del publisher se si vuole personalizzare la gestione delle SDKstring
deviceEnvironmentAmbiente di utilizzo del banner (“web”, “native”)string

Oggetto Languages

ParametroDescrizioneTipo
languagesOggetto contenente tutte le stringhe suddivise per lang_codeobject

Aspetto del banner

Generali

ParametroDescrizioneTipo
logo_urlURL del logo da far visualizzarestring
font_base_scaleMoltiplicatore del font base sizenumber
font_familyNome della famiglia dei font da richiamare alla regolastring

Colori

ParametroDescrizioneTipo
colorsOggetto contenente tutti i colori del bannerobject

Comportamento

ParametroDescrizioneTipo
banner_positionPosizione del banner, configurabile in 5 diversi modi.string
optin_on_scrollIndica se il consenso può essere prestato con lo scroll.bool
optin_scroll_amountIndica la quantità di scroll affinchè il consenso sia prestato.int
animationAnimazione in entrata scelta tra Opacità e Slidestring
require_optout_confirmValore Booleano che permette di attivare o disattivare la modale di conferma per la disattivazione dei consensi. Se non inserito il valore di default: falsebool

Testi del banner

Primo layer

ParametroDescrizione
Bottoni
label_button_yes Label pulsante per accettazione
label_button_advanced_settingsLabel pulsante pannello preferenze
label_button_reject_allLabel pulsante per rifiuto
Testi
label_intro_headingTitolo pannello layer 1
label_introTesto introduttivo

Secondo layer

ParametroDescrizione
Bottoni
label_cpc_activate_allLabel pulsante ‘Attiva Tutto’
label_cpc_deactivate_allLabel pulsante ‘Rifiuta Tutto’
label_button_backLabel pulsante ‘Indietro’
label_cpc_read_lessLabel pulsante ‘Leggi di meno’
label_cpc_read_moreLabel pulsante ‘Leggi di più’
label_cpc_saveLabel pulsante ‘Salva e Continua’
Testi
label_cpc_headingTitolo pannello layer 2
label_cpc_textTesto introduttivo pannello interno
Testi Finalità
label_cpc_purpose_titleTitolo finalità
Testi Finalità Speciali
label_cpc_special_purpose_titleTitolo finalità speciali
Testi Funzionalità
label_cpc_feature_titleTitolo funzionalità
Testi Funzionalità Speciali
label_cpc_special_feature_titleTitolo funzionalità speciali
Testi Dettaglio Vendor IAB e Custom Vendor
label_cpc_legal_purpose_consentLabel dettaglio vendor finalità
label_cpc_legal_special_purposes Label dettaglio vendor finalità speciali
label_cpc_legal_featuresLabel dettaglio vendor funzionalità
label_cpc_legal_special_featuresLabel dettaglio vendor funzionalità speciali
label_cpc_legal_purpose_leg_intLabel dettaglio vendor finalità (legittimo interesse)
IAB
label_third_partyTitolo tab laterale per IAB
label_third_party_descriptionTesto descrittivo sezione IAB
Altri Fornitori (Custom Vendors)
label_custom_thirdparty_headingTitolo tab laterale per altri fornitori
Additional Consent
label_additional_consent_headingTitolo tab laterale per additional consent
Legittimo interesse
label_third_party_object_legintTesto toggle attiva legint third party
label_cpc_legint_box_testTesto box di spunta legittimo interesse
label_cpc_legint_infobox_titleTitolo dell’infobox
label_cpc_legint_infobox_descriptionTesto dell’infobox
TCF 2.1
label_cpc_cookie_disclosure_infoLabel pulsante Maggiori informazioni
label_cpc_disclosure_panel_titleLabel titolo pannello Informazioni Aggiuntive
label_cpc_disclosure_duration_prefixPrefisso blocco cookie comunicato
label_cpc_retention_snippet_sessionLabel durata sessione
label_cpc_retention_snippet_undefinedTesto durata non definita
label_cpc_disclose_cookie_identifierTesto id cookie comunicato
label_cpc_disclose_cookie_typeTesto tipo cookie comunicato
label_cpc_disclose_cookie_domainTesto dominio cookie comunicato
label_cpc_disclose_cookie_durationTesto durata cookie comunicato
label_cpc_disclose_cookie_purposesTesto finalità cookie comunicato
Utilizzo Stack
label_cpc_more_stackTesto apertura dettaglio stack
label_cpc_less_stackTesto chiusura dettaglio stack

Modifica del Consenso

Al fine di poter ri-mostrare il banner e modificare il consenso, si potrà richiamare l’API showPreferenceCenter() in due modalità:

  • absolute: mostra il Pannello di Controllo in stile conforme al Cookie Banner iniziale, quindi nella stessa posizione. In questo caso non è necessario specificare il div tag contrassegnato dall’ id oil-preference-center.

  • inline: mostra il Pannello di Controllo esattamente dove viene inserito il tag

    <div id="oil-preference-center"></div>.
    

Se non dovesse essere inserito alcun parametro, il metodo si comporterà di default come se fosse “inline”, e mostrerà il Pannello di Controllo come ultimo elemento visibile del body.

Aggiunta dei custom vendors

I Custom Vendors sono vendors che non supportano lo standard IAB. Avacy supporta la possibilità di inserire una lista di custom vendors. Ciò è possibile dalla SaaS inserendo un URL a un file JSON che contiene la lista con i suddetti vendors.

Nell’immagine vediamo il risultato dell’aggiunta di un Custom Vendors all’interno della configurazione del banner. La sezione si colloca sotto i vendors IAB nel pannello preferenze.

alt_text

Come prima cosa è necessario creare un file json contenente la lista dei Custom Vendors desiderati.

Per ogni custom vendor è necessario specificare:

  • un id univoco;
  • un nome che verrà mostrato nel banner;
  • l’URL della policy del custom vendor;
  • gli id dei purpose associati;
  • due snippet Javascript uno per opt-in e uno per opt-out. Questi snippet vengono lanciati quando l'utente aggiorna il consenso.

Riportiamo un esempio di lista di custom vendors dove è stato aggiunto il vendor Google con relativi purpose e snippet.

{
  "vendorListVersion": 123,
  "lastUpdated": "2018-11-27T01:25:33+01:00",
  "vendors": [
    {
      "id": "Google",
      "name": "Google",
      "policyUrl": "https://support.google.com/admanager/answer/9012903?hl=it",
      "purposeIds": [1, 2, 4],
      "optInSnippet": "hasGoogleConsent=true", 
      "optOutSnippet": "hasGoogleConsent=false"
    }
  ]
}

Successivamente, è necessario effettuare due modifiche all’oggetto globale affinché il banner rispecchi l’aggiunta della lista di custom vendors.

A tale oggetto si va ad aggiungere il parametro customVendorListUrl, cioè l’URL pubblico contenente il JSON precedentemente creato (es: "//avacy.it/custom-vendors.json" ); infine vanno aggiunte le seguenti labels nell’oggetto di configurazione del banner, all’interno di ogni lingua che lo compone:

  • label_custom_thirdparty_heading: il testo dell’etichetta per il centro preferenze cookie della sezione dei custom vendors.
         "texts":{
            // ...            
            "label_cpc_heading":"Centro preferenze cookie",
            "label_third_party":" Fornitori che aderiscono a IAB TCF",
            "label_custom_thirdparty_heading " : "Altri fornitori",
            "label_intro_heading":"Utilizziamo i cookie e altre tecnologie",
            // ...

Visual configuration

La parte di configurazione visuale del banner è rappresentata dalla porzione di oggetto di configurazione identificato dalla chiave visual_configuration

L’oggetto seguente contiene dei valori di default.

 "visual_configuration" : {
            "colors": {
                    "text_color_primary": "#80888c",
                    "text_color_secondary": "#262628",
                    "background_color": "#f9f9f9",
                    "secondary_background_color": "#dedede",
                    "accent_primary": "#0099f2",
                    "btn_primary_background": "#0099f2",
                    "btn_primary_background_hover": "#0d9ef3",
                    "btn_primary_text_color": "#ffffff",
                    "btn_secondary_background": "#0099f2",
                    "btn_secondary_background_hover": "#0d9ef3",
                    "btn_secondary_text_color": "#ffffff",
                    "btn_disabled_background": "#dfdfdf",
                    "btn_disabled_text_color": "#545454",
                    "slider_background": "#b1b6b8",
                    "slider_background_circle": "#ffffff",
                    "third_parties_background": "#eff0f0"
            },
            "banner_position": "PositionBottom",
            "banner_animation": "SlideIn", 
            "font_base_scale": 1,
            "font_family": "Montserrat"
 }
Colors:
LabelSignificato
text_color_primaryColore primario del testo
text_color_secondaryColore secondario del testo
background_colorColore di sfondo del banner
secondary_background_colorColore di sfondo del banner secondario
accent_primaryAccent color primario
btn_primary_backgroundColore di sfondo del bottone primario
btn_primary_background_hoverColore di hover dello sfondo del bottone primario
btn_primary_text_colorColore di testo del bottone primario
btn_secondary_backgroundColore di sfondo del bottone secondario
btn_secondary_background_hoverColore di hover dello sfondo del bottone secondario
btn_secondary_text_colorColore di testo del bottone secondario
btn_disabled_backgroundColore di sfondo del bottone disabilitato
btn_disabled_text_colorColore di testo del bottone disabilitato
slider_backgroundColore di sfondo del toggle di selezione
slider_background_circleColore del cerchio del toggle di selezione
third_parties_backgroundColore di sfondo della sezione dedicata alle terze parti
LabelDescrizionePossibili valori
banner_positionPosizione del bannerIn alto, in basso, in alto al centro, in basso al centro, al centro
banner_animationAnimazione in entrataOpacità, slide
font_base_scaleDimensione del testopiccolo, medio, grande, dimensione personalizzata
font_familySpecifica la font family per il testo. Necessario includere il font.