Skripte und Einbettungen blockieren
Ein Banner nützt nur etwas, wenn Tracker auf die Antwort warten. Diese Seite erklärt, was Cookiemark von selbst zurückhält, wie Sie den Rest kennzeichnen und was es nicht aufhalten kann.
Automatisches Blockieren
Cookiemark kennt die Skripte und Einbettungen gängiger Dienste. Taucht eines davon auf Ihrer Seite auf, hält das Skript es zurück, bis der Besucher seine Kategorie erlaubt. Sie müssen nichts einrichten. Es funktioniert, sobald das Skript an erster Stelle im Head Ihrer Seite steht.
Das Skript überwacht die Seite auf zwei Arten, weil keine allein alles erfasst.
- Es fängt Skripte ab, die anderer Code erzeugt. Erhält ein solches Skript die Adresse eines bekannten Dienstes, ändert Cookiemark seinen Typ, bevor es eingefügt wird, sodass der Browser es nie ausführt.
- Es beobachtet alles, was der Browser der Seite hinzufügt, während er Ihr HTML liest. Ein bekanntes Skript erhält einen Typ, den der Browser nicht ausführt, und ein bekannter Frame verliert seine Adresse, bis der Besucher zustimmt.
Erlaubt der Besucher die Kategorie, führt Cookiemark die zurückgehaltenen Skripte in ihrer ursprünglichen Reihenfolge erneut aus. Ein externes Skript lädt vollständig, bevor das nächste startet, sodass Code, der davon abhängt, weiterhin funktioniert.
Die Dienste, die Cookiemark erkennt
| Dienst | Wartet auf | Erkannt an |
|---|---|---|
| Google Tag Manager | Statistik | googletagmanager.com/gtm.js, googletagmanager.com/ns.html |
| Google Analytics | Statistik | googletagmanager.com/gtag/js, google-analytics.com |
| Google Ads | Marketing | googleadservices.com, googlesyndication.com, doubleclick.net |
| Meta Pixel | Marketing | connect.facebook.net, facebook.com/tr |
| Hotjar | Statistik | static.hotjar.com, script.hotjar.com |
| Microsoft Clarity | Statistik | clarity.ms |
| LinkedIn Insight Tag | Marketing | snap.licdn.com, px.ads.linkedin.com, _linkedin_partner_id |
| TikTok Pixel | Marketing | analytics.tiktok.com |
| Pinterest Tag | Marketing | s.pinimg.com/ct, ct.pinterest.com |
| HubSpot | Marketing | js.hs-scripts.com, js.hs-analytics.net, js.hsforms.net |
| Quriobot | Marketing | botsrv2.com, quriobot.com |
| YouTube | Marketing | youtube.com/embed, youtube-nocookie.com/embed, youtube.com/iframe_api |
| Vimeo | Marketing | player.vimeo.com |
| Google Maps | Marketing | google.com/maps/embed, maps.google.com/maps, maps.googleapis.com/maps/api |
| X (Twitter) | Marketing | platform.twitter.com, platform.x.com |
| Marketing | instagram.com/embed | |
| Spotify | Marketing | open.spotify.com/embed |
| Matomo | Statistik | /matomo.js, /piwik.js, cdn.matomo.cloud |
| Piwik PRO | Statistik | .containers.piwik.pro, .piwik.pro/ppms.js |
| Adobe Analytics | Statistik | assets.adobedtm.com, /appmeasurement.js, .omtrdc.net, .2o7.net |
| Mixpanel | Statistik | cdn.mxpnl.com, cdn4.mxpnl.com, api-js.mixpanel.com |
| Amplitude | Statistik | cdn.amplitude.com |
| Heap | Statistik | cdn.heapanalytics.com, heapanalytics.com/js |
| Segment | Statistik | cdn.segment.com, cdn.segment.io |
| Mouseflow | Statistik | cdn.mouseflow.com |
| Crazy Egg | Statistik | script.crazyegg.com |
| Lucky Orange | Statistik | tools.luckyorange.com, tools.luckyorange.net |
| FullStory | Statistik | edge.fullstory.com, fullstory.com/s/fs.js |
| Smartlook | Statistik | web-sdk.smartlook.com, rec.smartlook.com |
| Contentsquare | Statistik | t.contentsquare.net |
| Datadog RUM | Statistik | datadoghq-browser-agent.com |
| Yandex Metrica | Statistik | mc.yandex.ru/metrika, mc.yandex.com/metrika |
| VWO | Statistik | dev.visualwebsiteoptimizer.com, visualwebsiteoptimizer.com/j.php |
| Optimizely | Statistik | cdn.optimizely.com |
| AB Tasty | Statistik | try.abtasty.com |
| Kameleoon | Statistik | .kameleoon.eu, .kameleoon.io |
| Usabilla | Statistik | w.usabilla.com |
| Mopinion | Statistik | deploy.mopinion.com |
| Qualtrics | Statistik | siteintercept.qualtrics.com |
| Survicate | Statistik | survey.survicate.com |
| WooCommerce order attribution | Statistik | /woocommerce/assets/js/frontend/order-attribution, /sourcebuster/sourcebuster |
| Microsoft Advertising | Marketing | bat.bing.com |
| X Ads | Marketing | static.ads-twitter.com, analytics.twitter.com |
| Snap Pixel | Marketing | sc-static.net/scevent, tr.snapchat.com |
| Reddit Pixel | Marketing | redditstatic.com/ads, alb.reddit.com |
| Quora Pixel | Marketing | a.quora.com/qevents.js, q.quora.com |
| Criteo | Marketing | static.criteo.net, dynamic.criteo.com, sslwidget.criteo.com |
| Taboola | Marketing | cdn.taboola.com, trc.taboola.com |
| Outbrain | Marketing | widgets.outbrain.com, amplify.outbrain.com |
| AdRoll | Marketing | s.adroll.com, d.adroll.com |
| The Trade Desk | Marketing | js.adsrvr.org, insight.adsrvr.org |
| Xandr | Marketing | acdn.adnxs.com, ib.adnxs.com, secure.adnxs.com |
| Adform | Marketing | track.adform.net, s2.adform.net, s1.adform.net |
| Amazon Ads | Marketing | amazon-adsystem.com |
| Awin | Marketing | dwin1.com, zenaps.com |
| TradeTracker | Marketing | tm.tradetracker.net, ts.tradetracker.net |
| Daisycon | Marketing | .daisycon.io |
| impact.com | Marketing | utt.impactcdn.com, impactradius-event.com |
| Leadinfo | Marketing | cdn.leadinfo.net, collector.leadinfo.net, leadinfo.net, api.leadinfo.com |
| Dealfront (Leadfeeder) | Marketing | sc.lfeeder.com, lftracker.leadfeeder.com |
| Albacross | Marketing | serve.albacross.com |
| Snitcher | Marketing | cdn.snitcher.com |
| Klaviyo | Marketing | static.klaviyo.com, static-tracking.klaviyo.com, a.klaviyo.com |
| Mailchimp | Marketing | chimpstatic.com/mcjs-connected |
| ActiveCampaign | Marketing | diffuser-cdn.app-us1.com, trackcmp.net |
| Brevo | Marketing | sibautomation.com, cdn.brevo.com/js/sdk-loader |
| Salesforce Account Engagement (Pardot) | Marketing | pi.pardot.com, cdn.pardot.com |
| Marketo | Marketing | munchkin.marketo.net |
| ShareThis | Marketing | platform-api.sharethis.com, buttons-config.sharethis.com |
| AddToAny | Marketing | static.addtoany.com |
| OptinMonster | Marketing | a.omappapi.com |
| Facebook embeds | Marketing | facebook.com/plugins, web.facebook.com/plugins |
| TikTok embeds | Marketing | tiktok.com/embed |
| Wistia | Marketing | fast.wistia.com, fast.wistia.net |
| Vidyard | Marketing | play.vidyard.com |
| Loom | Marketing | loom.com/embed |
| Dailymotion | Marketing | dailymotion.com/embed, geo.dailymotion.com |
| JW Player | Statistik | cdn.jwplayer.com, content.jwplatform.com |
| SoundCloud | Marketing | w.soundcloud.com/player |
| Disqus | Marketing | .disqus.com/embed.js, disquscdn.com |
| Intercom | Präferenzen | widget.intercom.io, js.intercomcdn.com |
| Zendesk | Präferenzen | static.zdassets.com, ekr.zdassets.com, v2.zopim.com |
| Drift | Präferenzen | js.driftt.com |
| Crisp | Präferenzen | client.crisp.chat |
| tawk.to | Präferenzen | embed.tawk.to |
| LiveChat | Präferenzen | cdn.livechatinc.com |
| Olark | Präferenzen | static.olark.com |
| Zoho SalesIQ | Präferenzen | salesiq.zoho.eu, salesiq.zoho.com, salesiq.zohopublic |
| Smartsupp | Präferenzen | smartsuppchat.com, smartsupp-widget |
| Tidio | Präferenzen | code.tidio.co |
| Trengo | Präferenzen | static.widget.trengo.eu |
| Freshchat | Präferenzen | wchat.freshchat.com, snippets.freshchat.com |
| Userlike | Präferenzen | userlike-cdn-widgets |
| Calendly | Präferenzen | assets.calendly.com, calendly.com/ |
| Typeform | Präferenzen | embed.typeform.com, form.typeform.com |
| Jotform | Präferenzen | form.jotform.com, cdn.jotfor.ms |
Wenn Google Consent Mode auf Erweitert steht, werden die drei Google-Dienste oben nicht zurückgehalten. Sie laden sofort und richten sich selbst nach dem Einwilligungsstatus. Google Consent Mode v2 erklärt den Unterschied.
Einen Dienst abschalten
Öffnen Sie die Website, dann Cookies, und sehen Sie unter Dienste nach. Jeder Dienst hat einen Schalter. Schalten Sie einen ab, laden seine Skripte und Frames ohne Nachfrage. Tun Sie das nur bei einem Dienst, der keine Cookies setzt und nichts erfasst, oder bei einem, den Sie auf andere Weise zurückhalten.
Eigene Regeln
Für einen Dienst, den wir nicht kennen, fügen Sie unter Cookies, Eigene Regeln eine Regel hinzu. Eine Regel besteht aus einem Suchtext und einer Kategorie. Jedes Skript und jeder Frame, dessen Adresse diesen Text enthält, wartet auf die Kategorie. Verwenden Sie einen Teil, der nur bei diesem Dienst vorkommt, etwa widget.example-chat.com, damit Sie nicht versehentlich andere Skripte erfassen.
Ein Skript selbst kennzeichnen
Sie können jedes Skript in Ihrem HTML so kennzeichnen, dass es auf die Einwilligung wartet. Ändern Sie seinen Typ in text/plain und fügen Sie data-cookiemark mit der Kategorie hinzu. Der Browser führt ein Skript mit diesem Typ nicht aus, und Cookiemark führt es aus, sobald die Kategorie erlaubt ist.
<script type="text/plain" data-cookiemark="statistics"
src="https://analytics.example.com/tracker.js"></script>Inline-Skripte funktionieren genauso. Das automatische Blockieren berücksichtigt nur Adressen, daher braucht ein Inline-Snippet immer dieses Markup.
<script type="text/plain" data-cookiemark="marketing">
// This code runs once the visitor allows marketing.
startMyPixel('1234567');
</script>Für ein Skript, das als Modul laufen muss, fügen Sie data-cmk-type="module" hinzu. Cookiemark vergibt diesen Typ, wenn es das Skript ausführt.
<script type="text/plain" data-cookiemark="statistics"
data-cmk-type="module" src="/js/stats.js"></script>Kategorien kombinieren
Das Attribut akzeptiert eine Kategorie oder eine Kombination aus mehreren.
| Wert | Das Skript läuft, wenn |
|---|---|
statistics | Statistik erlaubt ist. |
statistics,marketing | beide erlaubt sind. |
statistics|marketing | mindestens eine der beiden erlaubt ist. |
Die Kategorien sind preferences, statistics und marketing. Ein mit necessary gekennzeichnetes Skript läuft sofort.
Markup aus dem Plugin und von Cookiebot
Cookiemark versteht anstelle von data-cookiemark auch data-cookieconsent. Das ist das Attribut des Plugins CookieConsent und von Cookiebot. Skripte und Frames, die Sie für eines davon gekennzeichnet haben, funktionieren nach dem Wechsel weiter.
Iframes und andere Einbettungen
Ein eingebettetes Video, eine Karte oder ein Beitrag eines bekannten Dienstes wird wie ein Skript behandelt. Cookiemark entfernt die Adresse, blendet den Frame aus und zeigt an seiner Stelle einen Platzhalter. Der Platzhalter nennt die Kategorie und hat eine Schaltfläche, mit der der Besucher sie erlaubt.
Um einen Frame zurückzuhalten, den Cookiemark nicht kennt, schreiben Sie seine Adresse in data-src statt in src und fügen Sie die Kategorie hinzu.
<iframe data-src="https://www.youtube-nocookie.com/embed/VIDEO-ID"
data-cookiemark="marketing" data-cmk-label="YouTube"
width="560" height="315" title="Our product in two minutes"></iframe>Das optionale data-cmk-label zeigt den Namen des Dienstes auf dem Platzhalter an. Geben Sie dem Frame eine width und eine height, dann nimmt der Platzhalter dieselbe Form an. Die Seite springt so nicht, wenn das Video lädt. Bilder mit data-src und demselben Attribut werden auf dieselbe Weise freigegeben, ohne Platzhalter.
Der Platzhalter
Die Schaltfläche auf dem Platzhalter erlaubt die Kategorie dieser Einbettung und lässt den Rest der Auswahl des Besuchers unverändert. Es ist eine echte Auswahl, sie wird also wie jede andere gespeichert und protokolliert. Frames, die niemand sehen kann, etwa ein Tracking-Pixel von 1 × 1 Pixel, erhalten keinen Platzhalter. Sie bleiben auch ohne Platzhalter zurückgehalten.
Die Texte des Platzhalters können Sie unter Texte ändern. Der Text enthält %s an der Stelle, an der der Name der Kategorie eingesetzt wird.
Wenn ein Besucher widerruft
Ein Skript, das schon gelaufen ist, lässt sich nicht stoppen. Schaltet ein Besucher eine Kategorie ab, die er vorher erlaubt hat, lädt Cookiemark die Seite deshalb standardmäßig neu. Vor dem Neuladen entfernt es die Cookies dieser Kategorie, die in Ihrer Cookie-Liste stehen, auf Ihrer Domain und deren übergeordneten Domains. Das Neuladen können Sie unter Einstellungen abschalten.
Cookies, die ein Drittanbieter auf seiner eigenen Domain gesetzt hat, sind für kein Skript auf Ihrer Website erreichbar. Sie laufen von selbst ab.
Was das Blockieren im Browser nicht aufhalten kann
Cookiemark läuft im Browser des Besuchers und kann daher nur auf das reagieren, was nach seinem Start passiert. Beachten Sie diese Grenzen.
- Ein Skript, das über der Cookiemark-Zeile steht, läuft, bevor Cookiemark geladen ist. Lassen Sie die Zeile an erster Stelle im Head.
- Ein Inline-Skript ohne
srcwird nie automatisch erkannt. Kennzeichnen Sie es selbst. - Eine Anfrage, die ein Skript schon gesendet hat, lässt sich nicht zurückholen. Deshalb lädt ein Widerruf die Seite neu.
- Ein Tag, das in Tag Manager läuft, ist kein Skript auf Ihrer Seite. Tag Manager entscheidet, wann es läuft, geben Sie ihm deshalb einen Trigger, der auf die Einwilligung wartet.
Ein Scan zeigt, was noch durchrutscht. Er listet jedes Cookie auf, das Ihre Seiten setzen, bevor ein Besucher eine Auswahl trifft, und wer es setzt.