Last active
May 23, 2018 11:47
-
-
Save tobiasdalhof/37ccafa3ba99eadca1ccff5801ae73e6 to your computer and use it in GitHub Desktop.
GDPR web tracking cookie toggle, using Cookie.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (typeof window.Cookies.get('disable-webtracking') === 'undefined') { | |
// Your tracking code here | |
// Google Analytics, Facebook, Matomo, you name it... | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div> | |
<p><strong class="webtrackingStatus">Das Webtracking ist aktiviert.</strong> <a class="toggleWebtracking" href="javascript:toggleWebtracking()">Webtracking deaktivieren</a></p> | |
<p><strong class="webtrackingStatus">Das Webtracking ist aktiviert.</strong> <a class="toggleWebtracking" href="javascript:toggleWebtracking()">Webtracking deaktivieren</a></p> | |
<p><strong class="webtrackingStatus">Das Webtracking ist aktiviert.</strong> <a class="toggleWebtracking" href="javascript:toggleWebtracking()">Webtracking deaktivieren</a></p> | |
<p><strong class="webtrackingStatus">Das Webtracking ist aktiviert.</strong> <a class="toggleWebtracking" href="javascript:toggleWebtracking()">Webtracking deaktivieren</a></p> | |
<p><strong class="webtrackingStatus">Das Webtracking ist aktiviert.</strong> <a class="toggleWebtracking" href="javascript:toggleWebtracking()">Webtracking deaktivieren</a></p> | |
</div> | |
<script> | |
var disableWebtrackingCookie = 'disable-webtracking'; | |
var webtrackingIsAllowed = typeof window.Cookies.get(disableWebtrackingCookie) !== 'undefined'; | |
var toggleWebtrackingLink = document.getElementsByClassName('toggleWebtracking'); | |
var webtrackingStatusText = document.getElementsByClassName('webtrackingStatus'); | |
var webtrackingOptout = function () { | |
window.Cookies.set(disableWebtrackingCookie, 'true', { expires: 14 }); | |
} | |
var webtrackingOptin = function () { | |
window.Cookies.remove(disableWebtrackingCookie); | |
} | |
if (webtrackingIsAllowed === true) { | |
for (var i = 0; i < toggleWebtrackingLink.length; i++) { | |
toggleWebtrackingLink[i].innerText = 'Webtracking aktivieren'; | |
} | |
for (var i = 0; i < webtrackingStatusText.length; i++) { | |
webtrackingStatusText[i].innerText = 'Das Webtracking ist deaktiviert.'; | |
} | |
} | |
var toggleWebtracking = function () { | |
if (webtrackingIsAllowed === true) { | |
webtrackingOptin(); | |
for (var i = 0; i < toggleWebtrackingLink.length; i++) { | |
toggleWebtrackingLink[i].innerText = 'Webtracking deaktivieren'; | |
} | |
for (var i = 0; i < webtrackingStatusText.length; i++) { | |
webtrackingStatusText[i].innerText = 'Das Webtracking ist aktiviert.'; | |
} | |
} else { | |
webtrackingOptout(); | |
for (var i = 0; i < toggleWebtrackingLink.length; i++) { | |
toggleWebtrackingLink[i].innerText = 'Webtracking aktivieren'; | |
} | |
for (var i = 0; i < webtrackingStatusText.length; i++) { | |
webtrackingStatusText[i].innerText = 'Das Webtracking ist deaktiviert.'; | |
} | |
} | |
webtrackingIsAllowed = typeof window.Cookies.get(disableWebtrackingCookie) !== 'undefined'; | |
}; | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment