你是否在网站上使用谷歌分析,但担心它如何收集和处理数据?如果你是,那么解决方案很简单。使用符合GDPR的替代方案。为了帮助您,我想与您分享符合GDPR的谷歌分析嵌入插件。
当用户第一次访问您的网站时,此插件会在您的网站上显示cookie同意(数据收集策略)弹出窗口。当您的用户单击“接受”按钮时,弹出窗口显示Google Analytics如何收集您的个人数据并加载Google Analytics跟踪代码。如果用户不同意,他可以简单地点击“不谢谢”按钮,cookie同意弹出窗口将关闭。
1.包括jquery.cookiewall.js查询加载最新的jQuery库之后的脚本。
<script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/jquery.cookiewall.js"></script>
2.初始化插件,定义您的网站信息,并将您的Google Analytics跟踪id插入id选项如下:
$(document).cookieWall({
website: {
name: 'jQuery Script',
url: 'https://www.jqueryscript.net/'
},
id: 'G-1VDDWMRSTH',
});
3.自定义cookie同意模式弹出窗口。
$(document).cookieWall({
website: {
name: 'jQuery Script',
url: 'https://www.jqueryscript.net/'
},
id: 'G-1VDDWMRSTH',
// add your site logo
logo: {
url: '',
width: '',
align: 'left',
margin: '0'
},
// customize the modal popup
modal: {
hrColor: '#b3b3b3',
fontColor: '#3c3c3c',
backgroundColor: '#fafafa'
},
// customize the Accept and Refuse buttons
button: {
acceptColor: '#0a9919',
acceptColorHover: '#076212',
refuseColor: '#a40606',
refuseColorHover: '#7b0505',
},
});
4.默认情况下,同意书保留10天。您可以自定义饼干墙如下所示。
$(document).cookieWall({
website: {
name: 'jQuery Script',
url: 'https://www.jqueryscript.net/'
},
id: 'G-1VDDWMRSTH',
cookie: {
name: 'cookie-wall',
days: 10,
path: '/'
},
});
5.自定义Google Analytics cookie设置。
$(document).cookieWall({
website: {
name: 'jQuery Script',
url: 'https://www.jqueryscript.net/'
},
id: 'G-1VDDWMRSTH',
tag: {
cookiePrefix: '',
cookieDomain: '',
cookieExpires: '',
cookieUpdate: ''
},
});
6.设置cookie同意弹出窗口的语言。“fr”或“en”。
$(document).cookieWall({
website: {
name: 'jQuery Script',
url: 'https://www.jqueryscript.net/'
},
id: 'G-1VDDWMRSTH',
lang: 'en',
});
7.为插件添加更多语言。
const content = {
title: {
fr: `Politique de collecte des données`,
en: `Data collection policy`
},
message: {
fr: `<b>Des fichiers cookies sont utilisés pour analyser le trafic du site ${params.website.url} par le service Google Analytics.</b><br><br>Des informations concernant votre navigation et votre utilisation du site sont transmises ${params.website.name.length > 0 ? ' à ' + params.website.name : ''} et seront analysées <b>de façon anonyme</b> pour améliorer nos services. Les données seront transmises aux Ãtats-Unis et sont soumises à <a href="https://policies.google.com/privacy?hl=fr-FR" target="_blank" title="Politique de confidentialité de Google" style="color:inherit;font-weight:bold;">la politique de confidentialité de Google</a>.`,
en: `<b>Cookie files are used to analyze ${params.website.url} website traffic by Google Analytics service.</b><br><br>Information about your browsing and use of the website is transmitted ${params.website.name.length > 0 ? ' to ' + params.website.name : ''} and will be analyzed <b>anonymously</b> to improve services. The data will be transmitted to the United States and are subject to <a href="https://policies.google.com/privacy?hl=en-US" target="_blank" title="Google privacy policy" style="color:inherit;font-weight:bold;">the Google privacy policy</a>.`
},
titleList: {
fr: `Liste des cookies`,
en: `List of cookies`
},
list: {
fr: `<ul><li><b>_ga</b> : Utilisé pour distinguer les utilisateurs (expire au bout de 2 ans)</li><li><b>_gid</b> : Utilisé pour distinguer les utilisateurs (expire au bout de 24 heures)</li><li><b>_gat</b> : Utilisé pour limiter le taux de demande (expire au bout de 1 minute)</li></ul>`,
en: `<ul><li><b>_ga</b>: Used to distinguish users (expires after 2 years)</li><li><b>_gid</b>: Used to distinguish users (expires after 24 hours)</li><li><b>_gat</b>: Used to limit request rate (expires after 1 minute)</li></ul>`
},
conservation: {
fr: `Votre consentement est conservé pendant <b>${params.cookie.days}</b> jour${params.cookie.days > 1 ? 's' : ''}. Vous pouvez réinitialiser votre consentement en supprimant le cookie <b>${params.cookie.name}</b> des données de votre navigateur.`,
en: `Your consent is kept for <b>${params.cookie.days}</b> day${params.cookie.days > 1 ? 's' : ''}. You can reset your consent by deleting the <b>${params.cookie.name}</b> cookie from your browser data.`
},
accepted: {
fr: `Accepter`,
en: `Accept`
},
refused: {
fr: `Non merci`,
en: `No thanks`
}
};