CINXE.COM
Consent Database - JS Documentation - iubenda help
<!DOCTYPE html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta class="swiftype" name="tags" data-type="string" content="en"> <meta charset="utf-8"> <title>Consent Database - JS Documentation - iubenda help</title> <meta name="title" content="Consent Database - JS Documentation - iubenda help"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="en"> <meta name="locale" content="en"> <meta name="description" content="The Consent Database JavaScript library allows you to record consent actions performed by your users, referred to as “subjects,” throughout the rest of this guide. Setting up your Consent Database is easy! In short, it involves three main steps, which we’ll walk you through: After you’ve followed these three steps, you will be able to… Continue reading Consent Database – JS Documentation"> <meta name="robots" content="index"> <meta name="image" content="https://www.iubenda.com/seo/assets/default.png"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="Consent Database – JS Documentation"> <meta name="twitter:description" content="The Consent Database JavaScript library allows you to record consent actions performed by your users, referred to as “subjects,” throughout the rest of this guide. Setting up your Consent Database is easy! In short, it involves three main steps, which we’ll walk you through: After you’ve followed these three steps, you will be able to… Continue reading Consent Database – JS Documentation"> <meta name="twitter:site" content="@iubenda"> <meta name="twitter:image:src" content="https://www.iubenda.com/seo/assets/default.png"> <meta property="og:title" content="Consent Database – JS Documentation"> <meta property="og:description" content="The Consent Database JavaScript library allows you to record consent actions performed by your users, referred to as “subjects,” throughout the rest of this guide. Setting up your Consent Database is easy! In short, it involves three main steps, which we’ll walk you through: After you’ve followed these three steps, you will be able to… Continue reading Consent Database – JS Documentation"> <meta property="og:image" content="https://www.iubenda.com/seo/assets/default.png"> <meta property="og:url" content="https://www.iubenda.com/en/help/6473-consent-solution-js-documentation"> <meta property="og:site_name" content="iubenda"> <meta property="og:locale" content="en"> <meta property="og:type" content="website"> <meta property="fb:app_id" content="190131204371223"> <script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","url":"https://www.iubenda.com","name":"iubenda","logo":"https://www.iubenda.com/seo/assets/logo.png","sameAs":["https://www.facebook.com/iubenda","https://www.twitter.com/iubenda"],"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.8","reviewCount":"133"}}</script> <link rel="canonical" href="https://www.iubenda.com/en/help/6473-consent-solution-js-documentation" /> <link rel="alternate" href="https://www.iubenda.com/it/help/6530-consent-solution-documentazione-js" hreflang="it" /> <link rel="alternate" href="https://www.iubenda.com/en/help/6473-consent-solution-js-documentation" hreflang="en" /> <link rel="alternate" href="https://www.iubenda.com/de/help/29960-consent-solution-js-dokumentation" hreflang="de" /> <link rel="alternate" href="https://www.iubenda.com/es/help/40499-consent-solution-documentacion-de-js" hreflang="es" /> <link rel="alternate" href="https://www.iubenda.com/fr/help/57465-consent-database-documentation-js" hreflang="fr" /> <link rel="alternate" href="https://www.iubenda.com/pt-br/help/46112-consent-solution-documentacao-js" hreflang="pt-BR" /> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="cHNS00iMSa6mYzOoXtN8WFZLuIClA_G3op98Kh6OLGjuQjg-HLiNQJDjqTBjVEZnnLa0aOptmMQ6peaLwIn8Iw" /> <meta name="csp-nonce" content="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" /> <link nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" rel="preload" href="/assets/site-314e4e6152ff2dd794db7bab6963ff3ce11faa99762b3abac29741922f96eccb.js" as="script"> <link nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" rel="preload" href="/assets/core-ffc7831de07148fc03f772a1ff267ebd35acf5a1f3edd2f1c45c40933bd946ed.css" as="style"> <link nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" rel="preload" as="script" href="/assets/builds/growthbook-3b9344c70ddc480132f6.js"> <link nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" rel="preload" href="/assets/app-41e048d0cbf6e83bc7cc82a1f62755c1cbba8aadf4f1fc5044e61468f2a0a5a0.js" as="script"> <link nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" rel="preload" href="/assets/help-3b6462ab1db354f81c56a65e4037e1bfe0110c57f541d4ecc1e0dbf3b282b70d.js" as="script"> <link nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" rel="preload" href="https://cdn.iubenda.com/cons/beta/iubenda_cons.js" as="script"> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Medium-9c3fd6d5af782a4511dc56bc490a29d341f5f775a1473d9498abc91e0fe793db.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/icons/iubenda-519eefd5e2627f078cb37ad800d0876b5986439f792cc1ae8df4a4cbc4c5e660.woff" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Regular-f089423b22171f8b5954000d1136ad533e7c6942974875d514b75477680b2ac9.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Bold-c10fcca174a9767aab6fa40c8c39ce42a696a48fd3091732280196a1042e3abb.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Light-abd02846fe10b12c6394b41fd7ac3914ca8cbf09234e0001d696c724ae44102b.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/hk-grotesk/HKGrotesk-Italic-4a89ad60aaf82464ae047d83a45fc663f62823f102bcc8e9c8429dbc36ccd6f4.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/light-italic-318917ed1d2496362d0f10cf4cbc0f042223eb68d6c355159f93a6c67aa59fef.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/light-2d8a5a0678adfb941a86c53ab436176bbeba11994c0da2be4ef1f6902079c121.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/regular-italic-0e9999012ee0ca260e0ab1aaeeb21d60b6853ebf38fb09bf228be80cb2ef69a9.woff2" type="font/woff2" crossorigin> <link rel="preload" as="font" href="/assets/tisa/regular-833a2fba288bd5d9fcbdc7a268303eeeb6fe71f902ba7422c04ab9dcb19a7311.woff2" type="font/woff2" crossorigin> <link rel="stylesheet" href="/assets/core-ffc7831de07148fc03f772a1ff267ebd35acf5a1f3edd2f1c45c40933bd946ed.css" /> <link rel="preload" href="/assets/help-de56e2adf05bb2e958739ac773721cad924ffdebe199943fb4988e6a150d56e1.css" as="style"> <link rel="stylesheet" href="/assets/help-de56e2adf05bb2e958739ac773721cad924ffdebe199943fb4988e6a150d56e1.css" /> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ window.phraseappEnabled = null if (window.phraseappEnabled) { document.addEventListener('DOMContentLoaded', function() { $('body').on('click', '.pi_bc', function () { $('#iubenda-modal').removeAttr('tabindex'); }); }); } //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ window.CSP_NONCE = "01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"; //]]> </script> <script src="/assets/site-314e4e6152ff2dd794db7bab6963ff3ce11faa99762b3abac29741922f96eccb.js" nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"></script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ I18n.defaultLocale = "en"; I18n.locale = "en"; //]]> </script> <script src="/assets/app-41e048d0cbf6e83bc7cc82a1f62755c1cbba8aadf4f1fc5044e61468f2a0a5a0.js" nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"></script> <script src="/assets/builds/runtime-297cce3e714e6904dd20.js" async="async" nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"></script> <script src="/assets/help-3b6462ab1db354f81c56a65e4037e1bfe0110c57f541d4ecc1e0dbf3b282b70d.js" nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"></script> <link rel="P3Pv1" href="https://www.iubenda.com/w3c/p3p.xml"> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ var _iub = _iub || {}; _iub.cons = _iub.cons || {}; _iub.cons.api_base_url = 'https://consent.iubenda.com/beta/public/'; _iub.cons_instructions = _iub.cons_instructions || []; _iub.cons_instructions.push(['init', { api_key: 'TxVC3QW2DacksiUzfazNBocfStJA2s9O', log_level: 'error', sendFromLocalStorageAtLoad: true, }]); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" id="cons_script" src="https://cdn.iubenda.com/cons/beta/iubenda_cons.js" async="async"> //<![CDATA[ //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ document.getElementById('cons_script').onload = function() { _iub.cons.api_base_url = 'https://consent.iubenda.com/beta/public/' } //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ (function() { window._iub = window._iub || []; _iub.csConfiguration = { "cookiePolicyId": 252372, "siteId": 1, "lang": 'en', "logLevel": 'error', "enableRemoteConsent": false, "consentOnScroll": false, "enableUspr": true, "enableLgpd": true, "countryDetection": true, "perPurposeConsent": true, "whitelabel": false, "floatingPreferencesButtonDisplay": true, "consentOnContinuedBrowsing": false, "promptToAcceptOnBlockedElements": true, "banner": { "position": "float-top-center", "acceptButtonDisplay": true, "customizeButtonDisplay": true, "rejectButtonDisplay": true, "useCustomBrand": true, "brandTextColor": "#FFF", "brandBackgroundColor": "#1CC691", "acceptButtonColor": "#0073CE", "acceptButtonCaptionColor": "white", "customizeButtonColor": "#DADADA", "customizeButtonCaptionColor": "#4D4D4D", "rejectButtonColor": "#0073CE", "rejectButtonCaptionColor": "white", "textColor": "black", "backgroundColor": "white", "logo": "/assets/site/general/logo-whiteongreen-18a11ce988ecc91e9cd5433bcdc55e4023983ea75b8542ca108728f511881cf1.svg", "closeButtonRejects": true }, callback: { onActivationDone: function() { window.csActivationCompleted.resolve(); }, onPreferenceExpressedOrNotNeeded: function(prefs) { window.dispatchEvent(new Event('preference-expressed-or-not-needed')); const preferences = _iub.cs.api.getPreferences(); if (typeof preferences.id === 'undefined') { return; } // Handle quiz buttons for pricing pages const quizBtns = document.querySelectorAll(".appcues-quiz-btn"); if (preferences.purposes && preferences.purposes['4'] === true && preferences.purposes['5'] === true) { if( quizBtns.length > 0 ) { quizBtns.forEach( btn => { btn.classList.remove("disabled"); const alerts = document.querySelectorAll(".appcues-quiz-alert") alerts.forEach( alert => { alert.classList.add("d-none"); }); }); } } else { if( quizBtns.length > 0 ) { quizBtns.forEach( btn => { btn.classList.add("disabled"); const alerts = document.querySelectorAll(".appcues-quiz-alert") alerts.forEach( alert => { alert.classList.remove("d-none"); }); }); } } // Handle login button for Google Ads Login page const loginBtn = document.querySelector(".google-login-page .btn-google-oauth"); if (preferences.purposes && preferences.purposes['2'] === true) { if( loginBtn ) { loginBtn.classList.remove("disabled"); loginBtn.disabled = false; document.querySelector(".google-login-alert").classList.add("d-none"); } } else { if( loginBtn ) { loginBtn.classList.add("disabled"); loginBtn.disabled = true; document.querySelector(".google-login-alert").classList.remove("d-none"); } } // Handle chat button on dashboard sidebar const supportChatBtn = document.querySelector("#chat_support_box_button"); if( supportChatBtn ) { if (preferences.purposes && preferences.purposes['2'] === true && preferences.purposes['3'] === true && preferences.purposes['4'] === true && preferences.purposes['5'] === true) { document.querySelector("#support_box_accordion").classList.add("d-none"); supportChatBtn.classList.remove("d-none"); } } } }, "floatingPreferencesButtonZIndex": 1000, }; if (I18n.locale === 'da') { _iub.csConfiguration.banner.showPurposesToggles = true; } window.csActivationCompleted = jQuery.Deferred(); })(); //]]> </script> <script src="https://cs.iubenda.com/sync/252372.js" nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"></script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ gtag('set', 'url_passthrough', true); //]]> </script> <!-- <script src="//cdn.iubenda.com/cs/debugger.js"></script> --> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/javascript" src="//cdn.iubenda.com/cs/gpp/beta/stub.js"></script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/javascript" src= "//cdn.iubenda.com/cs/beta/iubenda_cs.js" charset="UTF-8" async></script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/plain" class="_iub_cs_activate" data-iub-purposes="5"> //<![CDATA[ (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; var n = d.querySelector('[nonce]'); n && j.setAttribute('nonce', n.nonce || n.getAttribute('nonce')); f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-PJDQKV'); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/plain" class="_iub_cs_activate" data-iub-purposes="5"> //<![CDATA[ (function(l,e,a,d,i,n,f,o){if(!l[i]){l.GlobalLeadinfoNamespace=l.GlobalLeadinfoNamespace||[]; l.GlobalLeadinfoNamespace.push(i);l[i]=function(){(l[i].q=l[i].q||[]).push(arguments)};l[i].t=l[i].t||n; l[i].q=l[i].q||[];o=e.createElement(a);f=e.getElementsByTagName(a)[0];o.async=1;o.src=d;f.parentNode.insertBefore(o,f);} }(window,document,'script','https://cdn.leadinfo.eu/ping.js','leadinfo','LI-665876B09328F')); //]]> </script> <link rel="shortcut icon" href="/favicon.ico"> <link rel="icon" type="image/png" href="/favicon.png"> <link rel="apple-touch-icon" href="/touch-icon-iphone.png"> </head> <body> <div class="top_bar" id="alert_msg" style="display:none;"> <div class="alert-message warning top"> <button id="alert-msg-site-close-button" class="close">×</button> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ document.querySelector('#alert-msg-site-close-button').addEventListener("click", function() { hideAlertMsg(); return false; }); //]]> </script> </div> </div> <header class="iub-header"> <div class="bg-gray-4 text-sm text-light py-2"> <div id="headerContainer" class="container"> <div class="d-flex justify-content-between align-items-center"> <div class="d-flex align-items-center"> <div> <ul class="list-unstyled mb-0 d-flex align-items-center"> <li class="list-inline-item"> <div class="dropdown"> <button class="btn btn-sm btn-faded-05 text-light dropdown-toggle rounded" type="button" id="dropdown-language" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="i-world mr-1 align-middle"></i><span>English</span> </button> <div class="lang_selector dropdown-menu" aria-labelledby="dropdown-language"> <a class="dropdown-item" data-locale="en" href="/en/help/6473-consent-solution-js-documentation" title="iubenda - privacy policy generator - English version">English </a> <a class="dropdown-item" data-locale="it" href="/it/help/6530-consent-solution-documentazione-js" title="iubenda - generatore di privacy policy - versione italiana">Italiano </a> <a class="dropdown-item" data-locale="de" href="/de/help/29960-consent-solution-js-dokumentation" title="iubenda - Datenschutzerklärung-Generator - Deutsche Version">Deutsch </a> <a class="dropdown-item" data-locale="es" href="/es/help/40499-consent-solution-documentacion-de-js" title="iubenda - generador de políticas de privacidad - versión en español">Español </a> <a class="dropdown-item" data-locale="fr" href="/fr/help/57465-consent-database-documentation-js" title="iubenda - générateur de politique de confidentialité - version française">Français </a> <a class="dropdown-item" data-locale="pt-BR" href="/pt-br/help/46112-consent-solution-documentacao-js" title="iubenda - gerador de política de privacidade - versão em português">Português (BR) </a> <a class="dropdown-item" data-locale="nl" href="/nl/help" title="iubenda - privacybeleid-generator - Nederlandstalige versie">Nederlands </a> <a class="dropdown-item" data-locale="da" href="/da/help" title="iubenda – generator af privatlivspolitik – Dansk version">Dansk </a> <a class="dropdown-item" data-locale="pt" href="/pt/help" title="iubenda - gerador de política de privacidade - versão em português">Português </a> </div> </div> </li> <li class="list-inline-item d-none d-lg-flex"> <span class="unread-wrap flex-shrink"></span> </li> </ul> </div> <div id="appcues-launchpad"></div> </div> <div class="text-right"> <ul class="list-unstyled mb-0 d-flex align-items-center"> <li class="list-inline-item mr-2"><a data-lightbox=true href="/en/login?ref=header">Login</a></li> <li class="list-inline-item"><a data-lightbox=true href="/en/signup" class="btn btn-sm btn-dark text-white js-header-signup-button">Sign up</a></li> </ul> </div> </div> </div> </div> <div class="bg-white"> <div class="container"> <div class="row justify-content-between pt-3 pb-3"> <div class="col-8 d-block d-lg-flex"> <a href="/en/" class="d-inline-block mr-5"> <img width="92" height="33" alt="Iubenda logo" data-lazy-src="/assets/site/general/logo-bfafd02b1fe7dcf519f04f8f0a03c74573d4e051c3a18ae9aa39bdf0cb2b9ec6.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="92" height="33" alt="Iubenda logo" src="/assets/site/general/logo-bfafd02b1fe7dcf519f04f8f0a03c74573d4e051c3a18ae9aa39bdf0cb2b9ec6.svg" /> </noscript> </a> <ul class="d-block d-lg-flex list-unstyled mb-0 d-inline-block mainmenu" id="mainMenu" itemscope itemtype="http://schema.org/SiteNavigationElement"> <li class="align-self-center has-nav"> <span class="lh-2 p-3">Products and services</span> <nav class="text-sm"> <div class="p-4"> <div class="mb-4"> <p class="serif text-light">A complete set of solutions to make your website or app compliant with the law, on multiple languages and legislations</p> <ul class="list-unstyled mb-0"> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="/en/overview" class="btn btn-sm btn-outline-primary d-block">Overview</a> </li> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="/en/pricing" class="btn btn-sm btn-outline-primary d-block">Pricing</a> </li> </ul> </div> <div class="row line-between-columns"> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Privacy Policy icon" data-lazy-src="/assets/site/products/privacy_policy-6641fa252acadc2d7bbbb2ba7a127e9765cacbbb50f11264df6bcb68e657e81c.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Privacy Policy icon" src="/assets/site/products/privacy_policy-6641fa252acadc2d7bbbb2ba7a127e9765cacbbb50f11264df6bcb68e657e81c.svg" /> </noscript> </div> <div> <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>For websites/apps</div> </div> <h4 class="text-sm mb-1"><a href="/en/privacy-and-cookie-policy-generator">Privacy and Cookie Policy Generator</a></h4> <div class="d-block d-lg-none"> <button role="link" class="btn btn-primary btn-sm text-white rarr js-redirect-button" data-url="/en/privacy-and-cookie-policy-generator">Explore</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Create your privacy and cookie policy in minutes.<br /><br /> Customizable from 2000+ clauses, available in 14 languages and automatically updated if the law changes, our generator allows you to create a legal document in minutes and seamlessly integrate it with your website or app.</p> <button role="link" class="btn btn-primary btn-sm text-white rarr js-redirect-button" data-url="/en/privacy-and-cookie-policy-generator">Explore</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/en/features#privacy-and-cookie-policy" class="link-underline line-highlight">Features</a></li> <li class="list-inline-item"><a href="/en/help/463-generate-privacy-policy" class="link-underline line-highlight">Documentation and guides</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Cookie Solution icon" data-lazy-src="/assets/site/products/cookie_solution-7c6de9a79e77ad5d6e4cc5bae39b4fc1ed83d7425fa260cb612ef4e86eec1493.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Cookie Solution icon" src="/assets/site/products/cookie_solution-7c6de9a79e77ad5d6e4cc5bae39b4fc1ed83d7425fa260cb612ef4e86eec1493.svg" /> </noscript> </div> <div > <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>For websites/apps</div> </div> <h4 class="text-sm mb-1"><a href="/en/cookie-solution">Privacy Controls and Cookie Solution</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/cookie-solution">Explore</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Manage consent preferences for the ePrivacy, GDPR, CPRA (CCPA amendment) and LGPD. Integrated with the IAB TCF and CCPA Compliance Framework.<br /><br /> Our solution allows you to display a fully customizable cookie banner/consent banner, collect cookie consent, implement prior blocking (including auto-blocking), set advertising preferences, and more.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/cookie-solution">Explore</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/en/features#cookie-solution" class="link-underline line-highlight">Features</a></li> <li class="list-inline-item mr-2"><a href="/en/help/1177-cookie-solution-getting-started" class="link-underline line-highlight">Documentation and guides</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Terms and Conditions icon" data-lazy-src="/assets/site/products/terms_and_conditions-b2ecac04071503f53269125183052405bee78d8199cd799047bf382eaf79e6c3.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Terms and Conditions icon" src="/assets/site/products/terms_and_conditions-b2ecac04071503f53269125183052405bee78d8199cd799047bf382eaf79e6c3.svg" /> </noscript> </div> <div > <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>For websites/apps</div> </div> <h4 class="text-sm mb-1"><a href="/en/terms-and-conditions-generator">Terms and Conditions Generator</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/terms-and-conditions-generator">Explore</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Create your terms and conditions in minutes.<br /><br />Customizable from hundreds of combinations, available in 14 languages, powerful and precise — our solution is capable of handling even the most complex, individual scenarios. Optimized for e-commerce, marketplace, SaaS, apps and more.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/terms-and-conditions-generator">Explore</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/en/features#terms-and-conditions" class="link-underline line-highlight">Features</a></li> <li class="list-inline-item mr-2"><a href="/en/help/19461-how-to-generate-terms-and-conditions" class="link-underline line-highlight">Documentation and guides</a></li> </ul> </div> </div> </div> </div> </div> </div> <hr class="m-0"> <div class="p-4"> <div class="row line-between-columns"> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Whistleblowing Management Tool icon" data-lazy-src="/assets/site/products/whistleblowing_management_tool-ac418c64cbbf6682be183ece94551a4d57d581829315827ab215e2b4e3bd1ed6.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Whistleblowing Management Tool icon" src="/assets/site/products/whistleblowing_management_tool-ac418c64cbbf6682be183ece94551a4d57d581829315827ab215e2b4e3bd1ed6.svg" /> </noscript> </div> <div> <div class="products_tags mb-3"> <div><i class="i-check mr-1 text-md"></i>For organizations</div> </div> <h4 class="text-sm mb-1"><a href="/en/whistleblowing-management-tool">Whistleblowing Management Tool</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/whistleblowing-management-tool">Explore</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Provide an easy-to-use internal reporting channel as required by the EU Whistleblower Directive for organizations with 50+ employees. Instantly generate your forms to embed or print. <br><br> Collect and manage whistleblower reports from employees and other individuals connected to your organization while safeguarding their identities and ensuring confidentiality. Tailored for EU businesses and global organizations dedicated to ethical transparency.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/whistleblowing-management-tool">Explore</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/en/features#whistleblower" class="link-underline line-highlight">Features</a></li> <li class="list-inline-item"><a href="https://www.iubenda.com/en/help/141269-eu-whistleblower-directive-guide-iubenda-tool" class="link-underline line-highlight">Documentation and guides</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="Consent Solution icon" data-lazy-src="/assets/site/products/consent_solution-aa3b8ec9c422f9c7b1c30bf3ec445232ea3c36df666784b2add0329bf1dcc1bf.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="Consent Solution icon" src="/assets/site/products/consent_solution-aa3b8ec9c422f9c7b1c30bf3ec445232ea3c36df666784b2add0329bf1dcc1bf.svg" /> </noscript> </div> <div> <div class="products_tags mb-3"> <div class="mb-1"><i class="i-check mr-1 text-md"></i>For websites/apps</div> <div><i class="i-check mr-1 text-md"></i>For organizations</div> </div> <h4 class="text-sm mb-1"><a href="/en/consent-solution">Consent Database</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/consent-solution">Explore</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Collect GDPR & LGPD consent, document opt-ins and <a href="/en/help/19133#right-to-opt-out" class="link-underline text-dark">CPRA (CCPA amendment) opt-outs</a> via your web forms.<br /><br /> Our solution smoothly integrates with your consent collection forms, syncs with your legal documents and includes a user-friendly dashboard for reviewing consent records of your activities.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/consent-solution">Explore</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/en/features#consent-solution" class="link-underline line-highlight">Features</a></li> <li class="list-inline-item"><a href="/en/help/6469-consent-solution-getting-started" class="link-underline line-highlight">Documentation and guides</a></li> </ul> </div> </div> </div> </div> <div class="col-lg"> <div class="d-flex"> <div class="mr-3"> <img width="72" height="72" alt="IPM icon" data-lazy-src="/images/site/products/ipm.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img width="72" height="72" alt="IPM icon" src="/images/site/products/ipm.svg" /> </noscript> </div> <div > <div class="products_tags mb-3"> <div class="mb-1"><i class="i-check mr-1 text-md"></i>For websites/apps</div> <div><i class="i-check mr-1 text-md"></i>For organizations</div> </div> <h4 class="text-sm mb-1"><a href="/en/internal-privacy-management">Register of Data Processing Activities</a></h4> <div class="d-block d-lg-none"> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/internal-privacy-management">Explore</button> </div> <div class="d-none d-lg-block"> <p class="text-muted serif text-sm">Document all the data processing activity within your organization.<br /><br /> To comply with privacy laws, and particularly the GDPR, companies need to record how they store and use the data they collect from their users. Our solution allows you to easily document all the data processing activities within your organization.</p> <button class="btn btn-primary btn-sm text-white rarr js-redirect-button" role="link" data-url="/en/internal-privacy-management">Explore</button> <ul class="list-unstyled mb-3 mt-3"> <li class="list-inline-item mr-2"><a href="/en/features#internal-privacy-management" class="link-underline line-highlight">Features</a></li> <li class="list-inline-item"><a href="/en/help/6311-internal-privacy-management-getting-started" class="link-underline line-highlight">Documentation and guides</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="p-2 bg-faded-5-gray text-dark" style="border-top: 1px solid rgba(0,0,0,0.1)"> <div class="d-block d-lg-flex align-items-center justify-content-between text-md"> <div class="col-lg"> Not sure what you need? <a href="/en/help/5463" class="rarr link-underline line-highlight line-light-blue text-secondary"> Getting started guide </a> </div> <div class="col-lg text-right"> <a href="https://www.iubenda.com/blog/" class="btn btn-dark-gray text-dark d-block d-md-inline-block mb-2 mb-lg-0">Blog</a> <a href="mailto:info@iubenda.com" data-elevio-module="2" data-elevio-style="nothing" class="btn btn-dark-gray text-dark d-block d-md-inline-block">Contact us</a> </div> </div> </div> </nav> </li> <li class="align-self-center has-nav"> <a class="pricing-link" href="/en/pricing"><span class="lh-2 p-3">Pricing</span></a> </li> <li class="align-self-center has-nav"> <span class="lh-2 p-3">iubenda for...</span> <nav class="text-sm sm"> <div class="p-4 overflow-auto"> <div class="mb-4"> <h3 class="text-lg">Use cases</h3> <p class="serif text-light">Some of the ways you can use iubenda</p> <ul class="list-unstyled mb-3 mt-3 text-nowrap"> <li> <a href="/en/us-privacy-law-compliance" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for the US </a> </li> <li> <a href="/en/gdpr" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for GDPR </a> </li> <li> <a href="/en/fadp" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for FADP </a> </li> <li> <a href="/en/lgpd" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for LGPD </a> </li> <li> <a href="/en/mobile" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for mobile apps </a> </li> <li> <a href="/en/facebook" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Facebook apps </a> </li> <li> <a href="/en/partner-program" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Agencies </a> </li> <li> <a href="/en/enterprise" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Enterprise companies </a> </li> <li> <a href="https://www.iubenda.com/en/help/149409-join-the-iubenda-affiliate-program" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Affiliates </a> </li> <li> <a href="https://www.iubenda.com/en/help/132915-iubenda-for-publishers" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Publishers </a> </li> <li> <a href="/en/google-consent-mode-v2-certified-cmp" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Google Consent Mode </a> </li> <li> <a href="https://www.iubenda.com/en/help/139694-rejection-recovery-boost-consent-rates" class="link-underline line-highlight line-green text-green-dark rarr"> iubenda for Consent optimization </a> </li> </ul> </div> </div> </nav> </li> </ul> </div> <div class="col text-right"> <a href="/en/start-generating?wizard=true" data-has-close-button="true" data-close-on-click="false" class="btn btn-primary text-white d-none d-lg-inline-block lightbox"> Start generating </a> <div id="hamburgerButton" class="hamburger d-inline-block d-lg-none"> <span></span> <span></span> <span></span> </div> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ $('#hamburgerButton').on('click', function () { $(this).toggleClass('active'); $('#mainMenu').toggleClass('show'); }); //]]> </script> </div> </div> </div> </div> </header> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ $(document).ready(function() { $('#headerContainer').find('[data-toggle="tooltip"]').tooltip() $('#team-select-mobile, #team-select-desktop').on('change', function() { var switchPath = $(this).val(); $.post(switchPath, {}, function(response) { window.location = response.redirect_url; }); }); $('.select-team').on('click', function(e) { // avoid triggering the toggle of the parent dropdown e.stopPropagation(); }); document.querySelectorAll('.js-redirect-button').forEach(function(button) { button.addEventListener('click', function() { window.location.href = button.getAttribute('data-url'); }); }); }); //]]> </script><script src="/assets/site/dropdown_component-4701934910eeccad9109.js" nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"></script> <style type="text/css"> /* Prettify */ .com { color: #93a1a1; } .lit { color: #195f91; } .pun, .opn, .clo { color: #93a1a1; } .fun { color: #dc322f; } .str, .atv { color: #268bd2; } .kwd, .tag { color: #195f91; } .typ, .atn, .dec, .var { color: #CB4B16; } .pln { color: #93a1a1; } pre.prettyprint { background: #fefbf3; /* padding: 9px; border: 1px solid rgba(0,0,0,.2); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1); box-shadow: 0 1px 2px rgba(0,0,0,.1); max-width: 630px; font-size: 12px; */ border:0; margin: 2rem auto; width: 90%; box-shadow: 0 16px 32px rgba(0,0,0,0.1); border-radius: 6px; padding: 1rem; background-color: rgba(255, 222, 171, 0.16); } .help_page .post_body pre.prettyprint ol li { font-size: 12px; } /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin: 0 0 0 0; } /* IE indents via margin-left */ ol.linenums li { color: rgba(0,0,0,.15)} /* Alternate shading for lines */ .prettyprint li, .help_page .post_body .prettyprint li { padding-bottom: 0 } li.L1, li.L3, li.L5, li.L7, li.L9 { background: rgba(238, 238, 238, 0.26); } li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { list-style-type: decimal !important } .gist { max-width: 650px; } #activate-ai-search { text-decoration: underline; } </style> <section class="mt-5 mb-5 help-tpl__header"> <div class="container"> <section class="mb-5"> <h2 class="text-xl mb-3">Documentation</h2> <nav class="breadcrumb d-none d-lg-block"> <a class="breadcrumb-item" href="/">Home</a> <span class="breadcrumb-item active">Documentation</span> </nav> </section> <div class="mb-5"> <div class="clearfix"> <div class="float-right ml-3"> <button class="st-default-search-btn btn btn-dark-gray px-3">Search</button> </div> <div class="oh"> <input type="text" class="w-100 st-default-search-input" placeholder="Search the documentation..."> </div> </div> <div class="mt-3 text-center"> <a href="#" id="activate-ai-search" class="invisible"> Try our new AI assistant -> </a> </div> </div> </div> </section> <section class="mt-5 mb-5 help-tpl__body"> <div class="container"> <div class="row gutter-lg"> <div class="col-lg-3 text-sm doc_aside help-tpl__side-menu" data-swiftype-index="false"> <div class="help_main_menu mb-4"> <div class="mb-3 d-block d-lg-none"> <button class="btn btn-sm btn-outline-light px-4 btn-aside">Hide index</button> </div> <nav> <ul> <li class="has_child category-title 5220"> Getting Started <ul> <li class="5463"> <a href="/en/help/5463-how-to-comply-with-the-gdpr-cookie-law-caloppa-and-ccpa-cpra">Getting Started Guide</a> </li> <li class="5428"> <a href="/en/help/5428-gdpr-guide">Complete guide to the GDPR</a> </li> <li class="separator 17976"> </li> <li class="category-title 17975"> <strong>Compliance for:</strong> </li> <li class="17366"> <a href="/en/help/17366-laws-regulations-every-blogger-should-know">Simple Websites / Blogs</a> </li> <li class="17754"> <a href="/en/help/17754-laws-regulations-every-ecommerce-owner-should-know">E-commerce Websites</a> </li> <li class="14787"> <a href="/en/help/14787-laws-regulations-every-app-developer-should-know">App Developers</a> </li> <li class="20713"> <a href="/en/help/20713-individual-services">Individual Services</a> </li> </ul> </li> <li class="has_child category-title 5135"> Legal Requirements <ul> <li class="5720"> <a href="/en/help/5720-legal-requirements-overview">Legal Requirements Overview</a> </li> <li class="524"> <a href="/en/help/524-how-to-determine-your-law-of-reference">How to Determine Your Law of Reference</a> </li> <li class="6187"> <a href="/en/help/6187-what-should-be-in-a-privacy-policy">What is a Privacy Policy and Do You Need One?</a> </li> <li class="7816"> <a href="/en/help/7816-impressum-what-is-it-and-when-is-it-needed">Impressum: What Is It and When Is It Needed</a> </li> <li class="has_child category-title 6835"> Main Legislations <ul> <li class="category-title 5234"> <strong>GDPR</strong> </li> <li class="5428"> <a href="/en/help/5428-gdpr-guide">Complete guide to the GDPR</a> </li> <li class="6738"> <a href="/en/help/6738-gdpr-offline-compliance-duties">GDPR Offline Compliance Duties</a> </li> <li class="66232"> <a href="/en/help/66232-third-party-vs-data-processor">Third party vs Data Processor</a> </li> <li class="26171"> <a href="/en/help/26171-web-agency-responsibilities-gdpr">Web agency’s responsibilities according to the GDPR</a> </li> <li class="5858"> <a href="/en/help/5858-switch-privacy-policy-options">Picking the Right Privacy Policy Options</a> </li> <li class="25229"> <a href="/en/help/25229-gdpr-treatment-of-services-that-do-not-collect-personal-data">GDPR treatment of services that do not collect personal data</a> </li> <li class="7399"> <a href="/en/help/7399-right-to-be-forgotten">How to Prove You Honored the Right to Be Forgotten</a> </li> <li class="3272"> <a href="/en/help/3272-eu-us-data-privacy-framework-certification-integration">EU-US Data Privacy Framework: How Can iubenda Help</a> </li> <li class="65844"> <a href="/en/help/65844-eu-us-trans-atlantic-data-privacy-framework">Green Light for the Data Privacy Framework: EU to US Personal Data Transfers Now Approved </a> </li> <li class="145851"> <a href="/en/help/145851-a-detailed-look-at-the-eu-ai-act">A Detailed Look at the EU AI Act</a> </li> <li class="71983"> <a href="/en/help/71983-uk-gdpr-post-brexit-updates">UK GDPR Post Brexit Updates</a> </li> <li class="73808"> <a href="/en/help/73808-uk-data-reform-bill-and-ai-regulation">UK Data Reform Bill and AI Regulation</a> </li> <li class="74228"> <a href="/en/help/74228-right-to-be-forgotten-and-iubendas-consent-solution">The Right to be Forgotten and iubenda’s Consent Database</a> </li> <li class="78656"> <a href="/en/help/78656-consent-vs-legitimate-interest">Consent vs. Legitimate interest: what’s the difference?</a> </li> <li class="separator 17455"> </li> <li class="category-title 6838"> <strong>Cookie Law / ePrivacy</strong> </li> <li class="5525"> <a href="/en/help/5525-cookies-gdpr-requirements">Cookies and the GDPR: What’s Really Required?</a> </li> <li class="64227"> <a href="/en/help/64227-what-are-trackers">What are trackers?</a> </li> <li class="6293"> <a href="/en/help/6293-cookie-consent-management-faq">Manage Cookie Consent Easily</a> </li> <li class="124203"> <a href="/en/help/124203-cookie-policy-do-you-need-one-heres-everything-you-need-to-know">Cookie Policy – Everything you need to know</a> </li> <li class="7515"> <a href="/en/help/7515-which-data-can-be-safely-stored-in-cookies-without-having-to-request-consent">Which Data Can Be Safely Stored in Cookies Without Having to Request Consent?</a> </li> <li class="24487"> <a href="/en/help/24487-cookie-walls-gdpr">Is the use of a cookie wall allowed in European Countries?</a> </li> <li class="6282"> <a href="/en/help/6282-legal-sources-third-party-cookie-names-opt-out-requirements">Legal Sources on Third-Party Cookie Names and Opt-Out Mechanisms</a> </li> <li class="31246"> <a href="/en/help/31246-italy-new-cookie-rules">Italy’s new cookie guidelines (and how to comply)</a> </li> <li class="separator 19148"> </li> <li class="category-title 19149"> <strong>US State Laws</strong> </li> <li class="111288"> <a href="/en/help/111288-us-state-privacy-laws-overview">US State Privacy Laws Overview</a> </li> <li class="19133"> <a href="/en/help/19133-ccpa-compliance-guide">Complete guide to the CCPA</a> </li> <li class="22574"> <a href="/en/help/22574-guide-to-the-ccpa-concept-of-sale">An In-depth Look at the CCPA Concept of Sale</a> </li> <li class="109571"> <a href="/en/help/109571-ccpa-toll-free-number-requirement">CCPA toll-free number requirement</a> </li> <li class="73819"> <a href="/en/help/73819-cpra-intro-to-the-ccpa-2-0-and-how-it-affects-you">CPRA: Intro to the CCPA 2.0 and how it affects you</a> </li> <li class="106345"> <a href="/en/help/106345-virginia-consumer-data-protection-act-vcdpa">Virginia Consumer Data Protection Act (VCDPA)</a> </li> <li class="107739"> <a href="/en/help/107739-colorado-privacy-act-cpa">Colorado Privacy Act (CPA)</a> </li> <li class="107774"> <a href="/en/help/107774-utah-consumer-privacy-act-the-ucpa">Utah Consumer Privacy Act (the UCPA)</a> </li> <li class="107759"> <a href="/en/help/107759-connecticut-data-privacy-act-ctdpa">Connecticut Data Privacy Act (CTDPA)</a> </li> <li class="separator 17456"> </li> <li class="category-title 17437"> <strong>CalOPPA and COPPA</strong> </li> <li class="6841"> <a href="https://www.iubenda.com/blog/guide-coppa-mobile-apps/">COPPA and Mobile Apps</a> </li> <li class="separator 17457"> </li> <li class="category-title 26861"> <strong>LGPD</strong> </li> <li class="26706"> <a href="/en/help/26706-lgpd-guide">Complete guide to the LGPD</a> </li> <li class="104366"> <a href="/en/help/104366-brazil-new-cookie-requirements">Brazil: New Cookie Requirements</a> </li> <li class="110776"> <a href="/en/help/110776-brazil-cookie-requirement-cheatsheet">Brazil Cookie Requirement Cheatsheet</a> </li> <li class="27616"> <a href="/en/help/27616-lgpd-privacy-policy-example">LGPD Privacy Policy Example</a> </li> <li class="separator 26860"> </li> <li class="category-title 146111"> <strong>Whistleblowing</strong> </li> <li class="142962"> <a href="/en/help/142962-understanding-the-basics-of-whistleblowing">Understanding the Basics of Whistleblowing</a> </li> <li class="143589"> <a href="/en/help/143589-navigating-whistleblowing-laws-an-international-overview">Navigating Whistleblowing Laws: An International Overview</a> </li> <li class="144294"> <a href="/en/help/144294-how-to-implement-whistleblower-protections-in-your-organization">How to Implement Whistleblower Protections in Your Organization</a> </li> <li class="separator 146112"> </li> <li class="category-title 17438"> <strong>Other Legislations</strong> </li> <li class="13856"> <a href="/en/help/13856-privacy-policies-and-australian-law">Privacy Policies and Australian Law</a> </li> <li class="75419"> <a href="/en/help/75419-fadp-updates-what-you-need-to-know">FADP Updates – What You Need to Know</a> </li> </ul> </li> <li class="has_child category-title 5237"> Common Scenarios <ul> <li class="category-title 17443"> <strong>Blogs and Websites</strong> </li> <li class="8385"> <a href="/en/help/8385-gdpr-for-bloggers">How to Make Your Site Compliant (for Bloggers and Web Publishers)</a> </li> <li class="11028"> <a href="/en/help/11028-wordpress-gdpr-compliance">How to Comply with the GDPR on a WordPress Site</a> </li> <li class="78016"> <a href="/en/help/78016-how-to-handle-data-privacy-complaints-your-5-step-guide">How to Handle Data Privacy Complaints | Your 5-Step guide</a> </li> <li class="separator 17458"> </li> <li class="category-title 25888"> <strong>E-commerce</strong> </li> <li class="25877"> <a href="/en/help/25877-terms-conditions-ecommerce-stores">Terms and Conditions for eCommerce (and how they protect your online store)</a> </li> <li class="separator 25886"> </li> <li class="category-title 6842"> <strong>Emails and Newsletters</strong> </li> <li class="5640"> <a href="/en/help/5640-email-newsletter-compliance-guide">How to Make your Emails and Newsletter Compliant (with Form Examples)</a> </li> <li class="4315"> <a href="/en/help/4315-eprivacy-direct-email-marketing">ePrivacy and Direct Email Marketing (DEM)</a> </li> <li class="6192"> <a href="/en/help/6192-opt-in-opt-out">Opt-In vs Opt-Out: What’s the Difference?</a> </li> <li class="13638"> <a href="/en/help/13638-privacy-policy-gdpr-forms-and-consent-collection-for-mailchimp">Privacy policy, GDPR forms and consent collection for Mailchimp</a> </li> <li class="39705"> <a href="/en/help/39705-global-email-marketing-cheatsheet">Global Email Marketing Cheatsheet</a> </li> <li class="separator 17459"> </li> <li class="category-title 6840"> <strong>Apps</strong> </li> <li class="147125"> <a href="/en/help/147125-app-privacy-policy-what-you-need-to-know-examples">App Privacy Policy: What you Need to Know + Examples</a> </li> <li class="401"> <a href="/en/help/401-privacy-policy-for-ios-and-macos-apps">Privacy Policy for iOS and macOS Apps</a> </li> <li class="11552"> <a href="/en/help/11552-privacy-policy-for-android-apps">Privacy Policy for Your Android App</a> </li> <li class="38933"> <a href="/en/help/38933-google-play-new-safety-section">Google Play adds new “safety section” to make data collection more transparent</a> </li> <li class="39254"> <a href="/en/help/39254-privacy-policy-for-windows-apps">Privacy Policy for Windows Apps</a> </li> <li class="1353"> <a href="/en/help/1353-cookies-mobile-apps">Cookies and Mobile Apps</a> </li> <li class="separator 24789"> </li> <li class="category-title 24788"> <strong>Facebook Pages and Apps</strong> </li> <li class="22930"> <a href="/en/help/22930-privacy-policy-facebook-page">Privacy Policy for Facebook Pages</a> </li> <li class="13561"> <a href="/en/help/13561-privacy-policy-for-facebook-apps">Privacy Policy for Facebook Apps</a> </li> <li class="separator 17460"> </li> <li class="category-title 17442"> <strong>Children</strong> </li> <li class="5717"> <a href="/en/help/5717-legal-requirements-websites-apps-children">Legal Requirements for Websites and Apps Used by Children</a> </li> <li class="11429"> <a href="/en/help/11429-minors-and-the-gdpr">Minors and the GDPR</a> </li> <li class="separator 17461"> </li> <li class="category-title 17444"> <strong>Multi-lingual Websites and Apps</strong> </li> <li class="539"> <a href="/en/help/539-privacy-policy-different-languages">When Do You Need a Privacy Policy in Different Languages</a> </li> <li class="separator 17462"> </li> <li class="category-title 14005"> <strong>Ads and Affiliate Programs</strong> </li> <li class="12047"> <a href="/en/help/12047-privacy-policy-for-google-adsense">Privacy Policy for Google AdSense</a> </li> <li class="12079"> <a href="/en/help/12079-privacy-policy-for-google-ads-remarketing">Privacy Policy for Google Ads Remarketing</a> </li> <li class="17620"> <a href="/en/help/16041">How to Collect Consent for Google Ad Personalization</a> </li> <li class="12158"> <a href="/en/help/12158-privacy-policy-facebook-lead-ads">Privacy Policy for Facebook Lead Ads</a> </li> <li class="13990"> <a href="/en/help/13990-amazon-affiliate-program-required-privacy-policy-additions">Amazon Affiliate Program</a> </li> <li class="separator 17463"> </li> <li class="category-title 6844"> <strong>Analytics and Other Google Services</strong> </li> <li class="72017"> <a href="/en/help/72017-is-google-analytics-illegal-in-the-eu-and-uk">Is Google Analytics illegal in the EU and UK?</a> </li> <li class="72356"> <a href="/en/help/72356-google-analytics-4-all-you-need-to-know">Google Analytics 4 – all you need to know</a> </li> <li class="11994"> <a href="/en/help/11994-privacy-policy-for-google-analytics">Privacy Policy for Google Analytics</a> </li> <li class="1184"> <a href="/en/help/1184-how-to-anonymize-ip-addresses-and-avoid-the-cross-referencing-of-data-in-google-analytics">How to Anonymize IP Addresses and Avoid the Cross-Referencing of Data in Google Analytics</a> </li> <li class="7227"> <a href="/en/help/7227-google-analytics-gdpr-monitoring-behavior">Google Analytics and the GDPR: Is It Considered Monitoring Behavior?</a> </li> <li class="12379"> <a href="/en/help/12379-privacy-policy-google-analytics-advertising-remarketing">Privacy Policy for Google Analytics Advertising and Remarketing Features</a> </li> <li class="18852"> <a href="/en/help/18852-privacy-policy-google-oauth">Privacy Policy for Google OAuth</a> </li> <li class="14936"> <a href="/en/help/14936-place-of-processing-customisation-for-google-services">Place of Processing Customisation for Google Services</a> </li> <li class="142541"> <a href="/en/help/142541-google-ads-consent-mode">Google Ads Consent Mode – Everything You Need To Know</a> </li> <li class="separator 146117"> </li> <li class="category-title 146116"> <strong>Workplace</strong> </li> <li class="144878"> <a href="/en/help/144878-how-technology-helps-businesses-build-effective-whistleblowing-systems">How Technology Helps Businesses Build Effective Whistleblowing Systems</a> </li> <li class="143344"> <a href="/en/help/143344-whistleblowing-reporting-process-in-the-workplace">The A-Z of Whistleblowing Reporting Process in the Workplace</a> </li> <li class="143363"> <a href="/en/help/143363-how-organizations-should-handle-whistleblowing-reports">Managing Whistleblowing: How Organizations Should Handle Reports</a> </li> <li class="142946"> <a href="/en/help/142946-whistleblowing-education-in-the-workplace">Whistleblowing 101: A Guide to Whistleblowing Education in the Workplace</a> </li> <li class="142908"> <a href="/en/help/142908-ethics-at-work-crafting-a-supportive-whistleblowing-culture">Ethics at Work: Crafting a Supportive Whistleblowing Culture</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 5222"> Privacy and Cookie Policy Generator <ul> <li class="has_child category-title 5223"> Creating Your Policy <ul> <li class="category-title 17502"> <strong>Generating</strong> </li> <li class="463"> <a href="/en/help/463-generate-privacy-policy">How to Create a Privacy Policy</a> </li> <li class="1175"> <a href="/en/help/1175-generate-cookie-policy">How to Generate a Cookie Policy</a> </li> <li class="25434"> <a href="/en/help/25434-cookie-lifetime">How to Display the Cookie Lifetime in Your Cookie Policy</a> </li> <li class="5853"> <a href="/en/help/5853-gdpr-protections-users">How to Apply GDPR Protections Only to EU Users or to All Users</a> </li> <li class="21474"> <a href="/en/help/21474-how-to-apply-state-specific-us-standards-within-the-generator">How to Apply State-Specific US Standards within the Generator</a> </li> <li class="separator 17511"> </li> <li class="category-title 17503"> <strong>Adding Services</strong> </li> <li class="20"> <a href="/en/help/20-services-privacy-policy">How to Add Services to Your Privacy Policy</a> </li> <li class="19004"> <a href="/en/help/19004-how-to-use-the-site-scanner-from-within-the-generator">Using the Site Scanner to Identify Missing Services</a> </li> <li class="386"> <a href="/en/help/386-how-to-add-a-custom-service-and-customize-to-your-needs">How to Add a Custom Service and Customize to Your Needs</a> </li> <li class="separator 17510"> </li> <li class="category-title 17504"> <strong>Adding Owner Details</strong> </li> <li class="7850"> <a href="/en/help/7850-what-is-meant-by-the-identifiying-details-of-the-data-controller">What is meant by the identifying details of the Data Controller</a> </li> <li class="3486"> <a href="/en/help/3486-the-owner-field-within-the-generator">The Owner Field Within the Generator</a> </li> <li class="separator 17509"> </li> <li class="category-title 17505"> <strong>Languages</strong> </li> <li class="137"> <a href="/en/help/137-add-language">How to Add Another Language to Your Documents</a> </li> </ul> </li> <li class="has_child category-title 17500"> Editing/Updating Your Policy <ul> <li class="2739"> <a href="/en/help/2739-edit-privacy-policy">How to Edit a Privacy Policy</a> </li> <li class="3810"> <a href="/en/help/3810-how-to-delete-a-privacy-policy">How to Delete a Privacy Policy</a> </li> <li class="68865"> <a href="/en/help/68865-how-to-duplicate-an-existing-site">How to duplicate an existing site</a> </li> <li class="separator 17508"> </li> <li class="category-title 17506"> <strong>iubenda Branding</strong> </li> <li class="166"> <a href="/en/help/166-remove-iubenda-branding">How to Remove iubenda Branding</a> </li> <li class="2848"> <a href="/en/help/2848-remove-iubenda-disclaimer">Can I Remove the "iubenda hosts this page" Disclaimer</a> </li> <li class="separator 5235"> </li> <li class="category-title 17507"> <strong>Advanced Settings</strong> </li> <li class="4158"> <a href="/en/help/4158-force-update">How to Force Update & Change the “Last updated” Date Information</a> </li> <li class="4825"> <a href="/en/help/4825-customize-this-application">Customize the Way Your Website or App Is Referred To in Your Privacy Policy</a> </li> <li class="11072"> <a href="/en/help/11072-customize-privacy-and-cookie-policy-internal-links">Customize Privacy and Cookie Policy Internal Links</a> </li> </ul> </li> <li class="has_child category-title 5224"> Embedding Your Policy <ul> <li class="category-title 17512"> <strong>General</strong> </li> <li class="231"> <a href="/en/help/231-ways-to-use-iubenda-privacy-policy-on-your-site-and-app">Ways to Use iubenda’s Privacy Policy on Your Site and App</a> </li> <li class="216"> <a href="/en/help/216-privacy-policy-standard-embedding">Standard Embedding</a> </li> <li class="228"> <a href="/en/help/228-privacy-policy-direct-link">Direct Link</a> </li> <li class="78"> <a href="/en/help/78-privacy-policy-direct-text-embedding-api">Direct Text Embedding via JS or API</a> </li> <li class="5339"> <a href="/en/help/5339-behavior-of-iubenda-embedding-options-when-javascript-is-disabled">Behavior of iubenda Embedding Options When JavaScript Is Disabled</a> </li> <li class="separator 17517"> </li> <li class="category-title 17513"> <strong>Apps</strong> </li> <li class="17838"> <a href="/en/help/401">iOS and macOS</a> </li> <li class="1528"> <a href="/en/help/1528-privacy-policy-for-tvos-apps-apple-tv">tvOS (Apple TV)</a> </li> <li class="17837"> <a href="/en/help/11552">Android</a> </li> <li class="3744"> <a href="/en/help/3744-how-to-add-android-and-ios-mobile-permissions-for-device-data">How to Add Android and iOS Mobile Permissions for Device Data</a> </li> <li class="337"> <a href="/en/help/337-legal-documents-offline-viewing">Make Your Legal Documents Available for Offline Viewing</a> </li> <li class="separator 5253"> </li> <li class="category-title 17514"> <strong>Popular Platforms</strong> </li> <li class="100"> <a href="/en/help/100-how-to-add-your-privacy-policy-to-the-amazon-store">Amazon Store</a> </li> <li class="53052"> <a href="/en/help/53052-how-to-add-a-privacy-and-cookie-policy-on-bigcommerce">Bigcommerce</a> </li> <li class="1419"> <a href="/en/help/1419-how-to-use-iubenda-privacy-and-cookie-policy-on-a-epages-website">ePages</a> </li> <li class="53619"> <a href="/en/help/53619-how-to-add-a-privacy-policy-on-ghost">Ghost</a> </li> <li class="53326"> <a href="/en/help/53326-how-to-add-a-privacy-policy-on-hubspot">HubSpot</a> </li> <li class="3798"> <a href="/en/help/3798-how-to-use-iubenda-privacy-and-cookie-policy-on-a-jimdo-website">Jimdo</a> </li> <li class="546"> <a href="/en/help/546-how-to-use-iubenda-privacy-and-cookie-policy-on-a-joomla-website">Joomla!</a> </li> <li class="567"> <a href="/en/help/567-how-to-use-iubenda-privacy-and-cookie-policy-on-a-magento-website">Magento</a> </li> <li class="3592"> <a href="/en/help/3592-how-to-add-matomo-clauses-to-iubendas-privacy-and-cookie-policy">Matomo (Formerly Piwik)</a> </li> <li class="1502"> <a href="/en/help/1502-how-to-use-iubenda-privacy-and-cookie-policy-on-a-prestashop-website">PrestaShop</a> </li> <li class="3796"> <a href="/en/help/3796-shopify-privacy-policy">Shopify</a> </li> <li class="12794"> <a href="/en/help/12794-squarespace-privacy-policy">Squarespace</a> </li> <li class="26324"> <a href="/en/help/26324-privacy-policy-ucraft">Ucraft</a> </li> <li class="18524"> <a href="/en/help/18524-privacy-policy-webflow">Webflow</a> </li> <li class="53504"> <a href="/en/help/53504-how-to-add-a-privacy-policy-on-weebly">Weebly</a> </li> <li class="23080"> <a href="/en/help/23080-privacy-policy-wix">Wix</a> </li> <li class="370"> <a href="/en/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website">WordPress</a> </li> <li class="3905"> <a href="/en/help/3905-how-to-use-iubenda-privacy-and-cookie-policy-on-wordpress-com">WordPress.com</a> </li> <li class="separator 19583"> </li> <li class="category-title 19584"> <strong>Advanced</strong> </li> <li class="12260"> <a href="/en/help/12260-how-to-configure-content-security-policy-to-allow-iubenda-scripts-to-execute">How to Configure your Content Security Policy for iubenda</a> </li> </ul> </li> <li class="has_child category-title 5832"> Troubleshooting and FAQs <ul> <li class="304"> <a href="/en/help/304-how-to-use-the-iubenda-dashboard">How to Access the iubenda Dashboard</a> </li> <li class="3803"> <a href="/en/help/3803-must-i-repeat-the-process-of-adding-services-for-every-language-in-which-i-generate-the-policy">Must I Repeat the Process of Adding Services for Every Language in Which I Generate the Policy?</a> </li> <li class="3953"> <a href="/en/help/3953-how-to-honor-and-include-a-do-not-track-clause-in-the-privacy-policy">How to Honor and Include a “Do Not Track” Clause in the Privacy Policy</a> </li> <li class="3025"> <a href="/en/help/3025-what-is-the-difference-between-the-privacy-and-cookies-policy-generator-and-the-cookie-solution">What Is the Difference Between the Privacy and Cookie Policy Generator and the Privacy Controls and Cookie Solution?</a> </li> <li class="2824"> <a href="/en/help/2824-what-is-the-difference-between-the-integration-of-the-privacy-policy-and-the-one-of-the-cookie-solution">What’s the Difference Between the Integration of the Privacy Policy and Cookie Solution?</a> </li> <li class="438"> <a href="/en/help/438-which-countries-is-your-privacy-policy-good-for">Which Countries Is Your Privacy Policy Good For?</a> </li> <li class="407"> <a href="/en/help/407-copy-and-paste">Can I Copy and Paste the Privacy Policy's Text into My Website?</a> </li> <li class="450"> <a href="/en/help/450-is-it-ok-to-include-the-same-privacy-policy-in-other-sites-and-apps">Is it ok to include the same privacy policy in other sites and apps?</a> </li> <li class="15546"> <a href="/en/help/15546-how-to-start-the-iubenda-initializer-asynchronously">How to start the iubenda initializer asynchronously</a> </li> <li class="separator 30085"> </li> <li class="category-title 30086"> <strong>Changelog</strong> </li> <li class="30061"> <a href="/en/help/30061-pcp-legal-changelog">Legal Changelog</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 5225"> Privacy Controls and Cookie Solution <ul> <li class="has_child category-title 17486"> Introduction <ul> <li class="1177"> <a href="/en/help/1177-cookie-solution-getting-started">Introduction and Getting Started</a> </li> <li class="262"> <a href="/en/help/262-how-to-identify-the-cookies-your-site-installs-in-browsers">How to Identify the Cookies Your Site Installs in Browsers</a> </li> </ul> </li> <li class="has_child category-title 17482"> Cookie Banner Setup and Customization <ul> <li class="3831"> <a href="/en/help/3831-customize-cookie-banner">How to Customize the Look and Behavior of the Cookie Banner (Beginner’s Guide)</a> </li> <li class="1175"> <a href="/en/help/1175-generate-cookie-policy">How to Generate a Cookie Policy for the Cookie Banner</a> </li> <li class="1205"> <a href="/en/help/1205-how-to-configure-your-cookie-solution-advanced-guide">How to Configure Your Privacy Controls and Cookie Solution (Advanced Guide)</a> </li> <li class="separator 17615"> </li> <li class="category-title 17614"> <strong>Advertising Tracking Preferences</strong> </li> <li class="7440"> <a href="/en/help/7440-the-complete-guide-to-iubenda-cmp-and-iab-tcf-2-2">The complete guide to IAB GDPR Framework and iubenda’s Consent Management Platform</a> </li> <li class="16041"> <a href="/en/help/16041-google-tcf-consent-personalized-ads">Google and TCF 2.0: how to collect consent for personalized ads</a> </li> <li class="23271"> <a href="/en/help/23271-tcf-2-0-transition-guide">TCF 2.0 Transition Guide</a> </li> <li class="separator 17494"> </li> <li class="category-title 17488"> <strong>Languages</strong> </li> <li class="1180"> <a href="/en/help/1180-cookie-policy-and-cookie-solution-for-multilingual-websites">Cookie Policy and Privacy Controls and Cookie Solution for Multilingual Websites</a> </li> <li class="1209"> <a href="/en/help/1209-how-to-use-the-cookie-solution-in-a-multilingual-wordpress-site">How to Use the Privacy Controls and Cookie Solution in a Multilingual WordPress Site</a> </li> </ul> </li> <li class="has_child category-title 21259"> For US <ul> <li class="21165"> <a href="/en/help/21165-how-to-comply-with-us-state-privacy-laws-using-iubenda">How to comply with US state privacy laws using iubenda</a> </li> </ul> </li> <li class="has_child category-title 5226"> Installation and Prior Blocking Implementation <ul> <li class="36226"> <a href="/en/help/36226-cookie-solution-custom-website-installation-guide">Custom Website</a> </li> <li class="separator 36291"> </li> <li class="category-title 36292"> <strong>Plugins and integrations</strong> </li> <li class="56404"> <a href="/en/help/56404-how-to-add-a-cookie-solution-to-bigcommerce">BigCommerce</a> </li> <li class="56370"> <a href="/en/help/56370-how-to-add-a-cookie-solution-to-ghost">Ghost</a> </li> <li class="148057"> <a href="/en/help/148057-hubspot-cookie-banner-how-to-add-a-cookie-banner-on-hubspot-with-iubenda">HubSpot</a> </li> <li class="10777"> <a href="/en/help/10777-cookie-solution-jimdo-integration-guide">Jimdo</a> </li> <li class="1323"> <a href="/en/help/1323-cookie-solution-joomla-plugin-installation-guide">Joomla! Extension</a> </li> <li class="9591"> <a href="/en/help/9591-cookie-solution-magento-extension-installation-guide">Magento Extension</a> </li> <li class="4338"> <a href="/en/help/4338-cookie-solution-prestashop-plugin-installation-guide">PrestaShop Plugin</a> </li> <li class="10811"> <a href="/en/help/10811-cookie-solution-shopify">Shopify</a> </li> <li class="12848"> <a href="/en/help/12848-cookie-solution-squarespace-integration-guide">Squarespace</a> </li> <li class="26363"> <a href="/en/help/26363-cookie-solution-ucraft">Ucraft</a> </li> <li class="18531"> <a href="/en/help/18531-cookie-solution-webflow">Webflow</a> </li> <li class="56488"> <a href="/en/help/56488-how-to-add-a-cookie-solution-to-weebly">Weebly</a> </li> <li class="24221"> <a href="/en/help/24221-cookie-banner-wix">Wix</a> </li> <li class="1215"> <a href="/en/help/1215-cookie-solution-wordpress-plugin-installation-guide">WordPress Plugin</a> </li> <li class="separator 5374"> </li> <li class="category-title 5358"> <strong>Prior Blocking Implementation</strong> </li> <li class="3081"> <a href="/en/help/3081-prior-blocking-of-cookie-scripts">Introduction to the Prior Blocking of Cookie Scripts</a> </li> <li class="1229"> <a href="/en/help/1229-manual-tagging-blocking-cookies">Manual Tagging (with Practical Examples)</a> </li> <li class="133036"> <a href="/en/help/133036-prior-blocking-of-cookies-automatic-blocking-auto-blocking">Automatic Blocking (auto-blocking)</a> </li> <li class="1235"> <a href="/en/help/1235-google-tag-manager-blocking-cookies">Google Tag Manager</a> </li> <li class="74198"> <a href="/en/help/74198-google-consent-mode-set-up-google-tag-manager-with-iubenda">Google Consent Mode: Set up Google Tag Manager with iubenda</a> </li> <li class="27137"> <a href="/en/help/27137-google-consent-mode">Google Consent Mode</a> </li> <li class="1182"> <a href="/en/help/1182-google-adsense-ad-manager-blocking-cookies">Google AdSense and Ad Manager</a> </li> <li class="1976"> <a href="/en/help/1976-php-class-blocking-cookies">PHP Class</a> </li> <li class="22135"> <a href="/en/help/22135-cookie-solution-amp-wordpress">How to integrate iubenda Privacy Controls and Cookie Solution with Google AMP (WordPress method included)</a> </li> <li class="separator 19644"> </li> <li class="category-title 17483"> <strong>Advanced</strong> </li> <li class="18678"> <a href="/en/help/18678-cookie-solution-consents-migration">How to migrate consents from a previous provider to the Privacy Controls and Cookie Solution</a> </li> <li class="46731"> <a href="/en/help/46731-how-to-retrieve-proof-of-a-cookie-preferences-for-specific-users">How to retrieve proof of cookie preferences</a> </li> <li class="3834"> <a href="/en/help/3834-cache-and-optimisation-of-the-iubenda-cookie-solution">Cache, Speed and Other Optimization of the iubenda Privacy Controls and Cookie Solution</a> </li> <li class="23633"> <a href="/en/help/23633-how-to-invoke-cookie-solution-api-methods-from-an-iframe">How to invoke Privacy Controls and Cookie Solution API methods from an iframe</a> </li> <li class="12503"> <a href="https://www.iubenda.com/en/help/12260">How to Configure your Content Security Policy for iubenda</a> </li> <li class="separator 17492"> </li> <li class="category-title 17490"> <strong>Stats</strong> </li> <li class="2426"> <a href="/en/help/2426-cookie-solution-analytics-and-stats">Analytics and Stats</a> </li> </ul> </li> <li class="has_child category-title 146392"> <strong>For Mobile</strong> <ul> <li class="19678"> <a href="/en/help/19678-cs-for-mobile-developers-guide">Privacy Controls and Cookie Solution for mobile | Developer’s Guide</a> </li> <li class="145991"> <a href="/en/help/145991-iubenda-sdk-integration-with-google-consent-mode-v2-for-firebase-analytics">iubenda mobile SDK – Integration with Google Consent Mode V2 for Firebase Analytics</a> </li> </ul> </li> <li class="has_child category-title 5357"> Troubleshooting and FAQs <ul> <li class="3062"> <a href="/en/help/3062-how-are-calculated-the-pageviews-of-the-cookie-solution">How Are the Privacy Controls and Cookie Solution Pageviews Calculated?</a> </li> <li class="3812"> <a href="/en/help/3812-where-can-i-find-my-cookie-policy-and-site-ids">Where Can I Find My Cookie Policy and Site Ids?</a> </li> <li class="2690"> <a href="/en/help/2690-can-i-integrate-the-cookie-policy-within-my-website-using-the-direct-text-embedding-and-api">Can I Integrate the Cookie Policy Within My Website Using the Direct Text Embedding and API?</a> </li> <li class="3182"> <a href="/en/help/3182-cookie-consent-amp-pages">How do I collect cookie consent on AMP pages?</a> </li> <li class="105616"> <a href="/en/help/105616-how-to-solve-common-cookie-solution-issues-with-cache-plugins-and-optimization-features">How to solve common Privacy Controls and Cookie Solution issues with cache plugins and optimization features</a> </li> <li class="151085"> <a href="/en/help/151085-why-is-data-decreasing-after-installing-google-consent-mode-v2">Why Is Data Decreasing After Installing Google Consent Mode v2?</a> </li> <li class="166100"> <a href="/en/help/166100-how-to-hide-the-iubenda-banner-on-specific-pages">How to Hide the iubenda Banner on Specific Pages</a> </li> <li class="separator 17493"> </li> <li class="category-title 17491"> <strong>Channels and Changelog</strong> </li> <li class="2158"> <a href="/en/help/2158-cookie-solution-release-channels">Delivery Channels</a> </li> <li class="1970"> <a href="/en/help/1970-cookie-solution-changelog">Changelog</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 17474"> Terms and Conditions Generator <ul> <li class="2859"> <a href="/en/help/2859-terms-and-conditions-when-are-they-needed">What Are the Terms and Conditions and When Are They Needed?</a> </li> <li class="19482"> <a href="/en/help/19482-what-should-basic-terms-and-conditions-include">What Should Basic Terms and Conditions Include?</a> </li> <li class="20504"> <a href="/en/help/20504-can-i-use-a-terms-and-conditions-template">Can I use a Terms and Conditions template?</a> </li> <li class="has_child category-title 19560"> Creating Your Document <ul> <li class="19461"> <a href="/en/help/19461-how-to-generate-terms-and-conditions">How to Generate Terms and Conditions</a> </li> <li class="19668"> <a href="/en/help/3486">The Owner Field Within the Generator</a> </li> <li class="19667"> <a href="/en/help/137">How to Add Another Language to Your Documents</a> </li> </ul> </li> <li class="has_child category-title 19561"> Editing/Updating Your Document <ul> <li class="19356"> <a href="/en/help/19356-edit-terms-and-conditions">How to Edit your Terms and Conditions</a> </li> <li class="19340"> <a href="/en/help/19340-delete-terms-and-conditions">How to Delete your Terms and Conditions</a> </li> <li class="separator 19570"> </li> <li class="category-title 19571"> <strong>Advanced options</strong> </li> <li class="19673"> <a href="/en/help/4158">How to Force Update & Change the "Last updated" Date Information</a> </li> <li class="19674"> <a href="/en/help/4825">Customize the way your website or app is referred to in your documents</a> </li> </ul> </li> <li class="has_child category-title 19562"> Embedding Your Document <ul> <li class="category-title 47874"> <strong>General</strong> </li> <li class="19253"> <a href="/en/help/19253-integrate-terms-and-conditions-on-your-site-and-app">How to Integrate iubenda’s Terms and Conditions on your Site and App</a> </li> <li class="19675"> <a href="/en/help/337">Make Your Legal Documents Available for Offline Viewing</a> </li> <li class="separator 47876"> </li> <li class="category-title 47875"> <strong>Popular Platforms</strong> </li> <li class="52091"> <a href="/en/help/52091-how-to-add-terms-and-condition-on-amazon">Amazon</a> </li> <li class="49324"> <a href="/en/help/49324-how-to-add-terms-and-conditions-on-bigcommerce">Bigcommerce</a> </li> <li class="51396"> <a href="/en/help/51396-how-to-add-terms-and-conditions-on-ghost">Ghost</a> </li> <li class="50402"> <a href="/en/help/50402-how-to-add-terms-and-conditions-on-hubspot">HubSpot</a> </li> <li class="51558"> <a href="/en/help/51558-how-to-add-terms-and-conditions-on-jimdo">Jimdo</a> </li> <li class="49571"> <a href="/en/help/49571-how-to-add-terms-and-conditions-on-joomla">Joomla!</a> </li> <li class="51470"> <a href="/en/help/51470-how-to-add-terms-and-conditions-on-magento">Magento</a> </li> <li class="49740"> <a href="/en/help/49740-how-to-add-terms-and-conditions-to-prestashop">PrestaShop</a> </li> <li class="49143"> <a href="/en/help/49143-how-to-add-terms-and-conditions-on-squarespace">Squarespace</a> </li> <li class="52812"> <a href="/en/help/52812-how-to-add-terms-and-conditions-on-shopify">Shopify</a> </li> <li class="50101"> <a href="/en/help/50101-how-to-add-terms-and-conditions-on-ucraft">Ucraft</a> </li> <li class="48828"> <a href="/en/help/48828-how-to-add-terms-and-conditions-on-webflow">Webflow</a> </li> <li class="50267"> <a href="/en/help/50267-how-to-add-terms-and-conditions-on-weebly">Weebly</a> </li> <li class="47938"> <a href="/en/help/47938-how-to-add-terms-and-conditions-to-wix">Wix</a> </li> <li class="45671"> <a href="/en/help/45671-how-to-add-terms-and-conditions-on-woocommerce-stores">WooCommerce</a> </li> <li class="47465"> <a href="/en/help/47465-how-to-add-terms-and-conditions-on-wordpress">WordPress</a> </li> <li class="46214"> <a href="/en/help/46214-how-to-add-terms-and-conditions-on-wordpress-com">WordPress.com</a> </li> <li class="separator 19581"> </li> <li class="category-title 19580"> <strong>Advanced</strong> </li> <li class="19579"> <a href="/en/help/12260">How to Configure your Content Security Policy for iubenda</a> </li> </ul> </li> <li class="has_child category-title 19563"> Troubleshooting and FAQs <ul> <li class="19676"> <a href="/en/help/407">Can I Copy and Paste the Text of the Legal Documents into My Website?</a> </li> <li class="separator 68080"> </li> <li class="category-title 68081"> <strong>Changelog</strong> </li> <li class="64425"> <a href="/en/help/64425-terms-and-conditions-generator-legal-changelog">Legal Changelog</a> </li> </ul> </li> </ul> </li> <li class="active has_child category-title 6557"> Consent Database <ul> <li class="has_child category-title 17471"> Getting Started <ul> <li class="6469"> <a href="/en/help/6469-consent-solution-getting-started">Introduction and Methods</a> </li> <li class="7379"> <a href="/en/help/7379-how-to-sync-your-iubenda-legal-documents-with-the-consent-solution">How to Sync Your Legal Documents</a> </li> </ul> </li> <li class="active has_child category-title 17472"> Implementation <ul> <li class="active 6473"> <a href="/en/help/6473-consent-solution-js-documentation">JavaScript</a> </li> <li class="6484"> <a href="/en/help/6484-consent-solution-http-api-documentation">HTTP API</a> </li> <li class="129285"> <a href="/en/help/129285-consent-database-integration-guide-all-major-platforms">Simple integration guide</a> </li> <li class="separator 18931"> </li> <li class="category-title 18930"> <strong>Popular Platforms</strong> </li> <li class="56957"> <a href="/en/help/56957-consent-solution-for-hubspot">HubSpot</a> </li> <li class="18710"> <a href="/en/help/18710-consent-solution-joomla-chronoforms">Joomla!</a> </li> <li class="67783"> <a href="/en/help/67783-make-integromat-consent-solution-integration">Make (Integromat)</a> </li> <li class="74560"> <a href="/en/help/74560-consent-solution-for-prestashop">Prestashop</a> </li> <li class="57099"> <a href="/en/help/57099-how-to-add-consent-solution-on-shopify">Shopify</a> </li> <li class="66387"> <a href="/en/help/66387-consent-solution-for-squarespace">Squarespace</a> </li> <li class="59704"> <a href="/en/help/59704-consent-solution-for-webflow">Webflow</a> </li> <li class="56770"> <a href="/en/help/56770-consent-solution-for-wix">Wix</a> </li> <li class="66023"> <a href="/en/help/66023-zapier-consent-solution-integration">Zapier</a> </li> <li class="separator 66377"> </li> <li class="category-title 66378"> <strong>WordPress</strong> </li> <li class="21330"> <a href="/en/help/21330-consent-solution-wordpress-plugin-installation-guide">WordPress (plugin)</a> </li> <li class="13083"> <a href="/en/help/13083-consent-solution-wordpress-contact-form-7">WordPress (JavaScript method)</a> </li> <li class="62292"> <a href="/en/help/62292-consent-solution-for-elementor">Elementor (WordPress website builder)</a> </li> <li class="61862"> <a href="/en/help/61862-consent-solution-for-gravity-forms">Gravity Forms (WordPress form plugin)</a> </li> <li class="separator 19582"> </li> <li class="category-title 17473"> <strong>Advanced</strong> </li> <li class="12502"> <a href="https://www.iubenda.com/en/help/12260">How to Configure your Content Security Policy for iubenda</a> </li> </ul> </li> <li class="has_child category-title 18268"> Troubleshooting and FAQs <ul> <li class="18199"> <a href="/en/help/18199-consent-solution-delivery-channels">Delivery Channels</a> </li> <li class="18024"> <a href="/en/help/18024-consent-solution-changelog">Changelog</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 141348"> Whistleblowing Management Tool <ul> <li class="141269"> <a href="/en/help/141269-eu-whistleblower-directive-guide-iubenda-tool">iubenda’s Guide to the EU Whistleblower Directive and Our Dedicated Tool</a> </li> </ul> </li> <li class="has_child category-title 6558"> Register of Data Processing Activities <ul> <li class="6311"> <a href="/en/help/6311-internal-privacy-management-getting-started">Guide to the Register of Data Processing Activities</a> </li> </ul> </li> <li class="has_child category-title 5238"> Resources <ul> <li class="13053"> <a href="/en/help/13053-iubenda-webinars">Webinars</a> </li> <li class="has_child category-title 25910"> Videos <ul> <li class="336"> <a href="/en/help/336-videos">All Video Guides</a> </li> <li class="separator 18397"> </li> <li class="category-title 18393"> <strong>Privacy and Cookie Policy Generator</strong> </li> <li class="34840"> <a href="/en/help/34840-privacy-and-cookie-policy-generator-overview-video">Overview</a> </li> <li class="327"> <a href="/en/help/327-intro-privacy-cookie-policy-generator-video">Introduction to the Generator</a> </li> <li class="310"> <a href="/en/help/310-add-services-privacy-policy-video">Adding services/clauses to your policy</a> </li> <li class="35004"> <a href="/en/help/35004-owner-info-privacy-policy-video">Filling in the owner info</a> </li> <li class="312"> <a href="/en/help/312-manage-languages-privacy-policy-video">Managing languages</a> </li> <li class="319"> <a href="/en/help/319-edit-privacy-policy-video">Editing your policy</a> </li> <li class="31830"> <a href="/en/help/31830-remove-iubenda-branding-video">Removing iubenda branding</a> </li> <li class="317"> <a href="/en/help/317-add-privacy-policy-to-your-site-video">Embedding your policy</a> </li> <li class="31834"> <a href="/en/help/31834-integrate-iubenda-wordpress-video">Integrating iubenda with WordPress</a> </li> <li class="separator 18398"> </li> <li class="category-title 18394"> <strong>Privacy Controls and Cookie Solution</strong> </li> <li class="31759"> <a href="/en/help/31759-cookie-solution-intro-video">Introduction to the Privacy Controls and Cookie Solution</a> </li> <li class="18387"> <a href="/en/help/18387-customize-cookie-banner-basic-video">How to customize the cookie banner (basic options)</a> </li> <li class="31752"> <a href="/en/help/31752-customize-cookie-banner-advanced-video">How to customize the cookie banner (advanced options)</a> </li> <li class="39065"> <a href="/en/help/39065-tcf-video">Transparency and Consent Framework (TCF)</a> </li> <li class="separator 33820"> </li> <li class="category-title 33821"> <strong>Terms and Conditions Generator</strong> </li> <li class="33817"> <a href="/en/help/33817-terms-and-conditions-generator-overview-video">Overview</a> </li> <li class="separator 18399"> </li> <li class="category-title 18395"> <strong>Consent Database</strong> </li> <li class="6827"> <a href="/en/help/6827-consent-solution-intro-video">Introduction to the Consent Database</a> </li> <li class="34721"> <a href="/en/help/34721-consent-solution-manual-implementation-javascript-video">Consent Database manual implementation (JavaScript)</a> </li> <li class="18353"> <a href="/en/help/18353-consent-solution-dashboard-video">Consent dashboard in action</a> </li> <li class="separator 18400"> </li> <li class="category-title 18396"> <strong>Register of Data Processing Activities</strong> </li> <li class="6667"> <a href="/en/help/6667-internal-privacy-management-video">How to use the IPM tool</a> </li> </ul> </li> <li class="has_child category-title 7679"> Templates <ul> <li class="category-title 25913"> <strong>GDPR</strong> </li> <li class="7687"> <a href="/en/help/7687-eu-representative-appointment-template">EU Representative Appointment</a> </li> <li class="7680"> <a href="/en/help/7680-data-processing-agreement-template-gdpr">Data Processing Agreement</a> </li> <li class="7689"> <a href="/en/help/7689-non-disclosure-and-confidentiality-obligation-for-employees">Non-Disclosure and Confidentiality Obligation for Employees</a> </li> <li class="7910"> <a href="/en/help/7910-data-protection-impact-assessment-dpia-template">Data Protection Impact Assessment (DPIA)</a> </li> <li class="separator 25914"> </li> <li class="category-title 22097"> <strong>CPRA & CCPA</strong> </li> <li class="22090"> <a href="/en/help/22090-us-data-processing-addendum-template">Service Provider Addendum</a> </li> </ul> </li> <li class="has_child category-title 25916"> Cheat Sheets, Checklists and Tests <ul> <li class="22835"> <a href="/en/help/22835-gdpr-compliance-checklist">GDPR cheat sheet</a> </li> <li class="23672"> <a href="/en/help/23672-gdpr-cookie-consent-cheatsheet">GDPR Cookie Consent Cheatsheet</a> </li> <li class="65132"> <a href="/en/help/65132-us-privacy-legislations-overview">US privacy legislations Cheatsheet</a> </li> <li class="39705"> <a href="/en/help/39705-global-email-marketing-cheatsheet">Global Email Marketing Cheatsheet</a> </li> <li class="22226"> <a href="/en/help/22226-ccpa-compliance-checklist">CCPA compliance checklist</a> </li> <li class="25920"> <a href="https://iubenda.typeform.com/to/cDGLymwf">CPRA quiz</a> </li> <li class="64214"> <a href="https://www.iubenda.com/en/help/5463-how-to-comply-with-the-gdpr-cookie-law-caloppa-and-ccpa#quiz">Compliance self-assessment test</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 5228"> Account and Billing <ul> <li class="6633"> <a href="/en/help/6633-pricing-faqs">Pricing FAQs</a> </li> <li class="4014"> <a href="/en/help/4014-delete-account">How to Delete Your Account</a> </li> <li class="167417"> <a href="/en/help/167417-iubenda-multi-user-accounts-feature-overview">iubenda Multi-User Accounts Feature Overview</a> </li> <li class="has_child category-title 5353"> Plans and Licenses <ul> <li class="379"> <a href="/en/help/379-basic-license-limits">Limits of the Free Plan</a> </li> <li class="163856"> <a href="/en/help/163856-how-to-renew-or-upgrade-your-iubenda-plan">How to Renew or Upgrade Your iubenda Plan</a> </li> <li class="162983"> <a href="/en/help/162983-how-to-manage-your-licenses-all-legacy-guides">How to Manage Your Licenses [All Legacy Guides]</a> </li> <li class="155774"> <a href="/en/help/155774-how-to-delete-a-site">How to Delete a Site</a> </li> </ul> </li> <li class="has_child category-title 5354"> Payment <ul> <li class="543"> <a href="/en/help/543-why-is-my-paypal-payment-failing">Why Is My Payment Failing?</a> </li> <li class="440"> <a href="/en/help/440-how-to-disable-auto-renewal">How to Disable Auto-Renewal</a> </li> <li class="62707"> <a href="/en/help/62707-can-i-pay-by-bank-transfer">Can I Pay by Bank Transfer?</a> </li> <li class="62688"> <a href="/en/help/62688-how-to-add-change-your-current-payment-method">How to Update your Payment Method</a> </li> <li class="3848"> <a href="/en/help/3848-recurring-basis">Why the iubenda Service Is On a Recurring Basis</a> </li> </ul> </li> <li class="has_child category-title 5355"> Invoices <ul> <li class="2800"> <a href="/en/help/2800-invoices">Where Can I Find My Invoices?</a> </li> <li class="517"> <a href="/en/help/517-update-invoicing-information">How to Update Your Invoicing Information</a> </li> <li class="11223"> <a href="/en/help/11223-invoices-different-email">How to Receive Invoices on a Different Email Address</a> </li> </ul> </li> </ul> </li> <li class="has_child category-title 17381"> Partners and Affiliates <ul> <li class="128"> <a href="/en/help/128-affiliate-referral">How to Set up a Basic Affiliate/Referral Program Partnership with iubenda</a> </li> <li class="30386"> <a href="/en/help/30386-how-to-resell-iubenda-to-your-clients">How to resell iubenda’s solutions to your clients</a> </li> <li class="22206"> <a href="https://www.iubenda.com/en/help/15138-partner-directory">Need help getting set up? View our directory of certified partners</a> </li> </ul> </li> <li class="has_child category-title 17445"> About iubenda <ul> <li class="6758"> <a href="/en/help/6758-data-processing-agreement-between-iubenda-and-its-users">Data Processing Agreement iubenda <> users</a> </li> <li class="1931"> <a href="/en/help/1931-what-iubenda-tracks-and-what-it-doesnt-track">What iubenda Does and Does Not Track</a> </li> <li class="5699"> <a href="/en/help/5699-5-reasons-why-we-host-your-documents">5 Reasons Why We Host Your Documents</a> </li> </ul> </li> </ul> </nav> </div> <div class="toc-wrap sticky-top"> <nav id="toc" data-toggle="toc"></nav> <div class="mb-4 text-sm text-uppercase font-weight-bold text-muted toc-label">Table of Contents</div> </div> </div> <!-- /.doc_aside --> <div class="col-lg-9 help-tpl__main"> <div class="mb-4 d-block d-lg-none"> <button class="btn btn-sm btn-outline-light px-4 btn-aside help-tpl__show-index-btn">Show index</button> </div> <h1 class="help-tpl__main-title mb-5 display-4 font-weight-semibold"data-swiftype-name="title" data-swiftype-type="string">Consent Database – JS Documentation</h1> <div class="entry_content entry_body_content doc_body" data-swiftype-name="body" data-swiftype-type="text" data-toc-scope > <div data-toc-activator=""></div> <p>The Consent Database JavaScript library allows you to record consent actions performed by your users, referred to as “subjects,” throughout the rest of this guide.</p> <p>Setting up your Consent Database is easy! In short, it involves three main steps, which we’ll walk you through: </p> <ol class="wp-block-list"> <li><a href="#embed">Embed your Consent Database code;</a></li> <li><a href="#set-up">Set up your form; and </a></li> <li><a href="#send">Send the consent data to iubenda APIs</a>.</li> </ol> <p>After you’ve followed these three steps, you will be able to see your subjects’ consent in your <a href="https://www.iubenda.com/en/help/6469-consent-solution-getting-started#dashboard">iubenda dashboard</a>. If you’re looking for <strong>advanced configuration</strong>, <a href="#advanced-configuration">please see here</a>.</p> <div class="pt-0 pb-5"> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" src="https://fast.wistia.com/embed/medias/an21rkgwrw.jsonp" async=""></script><script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" src="https://fast.wistia.com/assets/external/E-v1.js" async=""></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><span class="wistia_embed wistia_async_an21rkgwrw popover=true popoverAnimateThumbnail=true videoFoam=true" style="display:inline-block;height:100%;position:relative;width:100%"> </span></div></div> </div> <p><mark>Please note: this is a WP specific example: some details could vary, but the approach is the same.</mark></p> <h2 class="pt-4" id="embed">1.Embed your Consent Database code</h2> <p>Once you’ve activated your Consent Database, copy the code you find under <strong>Consent Database > Embed > Javascript</strong>:</p> <div class="wp-block-image"> <figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://help.iubenda.com/wp-content/uploads/2022/04/Screenshot-2022-04-22-at-11.13.43-1024x884.png" alt="" class="wp-image-66637" width="565" height="487" srcset="https://help.iubenda.com/wp-content/uploads/2022/04/Screenshot-2022-04-22-at-11.13.43-1024x884.png 1024w, https://help.iubenda.com/wp-content/uploads/2022/04/Screenshot-2022-04-22-at-11.13.43-300x259.png 300w, https://help.iubenda.com/wp-content/uploads/2022/04/Screenshot-2022-04-22-at-11.13.43-768x663.png 768w, https://help.iubenda.com/wp-content/uploads/2022/04/Screenshot-2022-04-22-at-11.13.43.png 1482w" sizes="(max-width: 565px) 100vw, 565px" /></figure></div> <p>Now paste this code inside the <code>head</code> of all your pages. Next step: set up your form.</p> <h2 class="wp-block-heading" id="set-up">2. Set up your form</h2> <p>Once you’ve included your iubenda code inside your <code>head</code>, you’ll need to add <code>id</code> and <code>name</code> attributes to your form (if you haven’t already).</p> <p>Let’s assume you have this simple contact form (name, email, message, and newsletter subscription):</p> <pre class="wp-block-code prettyprint linenums js-code"><code><form> <label>Full Name</label> <input type="text" /> <label>Email</label> <input type="email" /> <label>Message</label> <textarea></textarea> <input type="checkbox" /> I've read the <a href="#">Privacy Policy</a> and accept the <a href="#">Terms and Conditions</a> <input type="checkbox" /> Send me information about products, services, deals or recommendations by email (optional) <button>Send</button> </form></code></pre> <p>Make sure that: </p> <ul class="wp-block-list"> <li>your <code>form</code> and <code>button</code>/<code>input type="submit"</code> elements have an <code>id</code></li> <li>your <code>form</code> fields have a <code>name</code> attribute</li> </ul> <p>The form above will become:</p> <pre class="wp-block-code prettyprint linenums js-code"><code><form id="contact-form"> <label>Full Name</label> <input type="text" name="your-name" /> <label>Email</label> <input type="email" name="your-email" /> <label>Message</label> <textarea name="your-message"></textarea> <input type="checkbox" name="generic" /> I've read the <a href="#">Privacy Policy</a> and accept the <a href="#">Terms and Conditions</a> <input type="checkbox" name="newsletter" /> Send me information about products, services, deals or recommendations by email (optional) <button id="contact-submit">Send</button> </form></code></pre> <p>Now it’s time for the last step: setting up a function to send the consent data to your dashboard. </p> <h2 class="wp-block-heading" id="send">3. Send the Consent data to iubenda APIs</h2> <p>Now that your form is ready, you need to ensure that it sends the information to the Consent Database when the user fills in and submits the form. There are two alternative methods to do this: <code>load</code> (asynchronous) and <code>submit</code> (synchronous).</p> <p>In most cases, you’ll want to use a <code>load</code> function like this: </p> <pre class="wp-block-code prettyprint linenums js-code"><code><script type="text/javascript"> _iub.cons_instructions.push(["load", { submitElement: document.getElementById("contact-submit"), form: { selector: document.getElementById("contact-form"), map: { subject: { full_name: "your-name", email: "your-email" }, preferences: { generic: "generic", newsletter: "newsletter" } } }, consent: { legal_notices: [{ identifier: "privacy_policy", }, { identifier: 'cookie_policy', }, { identifier: "terms", } ], } }]) </script></code></pre> <p>In the code above please note:</p> <ul class="wp-block-list"> <li>the <code>contact-form</code> and <code>contact-submit</code> ids;</li> <li>the <code>full_name</code> and <code>email</code> <code>subject</code> mapping (you have four non-editable options: <code>first_name</code>, <code>last_name</code>,<code>full_name</code> and <code>email</code>);</li> <li>the checkbox preferences, where you’re free to use the keys you like (in our case, <code>generic</code> and <code>newsletter</code>);</li> <li>the <code>legal_notices</code>, which are automated if you <a href="https://www.iubenda.com/en/help/7379">sync your iubenda legal documents with the Consent Database</a> (just use the standard identifiers <code>privacy_policy</code>, <code>cookie_policy</code> and <code>terms</code>).</li> </ul> <p>Be sure to include the <code>load</code> method <strong>after</strong> the form (for example, inside the footer of your contact page), and you’re done! </p> <p>Once you’ve collected your consent, you’ll be able to sort and analyze your user consent data in the <a href="https://www.iubenda.com/en/help/6469#dashboard">Consent Dashboard</a>.</p> <p>Follow this <a href="https://codepen.io/iubenda/pen/WNMbeNZ">link</a> to see a working example of the <code>load</code> method. </p> <h2 class="wp-block-heading" id="advanced-configuration">Advanced configuration </h2> <p>The following steps are an advanced configuration method; after you’ve followed these three steps, you will be able to see your subjects’ consent in your iubenda dashboard.</p> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-two" data-toggle="collapse" aria-expanded="false" data-toc-skip="">1. Setup script</h2> <div id="collapse-two" class="collapse"> <p>To install the Consent Database JS widget, insert your Consent Database code inside every page of your site, before closing the HEAD tag (see example code below).</p><pre class="wp-block-code prettyprint linenums js-code"><code><script type="text/javascript"> var _iub = _iub || {}; _iub.cons_instructions = _iub.cons_instructions || []; _iub.cons_instructions.push(["init", {api_key: "YOUR_PUBLIC_API_KEY"}]); </script> <script type="text/javascript" src="https://cdn.iubenda.com/cons/iubenda_cons.js" async></script></code></pre> <p><em>*The API key is a unique code that the SDK uses in order to communicate with our API’s endpoint. Your API key (displayed as “YOUR_PUBLIC_API_KEY” in the example above) is generated by us during the Consent Database activation and is specific to that particular site.</em></p> <div class="my-5 rounded px-3 pt-3 pb-1 bg-caution"> <h5 class="my-2">Caution</h5> <p>The code above is just an example. Please be sure to use <strong>your own Consent Database code</strong> as the code is specific to your particular site. You can find your code snippet by going to <strong><a href="https://www.iubenda.com/en/dashboard">Dashboard</a> > [your website area] > Consent Database > EMBED</strong>. Once there, simply copy the information you need.</p> </div> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-three" data-toggle="collapse" aria-expanded="false" data-toc-skip="">2. init configuration</h2> <div id="collapse-three" class="collapse"> <p>The <code>init</code> function (included into the setup script above) defines how the library is instantiated and is required on every page that implements the Consent Database widget.</p><p>It is possible to add a callback function as a second parameter of the <code>init</code> function. The callback function will then be called once the library has been loaded.</p><p>Configuring the <code>init</code> function this way (by adding a callback function — see “YOUR_CALLBACK” in the example below) can be used to set some additional action after the library has been loaded.</p><pre class="wp-block-code prettyprint linenums js-code"><code>_iub.cons_instructions.push(["init", { api_key: "YOUR_PUBLIC_API_KEY"}, function YOUR_CALLBACK() { //the library has been loaded ... //put you code here ... } ]);</code></pre> <p>The following are the parameters that you can use inside the <code>init</code> configuration object ( i.e. the first parameter on init function which contains the API key) to customize, for example, the logger or the behaviour of the library. </p> <p>See table and code example below:</p> <div class="table-spec"> <table> <tbody> <tr> <th>Name</th> <th>Required</th> <th>Type</th> <th>Notes</th> </tr> <tr> <td class="code-font">api_key</td> <td>yes</td> <td>String</td> <td>Your public key</td> </tr> <tr> <td class="code-font">logger</td> <td>no</td> <td>String</td> <td>Possible values: “none”, “console”. Defaults to: “console”</td> </tr> <tr> <td class="code-font">log_level</td> <td>no</td> <td>String</td> <td>Possible values: “none”, “debug”, “info”, “warn”, “error”, “fatal”. Defaults to: “error”</td> </tr> <tr> <td class="code-font">sendFromLocalStorageAtLoad</td> <td>no</td> <td>boolean</td> <td>Determines whether the script reads <code>localStorage</code> at load and submits whatever is included. Defaults to: true</td> </tr> <tr> <td class="code-font">retrySaveCount</td> <td>no</td> <td>number</td> <td>Specifies the number of times the SDK should attempt to retry the API call if it fails initially. Defaults to 5</td> </tr> <tr> <td class="code-font">retrySaveDelayMs</td> <td>no</td> <td>number</td> <td>Specifies the time delay between each retry attempt, measured in milliseconds. Defaults to 3000 ms (3 seconds)</td> </tr> </tbody> </table> </div> <pre class="wp-block-code prettyprint linenums js-code"><code>// An example configuration with optional parameters added (note: api_key parameter is always required) _iub.cons_instructions.push(["init", { api_key: "YOUR_PUBLIC_API_KEY", logger: "console", log_level: "warn", sendFromLocalStorageAtLoad: false, retrySaveCount: 5, retrySaveDelayMs: 3000 }, ...]);</code></pre> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-four" data-toggle="collapse" aria-expanded="false" data-toc-skip="">3. Connect the Consent Database to a submission form</h2> <div id="collapse-four" class="collapse"> <p>In order to automatically record the consents provided via a submission form you can either use the <code>load</code> function or the <code>submit</code> function.</p><h5 id="load">3.1 load</h5> <p>The <code>load</code> function allows you to bind fields of the <code>consent</code> object to input fields of your <code><form></code> and to automatically record the consent at submit time.</p><p><strong>Note</strong>: the <code>load</code> function <strong>must only be invoked after</strong> the declaration of the <code>form</code> object (as can be seen in the example below).</p><p>We suggest inserting the <code><script></code> tag after the <code><form></code> tag as follows:</p> <pre class="wp-block-code prettyprint linenums js-code"><code><form> <!-- Your form input fields --> <input type="submit" id="submit-btn" name="submit-button" /> </form> <script type="text/javascript"> _iub.cons_instructions.push([ * "load" * , { submitElement: "submit-btn", // if this line is missing, the consent is not automatically recorded at submit time; a call to _iub.cons.sendData (see section below) is needed instead form: { ...your form object }, consent: { legal_notices: [{ identifier: "term", version: "1" }] } } ]) </script></code></pre> <p>Parameters:</p> <div class="table-spec mb-4"> <table> <tbody> <tr> <th>Name</th> <th>Required</th> <th>Type</th> <th>Notes</th> </tr> <tr> <td class="code-font">submitElement</td> <td>no</td> <td>String or DOM element</td> <td>Pass the Id string or the DOM element of an element that will trigger the submit of the consent, when clicked. If this element is not specified, or not triggered, you need to call <code>_iub.cons.sendData()</code> to record the consent (<a href="#senddata">see also below</a>).</td> </tr> <tr> <td class="code-font">form</td> <td>No/Yes if <code>consent</code> is not defined</td> <td><a href="#formconfig">FormConfig</a></td> <td>Check the <code>form</code> object section</td> </tr> <tr> <td class="code-font">consent</td> <td>No/Yes if <code>form</code> is not defined</td> <td><a href="#consentconfig">ConsentConfig</a></td> <td>Check the <code>consent</code> object section</td> </tr> <tr> <td class="code-font">writeOnLocalStorage</td> <td>no</td> <td>boolean</td> <td>Defines whether the data should be sent directly or written in <code>localStorage</code>. Defaults to: true</td> </tr> <tr> <td class="code-font">autodetect_ip_address</td> <td>no</td> <td>boolean</td> <td>A parameter that enable or disable the ip autodetect. Default to: true</td> </tr> </tbody> </table> </div> <p>The code in the example above will automatically record the <code>consent</code> object with the values of the bound input fields:</p> <ul><li>when the <code>submitElement</code> receives a <code>click</code> event (if <code>submitElement</code> was specified); or</li><li>when the <code>_iub.cons.sendData()</code> function gets manually called (see below)</li></ul> <h5 id="senddata">3.1.1 sendData</h5> <p>The <code>sendData</code> function must be used in conjunction with the <code>load</code> function and triggers the recording of the <code>consent</code> object with the values of the input fields that have been bound by a prior call to the <code>load</code> function. </p> <p>It must be used in case the <code>submitElement</code> is not provided (eg. when you need to validate the input form before submitting) and you need to programmatically trigger the fetching of the data from the form and the consequent recording of the consent. <br></p> <pre class="wp-block-code prettyprint linenums js-code"><code>// your form handler function function validateForm() { if (isValidForm()) { // the form has been validated _iub.cons.sendData(); // ... } }</code></pre> <h5 id="sendfromlocalstorage">3.1.2 sendFromLocalStorage</h5> <p>By default, the <code>consent</code> object created by the <code>load</code> function is not directly sent to our servers for storage; it is indeed saved into the <code>localStorage</code> in order to protect from any loss of data in case a new page is loaded before the JavaScript has finished executing. The consent saved into <code>localStorage</code> will be automatically recorded (that is, sent to our servers for storage) at the very next page load.</p> <p>If you want to disable the automatic sending of the consent saved in <code>localStorage</code> at page load, you need to provide the parameter <code>sendFromLocalStorageAtLoad = false</code> inside the <a href="#init">init object configuration</a>; in such cases, in order to sent the consent stored in <code>localStorage</code> to our servers you’ll need to explicitly call the <code>_iub.cons.sendFromLocalStorage</code> function (see below).<br></p> <pre class="wp-block-code prettyprint linenums js-code"><code>_iub.cons.sendFromLocalStorage()</code></pre> <h5 id="submit">3.2 submit</h5> <p>The <code>submit</code> function allows you to send the consent data to iubenda APIs, that is to record the consent, programmatically (for example inside an event handler or a callback function):</p> <p>It can be configured in two ways:<br></p> <ul><li>Specifying the form <code>selector</code> parameter in the same way as the <code>load</code> function</li><li>By specifying all the values of the <code>consent</code> object</li></ul> <p>It’s worth noting that, unlike the <code>load</code> function, by default the <code>submit</code> function does not leverage the <code>localStorage</code> and instead directly sends the <code>consent</code> object to our server for storage.</p> <p>Parameters:</p> <div class="table-spec"> <table> <tbody> <tr> <th>Name</th> <th>Required</th> <th>Type</th> <th>Notes</th> </tr> <tr> <td class="code-font">form</td> <td>No/Yes if <code>consent</code> is not defined</td> <td><a href="#formconfig">FormConfig</a></td> <td>(See the <code>form</code> object section below)</td> </tr> <tr> <td class="code-font">consent</td> <td>No/Yes if <code>form</code> is not defined</td> <td><a href="#consentconfig">ConsentConfig</a></td> <td>(See the <code>consent</code> object section below)</td> </tr> <tr> <td class="code-font">writeOnLocalStorage</td> <td>No</td> <td>boolean</td> <td>Defines whether the data should be sent directly or written to <code>localStorage</code>. Default to: false</td> </tr> <tr> <td class="code-font">autodetect_ip_address</td> <td>No</td> <td>boolean</td> <td>Allows you to enable or disable the ip autodetect. Default to: true</td> </tr> </tbody> </table> </div> <div class="my-5 rounded px-3 pt-3 pb-1 bg-note"> <h5 class="my-2">Note</h5> <p>In cases where you provide both the form and the consent parameter, they will be merged to create the <code>consent</code> object. In cases where there is a conflict between data retrieved from the form and the data specified directly in the <code>consent</code> object, the <code>consent</code> object will take precedence.</p> </div> <h4>Callbacks</h4> <p>The <code>.success</code> callback is called in cases of success, the <code>.error</code> callback is called in cases of error. <br></p> <h4 id="form-provided">3.2.1 When the form object is provided</h4> <p>In the example below (where the <code>form</code> object is provided), the <code>submit</code> function will take care of populating the <code>consent</code> object from the form inputs.</p> <pre class="wp-block-code prettyprint linenums js-code"><code>_iub.cons_instructions.push(["submit", { form: {"... your form object"}, consent: { legal_notices: [{ identifier: "term", version: "1" }] } }, { success: function(response) { console.log(response); }, error: function(response) { console.log(response); } } ])</code></pre> <h4 id="form-not-provided">3.2.2 When the form object is not provided</h4> <p>Alternatively, you can also pass the <code>consent</code> object as shown the example below:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>_iub.cons_instructions.push(["submit", { consent: { subject: { id: "your-subject-id", email: "your-subject-email0@example.com" }, preferences: { term: true }, legal_notices: [ { identifier: "privacy_policy" } ], proofs: [ { content: "{ \"first_name\": \"John\", \"last_name\": \"Doe\", \"email\": \"john@example.com\" }" form: "<form action=\"/action\" method=\"POST\"><p><label>First Name</label><input type=\"text\" name=\"first_name\" /></p><p><label>Last name</label><input type=\"text\" name=\"last_name\" /></p><p><label>E-mail</label><input type=\"email\" name=\"email\" /></p><input type=\"submit\" /></form>" } ] } }, { success: function(response) { console.log(response); }, error: function(response) { console.log(response); } } ])</code></pre> <p>This is an example of a response (in this case a success response) from the server:</p> <pre class="wp-block-code prettyprint linenums js-code"><code>200 OK { id: "de801ca9-abec-45e2-8f7c-729822cfffad", timestamp: "2018-05-04T14:52:26Z", subject_id: "J02eZvKYlo2ClwuJ1" }</code></pre> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-five" data-toggle="collapse" aria-expanded="false" data-toc-skip="">4. Programmatically build and record your consent object</h2> <div id="collapse-five" class="collapse"> <p>If you want to programmatically build your <code>consent</code> object and send it to the Consent Database API you’ll need to use the <code>submit</code> function as previously described in <a href="#form-not-provided">3.2.2 When The Form Object Is Not Provided</a>.</p> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-six" data-toggle="collapse" aria-expanded="false" data-toc-skip="">5. FormConfig</h2> <div id="collapse-six" class="collapse"> <p> This is the structure of the <code>form</code> object passed to <code>load</code> and <code>submit</code> functions:</p><div class="table-spec"> <table> <tbody> <tr> <th>Name</th> <th>Type</th> <th>Notes</th> </tr> <tr> <td class="code-font">selector</td> <td>String or DOM element</td> <td>The ID (string) of the form or the DOM element form</td> </tr> <tr> <td class="code-font">map</td> <td>Object</td> <td>Object allowing to map <code>consent</code> attributes to specific form fields by their “name” attributes as an alternative to <code>data-cons-x</code> attributes (see example below)</td> </tr> <tr class="tr-indent-1"> <td class="code-font">subject</td> <td>Object</td> <td></td> </tr> <tr class="tr-indent-2"> <td class="code-font">id</td> <td>String</td> <td>name attribute of a DOM element present in the form</td> </tr> <tr class="tr-indent-2"> <td class="code-font">email</td> <td>String</td> <td>name attribute of a DOM element present in the form</td> </tr> <tr class="tr-indent-2"> <td class="code-font">first_name</td> <td>String</td> <td>name attribute of a DOM element present in the form</td> </tr> <tr class="tr-indent-2"> <td class="code-font">last_name</td> <td>String</td> <td>name attribute of a DOM element present in the form</td> </tr> <tr class="tr-indent-2"> <td class="code-font">full_name</td> <td>String</td> <td>name attribute of a DOM element present in the form</td> </tr> <tr class="tr-indent-1"> <td class="code-font">preferences</td> <td>Object</td> <td></td> </tr> <tr class="tr-indent-2"> <td class="code-font">preference_name</td> <td>String</td> <td>name attribute of a DOM element present in the form</td> </tr> <tr class="tr-indent-1"> <td class="code-font">exclude</td> <td>Array</td> <td>A list of fields name that we would like to exclude from proofs</td> </tr> </tbody> </table> </div> <h5 id="binding-form-fields">5.1 Binding the form fields to your consent object</h5> <p><strong>The form fields can be bound to your <code>consent</code> object in two ways</strong>:</p> <p>1) By specifying the relevant <code>name</code> attribute in the MAP object <strong>(please note that <code>id</code> cannot be used here, only the <code>name</code> attribute)</strong>:<br></p> <pre class="wp-block-code prettyprint linenums js-code"><code>form: { selector: "form-id", // The string (ID) or the DOM element of the form from which you'd like to detect the data map: { // optional: map consent attributes directly to the corresponding // input's "name" attribute, instead of using data-cons-x attributes subject: { id: "id-element-name" email: "email-element-name", first_name: "first-name-element-name", last_name: "last-name-element-name", full_name: "full-name-element-name" }, preferences: { term: "terms-checkbox-element-name" } } }</code></pre> <p>2) By using <code>data-cons-x</code> attributes in your input field:<br></p> <pre class="wp-block-code prettyprint linenums js-code"><code><form id="form-id"> <!-- subject --> <input type="..." name="subject_name" data-cons-subject-name /> <input type="hidden" name="id" value="12141412" *data-cons-subject="id" * /> <p> First name:<br /> <input type="text" value="value" name="first_name" *data-cons-subject="first_name" * /> </p> <p> Last name:<br /> <input type="text" name="last_name" *data-cons-subject="last_name" * /> </p> <p> Full Name:<br /> <input type="text" name="full_name" *data-cons-subject="full_name" * /> </p> <p> Email<br /> <input type="text" name="email" *data-cons-subject="email" * /> </p> <p> Password<br /> <input type="password" name="password" *data-cons-exclude* /> </p> <!-- preferences --> <p> <label><input type="hidden" name="terms-and-conditions" data-cons-preference="terms-and-conditions" value="value" /> Accept terms and conditions</label> </p> <p> <label><input type="hidden" name="newsletter" value="newsletter" data-cons-preference="newsletter" /> newsletter</label> </p> <input type="submit" id="submit-btn" /> </form></code></pre> <p>You can also <strong>exclude</strong> certain fields ( i.e. password or fields not related to the consent) in two ways:<br><br>1) By using <code>data-cons-exclude</code> in your input field:<br></p> <pre class="wp-block-code prettyprint linenums js-code"><code><input type="password" name="password" data-cons-exclude /></code></pre> <p>2) By using the <code>exclude</code> object inside the map:<br></p> <pre class="wp-block-code prettyprint linenums js-code"><code>map: { . . // exclude fields by inserting inputs names in this array exclude: ['password'] }</code></pre> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-seven" data-toggle="collapse" aria-expanded="false" data-toc-skip="">6. ConsentConfig</h2> <div id="collapse-seven" class="collapse"> <p>The <code>consent</code> object is composed of the following fields:</p> <div class="table-spec mb-4"> <table> <tbody> <tr> <th>Name</th> <th>Required</th> <th>Type</th> <th>Notes</th> </tr> <!--tr> <td class="code-font">timestamp</td> <td>No</td> <td>String</td> <td>ISO 8601 timestamp which marks the time at which the consent occurred. Defaults to current time if not specified</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr--> <tr> <td class="code-font">subject</td> <td>Yes</td> <td>Object</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">id</td> <td>No </td> <td>String</td> <td>Identifier to identify the subject that sent the consent. If an ID is passed that one is used and you can update a subject info by posting new consents using the same subject ID. However if you do not provide a specific subject ID the API will create a secure random UUID for you.</td> </tr> <tr class="tr-indent-1"> <td class="code-font">email</td> <td>No</td> <td>String</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">first_name</td> <td>No</td> <td>String</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">last_name</td> <td>No</td> <td>String</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">full_name</td> <td>No</td> <td>String</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">verified</td> <td>No</td> <td>Boolean</td> <td>Reserved field used to signal whether a subject is verified, for instance via the double opt-in method</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td class="code-font">legal_notices</td> <td>Yes</td> <td>Array</td> <td>Array of objects containing <code>legal_notices</code> data</td> </tr> <tr class="tr-indent-1"> <td class="code-font">identifier</td> <td>No</td> <td>String</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">version</td> <td>No</td> <td>String</td> <td>Auto-filled if not provided</td> </tr> <tr></tr> <tr> <td class="code-font">proofs</td> <td>Yes</td> <td>Array</td> <td>Array of objects containing proof data</td> </tr> <tr class="tr-indent-1"> <td class="code-font">content</td> <td>No</td> <td>String</td> <td></td> </tr> <tr class="tr-indent-1"> <td class="code-font">form</td> <td>No</td> <td>String</td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td class="code-font">preferences</td> <td>Yes</td> <td>Object</td> <td>Set of key-value pairs with user preferences for the consent action</td> </tr> </tbody> </table> </div> <p><em>Note: In the JS library, all of the properties must be specified from within the <code>consent</code> object. Example:</em><br></p> <pre class="wp-block-code prettyprint linenums js-code"><code>consent: { subject: { id: "your-subject-id", email: "your-subject-email0@example.com" }, preferences: { term: true }, legal_notices: [ { identifier: "privacy_policy" } ]}, proofs: [ { content: "{ \"first_name\": \"John\", \"last_name\": \"Doe\", \"email\": \"john@example.com\" }" form: "<form action=\"/action\" method=\"POST\"><p><label>First Name</label><input type=\"text\" name=\"first_name\" /></p><p><label>Last name</label><input type=\"text\" name=\"last_name\" /></p><p><label>E-mail</label><input type=\"email\" name=\"email\" /></p><input type=\"submit\" /></form>" } ] }</code></pre> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-eight" data-toggle="collapse" aria-expanded="false" data-toc-skip="">7. Legal notices</h2> <div id="collapse-eight" class="collapse"> <p><strong>If you use</strong> iubenda for your legal documents, we’ll automatically update the contents of the <code>legal_notices</code> for you whenever your legal documents are changed. You can read about how to enable this feature <a href="https://www.iubenda.com/en/help/7379">here</a>.</p> <p>However it is still required for you to declare which <code>legal_notices</code> are being agreed upon on each consent creation, therefore if you’re using legal notices, you should fill the <code>legal_notices</code> array with the identifier and version of your <a href="https://www.iubenda.com/en/help/6484#legal-notices">legal notices created beforehand</a>.<br></p> <p>Example:<br></p> <pre class="wp-block-code prettyprint linenums js-code"><code>consent: { legal_notices: [ { identifier: "privacy_policy", version: "1" // auto-filled if not provided }, { identifier: "another_legal_notice" }, ... ] }</code></pre> </div> </div> <div class="collapse-single mb-3"> <h2 style="cursor: pointer;" data-target="#collapse-nine" data-toggle="collapse" aria-expanded="false" data-toc-skip="">8. Implementation examples</h2> <div id="collapse-nine" class="collapse"> <p>Included below are some practical examples of how you can actually implement the Consent Database.</p> <h5>8.1 MAP feature</h5> <h5 class="mt-4">Load function</h5> <p data-height="550" data-theme-id="0" data-slug-hash="bjmOxN" data-default-tab="html,result" data-user="iubenda" data-pen-title="[Iubenda Cons] (async) Load function " class="codepen">See the Pen <a href="https://codepen.io/iubenda/pen/bjmOxN/">[Iubenda Cons] (async) Load function </a> by iubenda (<a href="https://codepen.io/iubenda">@iubenda</a>) on <a href="https://codepen.io/iubenda/pen/bjmOxN/">CodePen</a>.</p> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" async src="https://static.codepen.io/assets/embed/ei.js" type="text/plain" class=" _iub_cs_activate" data-iub-purposes="3"></script> <h5>Load function with Map (no data-attribute)</h5> <p data-height="550" data-theme-id="0" data-slug-hash="NBOVWN" data-default-tab="html,result" data-user="iubenda" data-pen-title="[Iubenda Cons] (async) Load function and Map option" class="codepen">See the Pen <a href="https://codepen.io/iubenda/pen/NBOVWN/">[Iubenda Cons] (async) Load function and Map option</a> by iubenda (<a href="https://codepen.io/iubenda">@iubenda</a>) on <a href="https://codepen.io/iubenda/pen/NBOVWN/">CodePen</a>.</p> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" async src="https://static.codepen.io/assets/embed/ei.js" type="text/plain" class=" _iub_cs_activate" data-iub-purposes="3"></script> <h5 class="pt-4">8.2 Submit implementation (async)</h5> <p data-height="550" data-theme-id="0" data-slug-hash="NBOmbZ" data-default-tab="html,result" data-user="iubenda" data-pen-title="[Iubenda Cons] (async) Submit implementation" class="codepen">See the Pen <a href="https://codepen.io/iubenda/pen/NBOmbZ/">[Iubenda Cons] (async) Submit implementation</a> by iubenda (<a href="https://codepen.io/iubenda">@iubenda</a>) on <a href="https://codepen.io/iubenda/pen/NBOmbZ/">CodePen</a>.</p> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" async src="https://static.codepen.io/assets/embed/ei.js" type="text/plain" class=" _iub_cs_activate" data-iub-purposes="3"></script> <h5 class="pt-4">8.3 Multiple Form implementation</h5> <p data-height="550" data-theme-id="0" data-slug-hash="MBPxrd" data-default-tab="html,result" data-user="iubenda" data-pen-title="[Iubenda Cons] (async)Multiple Form implementation" class="codepen">See the Pen <a href="https://codepen.io/iubenda/pen/MBPxrd/">[Iubenda Cons] (async)Multiple Form implementation</a> by iubenda (<a href="https://codepen.io/iubenda">@iubenda</a>) on <a href="https://codepen.io/iubenda/pen/MBPxrd/">CodePen</a>.</p> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" async src="https://static.codepen.io/assets/embed/ei.js" type="text/plain" class=" _iub_cs_activate" data-iub-purposes="3"></script> <h5 class="pt-4">8.4 External validation tools (Load function with validate.js)</h5> <p data-height="550" data-theme-id="0" data-slug-hash="djgaNE" data-default-tab="html,result" data-user="iubenda" data-pen-title="[Iubenda Cons] (async) load function with validate.js" class="codepen">See the Pen <a href="https://codepen.io/iubenda/pen/djgaNE/">[Iubenda Cons] (async) load function with validate.js</a> by iubenda (<a href="https://codepen.io/iubenda">@iubenda</a>) on <a href="https://codepen.io/iubenda/pen/djgaNE/">CodePen</a>.</p> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" async src="https://static.codepen.io/assets/embed/ei.js" type="text/plain" class=" _iub_cs_activate" data-iub-purposes="3"></script> </div> </div> <h3 data-toc-skip="">See also</h3> <ul class="wp-block-list"> <li><a href="https://www.iubenda.com/en/help/6469">Consent Database – Introduction and methods</a></li> <li><a href="https://www.iubenda.com/en/help/13083">How to use the Consent Database with Contact Form 7</a></li> </ul> </div> <div class="help-tpl__still-questions-section mt-5 pt-5"> <h4 class="mb-3">Still have questions?</h4> <a href="/en/help/13053" class="btn btn-dark-gray txt-dark d-block d-lg-inline-block mb-2 mb-lg-0">Attend one of our free webinars</a> <a href="mailto:info@iubenda.com" class="btn btn-dark-gray txt-dark d-block d-lg-inline-block mb-2 mb-lg-0" data-elevio-module="2" data-elevio-style="nothing">Email us</a> <a href="#" class="btn btn-dark-gray txt-dark d-block d-lg-inline-block" data-elevio-module="9" data-elevio-style="nothing">Live chat</a> </div> </div> <!-- /.content --> </div> </div> </section> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ // Swiftype search is always loaded, rather than only when purpose 3 is not granted, providing a fallback in case CS fails to load. (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){ (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t); e=d.getElementsByTagName(t)[0];s.async=1;s.nonce='01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c'; s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st'); _st('install','mvF4xAYwSHJ9YPypgTYd','2.0.0', { install: { hooks: { query_filter: function(query) { query.setFilterDataByDocumentTypeSlugAndFilterField('page', 'tags', { values: ['en'], type: "and" }); return query; } } } }); window.csActivationCompleted.then(function onCsActivation() { var preferences = _iub.cs.api.getPreferences(); var purposes = preferences.purposes; if (!purposes[3]) { // activateAiSearch is hidden until CS loads to prevents clicks on non-functional link if CS fails var activateAiSearch = document.getElementById('activate-ai-search'); if (activateAiSearch) { activateAiSearch.addEventListener('click', function(event) { event.preventDefault(); _iub.cs.api.openPreferences({ acceptPurposes: [3] }); }); activateAiSearch.classList.remove('invisible'); } } // When preferences are updated reload the page to add or remove the kapa script window.addEventListener('preference-expressed-or-not-needed', function() { location.reload(); }); }); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/plain" async="async" src="about:blank" class="_iub_cs_activate" data-iub-purposes="3" suppressedsrc="https://widget.kapa.ai/kapa-widget.bundle.js" data-website-id="7229e341-9007-4fad-96de-30b7cca46f02" data-project-name="iubenda" data-project-color="#1cc691" data-project-logo="/favicon.png" data-modal-override-open-class="st-default-search-input" data-modal-override-open-class-search="st-default-search-btn" data-search-mode-enabled="true" data-search-mode-default="true" data-button-hide="true" data-modal-disclaimer="This is an AI assistant trained to help you with iubenda-related questions. It provides answers based on our Help Center and Community Forum content. While this feature is still experimental, feel free to try it out!" data-modal-title-ask-ai="iubenda Docs AI" data-modal-title-search="iubenda Docs" data-modal-search-placeholder="Ask me a question about iubenda..." data-modal-y-offset="12rem" data-modal-z-index="1036" data-search-show-ask-ai-cta="false"> //<![CDATA[ //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ HelpUtils.activateToc("#toc", $("[data-toc-activator]")); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ $(document).ready(function() { /** consent solution mapping for help compliance course form **/ if ($('#help_compliance_course_form').length > 0) { _iub.cons_instructions.push(['load', { submitElement: 'help_compliance_course_submit', form: { selector: 'help_compliance_course_form', map: { subject: { email: 'email' } } }, consent: { preferences: { 'help_compliance_course_subscription': true }, legal_notices: [ { identifier: 'privacy_policy' } ] } }]); } $('.btn-aside').click(function(){ $('.doc_aside').toggleClass('show'); }); $('.doc_aside li.has_child').click(function(e){ if (e.target.nodeName === 'A') { return; } e.preventDefault(); e.stopPropagation(); $(this) .toggleClass('active'); }); $('.navbar-nav a').click(function(){ var li = $(this).closest('li'); if(!li.find('ul').length) { var parent = $('.doc_aside'); if(parent.hasClass('show')) parent.removeClass('show'); } }); $('.toc-button').click(function(){ $(this).toggleClass('clicked'); if($(this).hasClass('clicked')) $('[data-toggle=toc]').show(); else $('[data-toggle=toc]').hide(); }); exposeFideFunctions({ incorporationBetaEnabled: false, loginUrl: "/en/login?fide_user=true&for=custom_do", companyIncorporationsPath: "/en/costituzione/srl", isLoggedIn: false }); initializeFideBtns(); if ( $('#toolbox-accordion').length > 0) { var accordionConteiner = $('#toolbox-accordion'); $(accordionConteiner).find('.card p .btn').each(function buttonClickHandler() { $(this).on('click', function(e) { e.preventDefault(); var card = $(this).parents(':eq(2)'); var autoCheckOutLink = HelpUtils.createAutoCheckOutLink(card); location.href = '/pricing'+ autoCheckOutLink; }) }); } var currentAnchor = null; $('h2[id],h3[id]').hover( function(){ var el = $(this); if(currentAnchor) currentAnchor.remove(); currentAnchor = $('<a href="#'+el.attr('id')+'" class="a-anchor-inline ml-3"><i class="i-link"></i></a>').appendTo(el); }, function(){ if(currentAnchor) currentAnchor.remove(); } ); HelpUtils.activatePopovers(); HelpUtils.readAndCreateTheCheckBoxMapForCountries(); $('.button-expand').click(function(e) { var perCountryTable = $(e.target.parentElement.parentElement).clone(); var modalTitle = $('.country-table').data('title'); perCountryTable.find('.button-expand').remove(); Modal.dialog(perCountryTable[0].outerHTML, { title: modalTitle, size: 'full' }); setTimeout(function loadCheckboxesData() { HelpUtils.updateCheckBoxFromMap('.modal-dialog'); HelpUtils.activatePopovers(); }, 1); }); $('body').on('click', '.country-table form.countries label', function(e) { e.preventDefault(); }); $('body').on('change', '.country-table form.countries input', function(e) { var className = $(this).attr('class'); HelpUtils.updateCheckBoxMap(e); $('table .' + className).toggle($(this).is(':checked')); }); }).on('show.bs.modal', '.modal', function () { $('.modal-body .table th').attr('style', 'transform: translateY(0px);'); $('.modal').scroll(function() { if($('.modal .table-first-col-fixed').length > 0) { if ($('.modal').offset().top - $('.modal .table-first-col-fixed').offset().top > 0) { $('.modal .table-first-col-fixed th').css('transform', 'translateY(' + ($('.modal').offset().top - $('.modal .table-first-col-fixed').offset().top) + 'px)'); } else { $('.modal .table-first-col-fixed th').css('transform', 'translateY(0)'); } } }); }).on('hide.bs.modal','.modal', function () { HelpUtils.updateCheckBoxFromMap('.container'); }); //]]> </script> <footer class="iub-footer bg-light-gray text-sm"> <div class="container"> <div class="row line-between-columns gutter-lg"> <div class="col-md-6 col-sm-12 mt-5 mb-5"> <div class="mb-3"> <h4 class="text-default text-uppercase">Products and services</h4> <p class="text-default">Compliance for websites and apps</p> </div> <div class="row justify-content-between mb-3"> <div class="col-lg mb-4 mb-lg-0"> <ul class="list-unstyled mb-3 pl-2"> <li><a class="font-weight-bold" href="/en/privacy-and-cookie-policy-generator">Privacy and Cookie Policy Generator</a></li> <li><a class="font-weight-bold" href="/en/cookie-solution">Privacy Controls and Cookie Solution</a></li> <li><a class="font-weight-bold" href="/en/terms-and-conditions-generator">Terms and Conditions Generator</a></li> <li><a class="font-weight-bold" href="/en/consent-solution">Consent Database</a></li> <li><a class="font-weight-bold" href="/en/internal-privacy-management">Register of Data Processing Activities</a></li> <li><a class="font-weight-bold" href="/en/whistleblowing-management-tool">Whistleblowing Management Tool</a></li> <li><a class="font-weight-bold" href="/en/newsletter-opt-in-booster">Newsletter opt-in booster</a></li> <li><a class="font-weight-bold" href="https://www.iubenda.com/stats/">iubenda Stats </a></li> </ul> </div> </div> <div class="mb-3"> <ul class="list-unstyled mb-0"> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="/en/pricing" class="btn btn-sm btn-outline-primary d-block">Pricing</a> </li> <li class="list-inline-item d-block d-md-inline-block mr-md-0 mb-md-2"> <a href="https://www.iubenda.com/en/scan" class="btn btn-sm btn-outline-primary d-block">Free site scan</a> </li> </ul> </div> </div> <div class="col-md-6 col-sm-12 mt-5 mb-5 footer-right"> <div class="row mb-4"> <div class="col mb-4"> <h4 class="text-default text-uppercase mb-3">Company</h4> <ul class="list-unstyled mb-3 pl-2 text-xs"> <li class="mb-1"><a class="bg-gray-1 rounded px-2 py-1 text-white" href="https://www.iubenda.com/en/help/posts/1812">Work with us</a></li> <li><a href="https://www.iubenda.com/blog/">Blog</a></li> <li><a href="/en/partner-program">Get certified as a Compliance Expert</a></li> <li><a href="/en/help/15138-partner-directory">Partner directory</a></li> <li><a href="https://www.iubenda.com/en/help/149409-join-the-iubenda-affiliate-program">Earn with iubenda</a></li> </ul> <ul class="list-unstyled d-md-flex align-items-center"> <li class="mb-1 mr-4"> <a href="https://iubenda.link/capterra" target="_blank" rel="noopener"> <img border="0" data-lazy-src="https://assets.capterra.com/badge/de52ae1b9de89ae468a920af39e7ace6.png?v=2110097&p=156938" width="100" height="32" alt="Capterra rating"/> </a> </li> </ul> </div> <div class="col mb-4"> <h4 class="text-default text-uppercase mb-3">Legal</h4> <ul class="list-unstyled mb-0 pl-2 text-xs"> <li><a href="https://www.iubenda.com/privacy-policy/252372" class="iubenda-white iubenda-embed" title="Privacy Policy">Privacy Policy</a></li> <li><a href="/en/user/tos" class="iubenda-white iubenda-embed" title="Terms of Service">Terms and Conditions</a></li> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ (function (w,d) {var loader = function () {var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0];s.src = "https://cdn.iubenda.com/iubenda.js";tag.parentNode.insertBefore(s,tag);};w.addEventListener ? w.addEventListener("load", loader, false) : w.attachEvent("onload", loader);})(window, document); //]]> </script> <a href="https://www.iubenda.com/dsar-form/en/5bcb8bf5-5fe3-43fe-ae11-2065200c7827" class="iubenda-white iubenda-embed" title="Privacy rights request">Privacy rights request</a> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ (function (w, d) { var loader = function () { var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0]; s.src = "https://cdn.iubenda.com/iubenda.js"; tag.parentNode.insertBefore(s, tag); }; if (w.addEventListener) { w.addEventListener("load", loader, false); } else if (w.attachEvent) { w.attachEvent("onload", loader); } else { w.onload = loader; } })(window, document); //]]> </script> <li><a href="https://www.iubenda.com/whistleblowing-form/en/7d7ca782-3805-4ce2-ae0b-5b57f53162d5" class="iubenda-white iubenda-embed" title="Whistleblower Form">Whistleblower Form</a></li> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ (function (w,d) {var loader = function () {var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0]; s.src="https://cdn.iubenda.com/iubenda.js"; tag.parentNode.insertBefore(s,tag);}; if(w.addEventListener){w.addEventListener("load", loader, false);}else if(w.attachEvent){w.attachEvent("onload", loader);}else{w.onload = loader;}})(window, document); //]]> </script> <li class="pb-3"><a href="https://www.iubenda.com/terms-and-conditions/19521877">Whistleblower policy</a></li> <li class="pb-3"><a href="/en/help/158">Imprint/Impressum</a></li> <li><a href='#' class='iubenda-cs-preferences-link'> <img style="width: 2rem!important" src="data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 30 14' style='enable-background:new 0 0 30 14;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;%7d .st1%7bfill-rule:evenodd;clip-rule:evenodd;fill:%230066FF;%7d .st2%7bfill:%23FFFFFF;%7d .st3%7bfill:%230066FF;%7d %3c/style%3e%3cg%3e%3cg id='final---dec.11-2020_1_'%3e%3cg id='_x30_208-our-toggle_2_' transform='translate(-1275.000000, -200.000000)'%3e%3cg id='Final-Copy-2_2_' transform='translate(1275.000000, 200.000000)'%3e%3cpath class='st0' d='M7.4,12.8h6.8l3.1-11.6H7.4C4.2,1.2,1.6,3.8,1.6,7S4.2,12.8,7.4,12.8z'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3cg id='final---dec.11-2020'%3e%3cg id='_x30_208-our-toggle' transform='translate(-1275.000000, -200.000000)'%3e%3cg id='Final-Copy-2' transform='translate(1275.000000, 200.000000)'%3e%3cpath class='st1' d='M22.6,0H7.4c-3.9,0-7,3.1-7,7s3.1,7,7,7h15.2c3.9,0,7-3.1,7-7S26.4,0,22.6,0z M1.6,7c0-3.2,2.6-5.8,5.8-5.8 h9.9l-3.1,11.6H7.4C4.2,12.8,1.6,10.2,1.6,7z'/%3e%3cpath id='x' class='st2' d='M24.6,4c0.2,0.2,0.2,0.6,0,0.8l0,0L22.5,7l2.2,2.2c0.2,0.2,0.2,0.6,0,0.8c-0.2,0.2-0.6,0.2-0.8,0 l0,0l-2.2-2.2L19.5,10c-0.2,0.2-0.6,0.2-0.8,0c-0.2-0.2-0.2-0.6,0-0.8l0,0L20.8,7l-2.2-2.2c-0.2-0.2-0.2-0.6,0-0.8 c0.2-0.2,0.6-0.2,0.8,0l0,0l2.2,2.2L23.8,4C24,3.8,24.4,3.8,24.6,4z'/%3e%3cpath id='y' class='st3' d='M12.7,4.1c0.2,0.2,0.3,0.6,0.1,0.8l0,0L8.6,9.8C8.5,9.9,8.4,10,8.3,10c-0.2,0.1-0.5,0.1-0.7-0.1l0,0 L5.4,7.7c-0.2-0.2-0.2-0.6,0-0.8c0.2-0.2,0.6-0.2,0.8,0l0,0L8,8.6l3.8-4.5C12,3.9,12.4,3.9,12.7,4.1z'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e "> Your Privacy Choices</a></li> <li class="pb-3"><a href='#' class='iubenda-cs-uspr-link'>Notice at Collection</a></li> <li><a href="https://www.iubenda.com/privacy-policy/94654098">Consent Database Privacy Notice</a></li> <li><a href="https://www.iubenda.com/privacy-policy/36700132">Privacy Controls and Cookie Solution Privacy Notice</a></li> </ul> </div> </div> <div class="row"> <div class="col-6 mb-4"> <h4 class="text-default text-uppercase mb-3">Help</h4> <ul class="list-unstyled mb-0 pl-2 text-xs"> <li><a href="/en/help">Documentation</a></li> <li><a href="https://support.iubenda.com">Feedback & support forum</a></li> <li><a href="mailto:info@iubenda.com" data-elevio-module="2" data-elevio-style="nothing">Contact support</a></li> <li><a href="https://www.iubenda.com/en/help/161162-our-cmp-support-commitment">Our CMP Support Commitment</a></li> </ul> </div> <div class="col-6 mb-4"> <h4 class="text-default text-uppercase mb-2"><label for="user_country">Country</label></h4> <div class="mb-4"> <select class="form-control custom-select" id="user_country" name="iubenda_current_user[country_code]" remote="true"> </select> </div> </div> </div> <div class="row"> <div class="col-6 mb-4 mt-3"> <div class="footer_social_buttons"> <ul class="list-unstyled d-flex align-items-center"> <li class="mr-1"> <a href="https://www.facebook.com/iubenda" target="_blank" rel="noopener" class="pr-0"> <img class="mb-4" width="32" height="32" alt="Facebook logo" data-lazy-src="/assets/site/general/facebook_logo-0a635f95d5ca9a530ec6849fdca8c313abdbaa2ef4f7ff085e7894a481e69cb4.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img class="mb-4" width="32" height="32" alt="Facebook logo" src="/assets/site/general/facebook_logo-0a635f95d5ca9a530ec6849fdca8c313abdbaa2ef4f7ff085e7894a481e69cb4.svg" /> </noscript> </a> </li> <li> <a href="https://twitter.com/iubenda" target="_blank" rel="noopener" class="pl-0"> <img class="mb-4" width="32" height="32" alt="X logo" data-lazy-src="/assets/site/general/x_logo-374a5be853d42cc934c74f37d1378ececb74abff0767a619a2749f8461f05bf9.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img class="mb-4" width="32" height="32" alt="X logo" src="/assets/site/general/x_logo-374a5be853d42cc934c74f37d1378ececb74abff0767a619a2749f8461f05bf9.svg" /> </noscript> </a> </li> </ul> </div> </div> <div class="col-6 footer-certificates"> <img height="75" alt="CMP Partner badge" class="mr-3 mb-3" data-lazy-src="/assets/site/general/cmp_badge_en-3d95a73213cca3ef66050653cc124af032a115c33f225a895c6587e7665f2d0f.svg" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img height="75" alt="CMP Partner badge" class="mr-3 mb-3" src="/assets/site/general/cmp_badge_en-3d95a73213cca3ef66050653cc124af032a115c33f225a895c6587e7665f2d0f.svg" /> </noscript> <a href="/assets/site/general/iubenda_iso_certificate-02df3bf20f10947e36649d790bb65e06f4f8df96b0bd26c4d1b7bd1d01fb4311.pdf" target="_blank"><img height="85" alt="ISO 27001 certificate" data-lazy-src="/assets/site/general/marchio_certification_ISO_IEC_27001-b48149ce6e055a2caa00f0961394ce95d4ae4f31fbcc7957a1851c213b2f6bff.png" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /> <noscript> <img height="85" alt="ISO 27001 certificate" src="/assets/site/general/marchio_certification_ISO_IEC_27001-b48149ce6e055a2caa00f0961394ce95d4ae4f31fbcc7957a1851c213b2f6bff.png" /> </noscript> </a> </div> </div> </div> </div> </div> <div class="language-country-selectors"></div> <hr class="p-0"> <div class="p-4 text-xs"> <div class="container"> <div class="row"> <div class="col-md-12"> <address class="d-flex flex-column d-lg-block"> <strong class="mr-2">iubenda s.r.l</strong> <span class="mr-2">Via San Raffaele, 1 - 20121 Milan (Italia)</span> <span class="mr-2">EU VAT No: IT07347120961</span> <span class="mr-2">UK VAT No: GB370904694</span> <span class="mr-2">Milan Chamber of Commerce</span> <span class="mr-2">SC: 12,795.78 Eur (fully paid up)</span> </address> </div> </div> </div> </div> </footer> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ $(document).ready(function() { $(".show-in-iframe").click(function(event) { if(!event.ctrlKey && !event.metaKey){ if (document.getElementById('iubenda-pp-popup')) { return; } showInIframe($(this).attr('href')/*,null,null,null,null,$('.container')[0],name*/); event.preventDefault(); } }); }); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ window.isUserSignedIn = false; window.TrackingUtils.init(); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ dataLayer.push({ event: "trigger_conversion", google_conversion_id: 1036022355, google_custom_params: window.google_tag_params, google_remarketing_only: true }); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ !function(e,l,v,i,o,n){e[i]||(e[i]={}),e[i].account_id=n;var g,h;g=l.createElement(v),g.type="text/javascript",g.async=1,g.src=o+n,h=l.getElementsByTagName(v)[0],h.parentNode.insertBefore(g,h);e[i].q=[];e[i].on=function(z,y){e[i].q.push([z,y])}}(window,document,"script","_elev","https://cdn.elev.io/sdk/bootloader/v4/elevio-bootloader.js?cid=","5b0d50ab36803"); window._elev.on('load', function (_elev) { var userSettings = { groups: ['Language=EN']} _elev.setUser(userSettings); _elev.setLanguage('en'); _elev.setSettings({ disablePushState: true, cspInlineScriptNonce: CSP_NONCE }); }); window._elev.on('ready', function elevReady() { var wrap = document.querySelector('#_elev_io._elevio_widget').querySelector('._1mpem'); var wrapAppendChild = wrap.appendChild.bind(wrap); wrap.appendChild = function wrapAppendChildMid(div) { var divAppendChild = div.appendChild.bind(div); div.appendChild = function divAppendChildMid(article) { if (article.tagName && article.tagName.toLowerCase() === 'article') { var articleAppendChild = article.appendChild.bind(article); article.appendChild = function articleAppendChildMid(iframe) { if (iframe.tagName && iframe.tagName.toLowerCase() === 'iframe') { iframe.setAttribute('src', '/no-content.html'); } return articleAppendChild(iframe); }; } return divAppendChild(article); }; return wrapAppendChild(div); }; }); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg==" crossorigin="anonymous" referrerpolicy="no-referrer"> //<![CDATA[ //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ (function($) { $('.wp-block-cb-carousel').slick(); })(jQuery); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ function PasswordVisibilityToggle(passwordInputSelector, submitBtnSelector) { this.passwordInput = document.querySelector(passwordInputSelector); this.submitBtn = document.querySelector(submitBtnSelector); console.log( this.passwordInput + ' - ' + this.submitBtn ); if (this.passwordInput && this.submitBtn) { this.alert = this.findSiblingElement(this.passwordInput, 'show-hide-pw-alert'); this.toggleBtn = this.findSiblingElement(this.passwordInput, 'show-hide-pw-btn'); if (this.toggleBtn && this.alert) { this.init(); } else { console.error('Required elements not found.'); } } } PasswordVisibilityToggle.prototype.findSiblingElement = function(startElement, className) { var sibling = startElement.parentNode.firstChild; while (sibling) { if (sibling !== startElement && sibling.nodeType === 1 && sibling.classList.contains(className)) { return sibling; } sibling = sibling.nextSibling; } return null; }; PasswordVisibilityToggle.prototype.init = function() { var self = this; this.toggleBtn.addEventListener('click', function() { self.toggleVisibility(); }); this.submitBtn.addEventListener('click', function() { self.resetPasswordInput(); }); }; PasswordVisibilityToggle.prototype.toggleVisibility = function() { if (this.passwordInput.type === 'password') { this.passwordInput.type = 'text'; } else { this.passwordInput.type = 'password'; } var isChecked = this.toggleBtn.getAttribute('aria-checked') === 'true'; this.toggleBtn.setAttribute('aria-checked', !isChecked); if (!isChecked) { this.alert.textContent = "Your password is visible"; } else { this.alert.textContent = "Your password is hidden"; } }; PasswordVisibilityToggle.prototype.resetPasswordInput = function() { this.passwordInput.type = 'password'; }; //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ var userLocationPrefs = {"locale":"en","country":"SG"}; var cdnBaseUrl = "https://cdn.iubenda.com/"; var goProModalUrl = ""; var upToProUrl = ""; var upgradeSiteUrl = ""; var dashboardUrl = "/en/dashboard"; var accountUrl = "https://www.iubenda.com/en/account" var mtToPaygConversionFormUrl = "https://www.iubenda.com/en/billing/subscriptions/mt_to_payg_conversion_form"; var moveToPaygUrl = "https://www.iubenda.com/en/billing/subscriptions/move_to_payg"; var gopro_upgrade_to_remove = "Upgrade this privacy policy to Pro to remove the limit"; var gopro_upgrade_now = "Upgrade now"; var gopro_learn_more = "Learn more"; var gopro_free_limit_reached = "Free limit reached"; var gopro_only_four_services = "Upgrade this privacy policy to Pro to add more than 4 services."; var gopro_service_pro_only = "Upgrade this privacy policy to Pro to add this service." var gopro_switch_to_pro = "Switch to Pro to enable it"; var gopro_no_custom_text = "In order to add custom text, your privacy policy has to be upgraded to Pro."; var gopro_no_style_limit = "Only Pro privacy policies allow removal of the button style and free modification."; var gopro_no_brand_limit = "If you want to remove the iubenda logo, upgrade this privacy policy to Pro."; var gopro_direct_link_limit = "If you want to directly link the privacy policy, without using the embedding code, upgrade this privacy policy to Pro."; var gopro_direct_embed_limit = "If you want to directly embed the privacy policy text, so that it's printed right on your website's page, upgrade this privacy policy to Pro. <a href='/en/help/78' target='_blank'>Display an example</a>"; var gopro_add_language = "The license of this site is valid for a single language. If you want to add an additional language, you can purchase another license for the same price as the first :)"; var gopro_add_language_payg = "The license of this site is valid for a single language as each license is applied on a per-language or per-site basis. \u003cbr/\u003e\u003cbr/\u003e \u003cspan\u003e\u0026#128204;\u003c/span\u003e To add an additional language, you'll need to activate another license. Doing this is easy! \u003cbr/\u003e\u003cbr/\u003e Simply click the \"Add language\" button and our system will split the remaining value of your current paid license to activate the new one. \u003cbr/\u003e\u003cbr/\u003e The expiration date of both licenses will then shorten accordingly as the value of the subscription is split to accommodate your active licenses."; var mt_expired_add_language = "Your Multi-license plan expired, go to your dashboard to renew or go back to Pay-per-license."; var mt_emptied_add_language = "Your Multi-license plan has no more available slots, please upgrade to a larger plan."; var mt_add_language_upgrade_now = "Upgrade now"; var buy_second_language = "Buy additional language"; var permissions_tooltip_title = "Reserved for Pro policies"; var permissions_tooltip_paragraph = "In order to add this permission to your privacy policy, you must first upgrade it to Pro."; var pro_service_tooltip_title = "Reserved for Pro policies"; var pro_service_tooltip_paragraph = "In order to add this service to your privacy policy, you must first upgrade it to Pro."; var pro_cookiepp_tooltip_title = "Reserved for Pro policies"; var pro_cookiepp_tooltip_paragraph = "In order to add a cookie policy to your privacy policy, you must first upgrade it to Pro. <a href='/en/help/1175' target='_blank'>Display an example</a>"; var hint_tooltip_title = "Hints about this service"; var fbLoginUrl = "https://www.iubenda.com/en/facebook_login"; var facebookConnectUrl = "https://www.iubenda.com/en/facebook/connect"; var legacyUpgrade = true; var package_feature_not_enabled = "Upgrade your plan"; var package_upgrade_message = "This feature is not included in your current plan. Upgrade your plan to unlock it."; var package_upgrade_cta = "Learn more"; // alerts document.addEventListener("DOMContentLoaded", function(e) { var flashAlert = sessionStorage.getItem('flash_alert_error'); if (flashAlert) { AlertMessage.show({message: flashAlert, type: 'error', timerHide: 3000}); sessionStorage.removeItem('flash_alert_error'); } }); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/plain" class="_iub_cs_activate" data-iub-purpose="2"> //<![CDATA[ (function(d, id) { var fcJS; function initFreshChat() { window.fcWidget.init({ token: "6946a656-b4d1-4304-80ca-a527ec430aa5", host: "https://wchat.freshchat.com", locale: "en", config: { hideFAQ: true, headerProperty: { hideChatButton: true, direction: "ltr" }, } }); window.fcWidget.user.setLocale('en'); } if (d.getElementById(id)) { initFreshChat(); return; } fcJS = d.createElement('script'); fcJS.id = id; fcJS.async = true; fcJS.src = 'https://wchat.freshchat.com/js/widget.js'; fcJS.nonce = '01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c' fcJS.onload = initFreshChat; d.head.appendChild(fcJS); }(document, 'freshchat-js-sdk')); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" type="text/plain" class="_iub_cs_activate" data-iub-purposes="4,5"> //<![CDATA[ !function(){"use strict";window.RudderSnippetVersion="3.0.14";var e="rudderanalytics";window[e]||(window[e]=[]) ;var rudderanalytics=window[e];if(Array.isArray(rudderanalytics)){ if(true===rudderanalytics.snippetExecuted&&window.console&&console.error){ console.error("RudderStack JavaScript SDK snippet included more than once.")}else{rudderanalytics.snippetExecuted=true, window.rudderAnalyticsBuildType="legacy";var sdkBaseUrl="https://cdn.rudderlabs.com/v3";var sdkName="rsa.min.js" ;var scriptLoadingMode="async" ;var t=["setDefaultInstanceKey","load","ready","page","track","identify","alias","group","reset","setAnonymousId","startSession","endSession","consent"] ;for(var r=0;r<t.length;r++){var n=t[r];rudderanalytics[n]=function(t){return function(){var r ;Array.isArray(window[e])?rudderanalytics.push([t].concat(Array.prototype.slice.call(arguments))):null===(r=window[e][t])||void 0===r||r.apply(window[e],arguments) }}(n)}try{new Function('return import("")'),window.rudderAnalyticsBuildType="modern"}catch(a){} var i=document.head||document.getElementsByTagName("head")[0] ;var d=document.body||document.getElementsByTagName("body")[0];window.rudderAnalyticsAddScript=function(e,t,r){ var n=document.createElement("script");n.src=e,n.setAttribute("data-loader","RS_JS_SDK"),t&&r&&n.setAttribute(t,r), "async"===scriptLoadingMode?n.async=true:"defer"===scriptLoadingMode&&(n.defer=true), i?i.insertBefore(n,i.firstChild):d.insertBefore(n,d.firstChild)},window.rudderAnalyticsMount=function(){ "undefined"==typeof globalThis&&(Object.defineProperty(Object.prototype,"__globalThis_magic__",{get:function get(){ return this},configurable:true}),__globalThis_magic__.globalThis=__globalThis_magic__, delete Object.prototype.__globalThis_magic__), window.rudderAnalyticsAddScript("".concat(sdkBaseUrl,"/").concat(window.rudderAnalyticsBuildType,"/").concat(sdkName),"data-rsa-write-key","2MV0qrGjHKJbkC2kOh1rSBRyD9k") }, "undefined"==typeof Promise||"undefined"==typeof globalThis?window.rudderAnalyticsAddScript("https://polyfill-fastly.io/v3/polyfill.min.js?version=3.111.0&features=Symbol%2CPromise&callback=rudderAnalyticsMount"):window.rudderAnalyticsMount() ;var loadOptions={ onLoaded: function(rudderanalytics) { rudderanalytics.setAnonymousId("f923f900-21d5-41d1-a41c-caca312ab109"); window._radderAnalyticsQueue = window._radderAnalyticsQueue || []; window._radderAnalyticsQueue.forEach(func => { if (typeof func === 'function') { func("eyJncm93dGhib29rIjp7ImF0dHJpYnV0ZXMiOnsiY291bnRyeSI6IlNHIiwi\naWQiOiIiLCJ0cmFja2luZ19pZCI6IiIsImFub255bW91c19pZCI6ImY5MjNm\nOTAwLTIxZDUtNDFkMS1hNDFjLWNhY2EzMTJhYjEwOSIsInNlc3Npb25faWQi\nOiI2MTY2OTFlZDE5ODA2MTRiZTA5YmY2YmUyZThlYTI5OSIsImlwIjoiOC4y\nMjIuMjA4LjE0NiJ9LCJmb3JjZWRGZWF0dXJlcyI6eyJwcmljaW5nXzIwMjMi\nOnRydWV9fX0=\n"); } }); }, storage: { entries: { userTraits: { type: "localStorage" } } }, setCookieDomain: "www.iubenda.com" } ;rudderanalytics.load("2MV0qrGjHKJbkC2kOh1rSBRyD9k","https://rudder.iubenda.com", loadOptions)}} }(); rudderanalytics.page('', '', {}); rudderanalytics.load("2MV0qrGjHKJbkC2kOh1rSBRyD9k","https://rudder.iubenda.com", { onLoaded: function(rudderanalytics) { console.log('launchpad'); Appcues.loadLaunchpad("#appcues-launchpad", { position: "left", header: "Hey there! 👋 Check out what's new!", }); } }); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" id="profitwell-js" data-pw-auth="e2b7961d01fb6d8f17a24d0b5f505c3d" type="text/plain" class="_iub_cs_activate" data-iub-purposes="2"> //<![CDATA[ (function(i,s,o,g,r,a,m){i[o]=i[o]||function(){(i[o].q=i[o].q||[]).push(arguments)}; a=s.createElement(g);m=s.getElementsByTagName(g)[0];a.async=1;a.src=r+'?auth='+ s.getElementById(o+'-js').getAttribute('data-pw-auth');m.parentNode.insertBefore(a,m); })(window,document,'profitwell','script','https://public.profitwell.com/js/profitwell.js'); profitwell('start', {}); //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c"> //<![CDATA[ window.GROWTHBOOK_API_HOST="https://cdn.growthbook.io"; window.GROWTHBOOK_CLIENT_KEY="sdk-nX2zVV0ub3f5ljqf"; //]]> </script> <script nonce="01ad90815ddf4819b534280261624c92c0050b0af3fd2cdc4e561bef553b2b5c" src="/assets/builds/growthbook-3b9344c70ddc480132f6.js" type="text/plain" class="_iub_cs_activate" data-iub-purposes="4"> //<![CDATA[ //]]> </script> </body> </html>