Kostenlos startenDashboard
Dokumentation

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

DienstWartet aufErkannt an
Google Tag ManagerStatistikgoogletagmanager.com/gtm.js, googletagmanager.com/ns.html
Google AnalyticsStatistikgoogletagmanager.com/gtag/js, google-analytics.com
Google AdsMarketinggoogleadservices.com, googlesyndication.com, doubleclick.net
Meta PixelMarketingconnect.facebook.net, facebook.com/tr
HotjarStatistikstatic.hotjar.com, script.hotjar.com
Microsoft ClarityStatistikclarity.ms
LinkedIn Insight TagMarketingsnap.licdn.com, px.ads.linkedin.com, _linkedin_partner_id
TikTok PixelMarketinganalytics.tiktok.com
Pinterest TagMarketings.pinimg.com/ct, ct.pinterest.com
HubSpotMarketingjs.hs-scripts.com, js.hs-analytics.net, js.hsforms.net
QuriobotMarketingbotsrv2.com, quriobot.com
YouTubeMarketingyoutube.com/embed, youtube-nocookie.com/embed, youtube.com/iframe_api
VimeoMarketingplayer.vimeo.com
Google MapsMarketinggoogle.com/maps/embed, maps.google.com/maps, maps.googleapis.com/maps/api
X (Twitter)Marketingplatform.twitter.com, platform.x.com
InstagramMarketinginstagram.com/embed
SpotifyMarketingopen.spotify.com/embed
MatomoStatistik/matomo.js, /piwik.js, cdn.matomo.cloud
Piwik PROStatistik.containers.piwik.pro, .piwik.pro/ppms.js
Adobe AnalyticsStatistikassets.adobedtm.com, /appmeasurement.js, .omtrdc.net, .2o7.net
MixpanelStatistikcdn.mxpnl.com, cdn4.mxpnl.com, api-js.mixpanel.com
AmplitudeStatistikcdn.amplitude.com
HeapStatistikcdn.heapanalytics.com, heapanalytics.com/js
SegmentStatistikcdn.segment.com, cdn.segment.io
MouseflowStatistikcdn.mouseflow.com
Crazy EggStatistikscript.crazyegg.com
Lucky OrangeStatistiktools.luckyorange.com, tools.luckyorange.net
FullStoryStatistikedge.fullstory.com, fullstory.com/s/fs.js
SmartlookStatistikweb-sdk.smartlook.com, rec.smartlook.com
ContentsquareStatistikt.contentsquare.net
Datadog RUMStatistikdatadoghq-browser-agent.com
Yandex MetricaStatistikmc.yandex.ru/metrika, mc.yandex.com/metrika
VWOStatistikdev.visualwebsiteoptimizer.com, visualwebsiteoptimizer.com/j.php
OptimizelyStatistikcdn.optimizely.com
AB TastyStatistiktry.abtasty.com
KameleoonStatistik.kameleoon.eu, .kameleoon.io
UsabillaStatistikw.usabilla.com
MopinionStatistikdeploy.mopinion.com
QualtricsStatistiksiteintercept.qualtrics.com
SurvicateStatistiksurvey.survicate.com
WooCommerce order attributionStatistik/woocommerce/assets/js/frontend/order-attribution, /sourcebuster/sourcebuster
Microsoft AdvertisingMarketingbat.bing.com
X AdsMarketingstatic.ads-twitter.com, analytics.twitter.com
Snap PixelMarketingsc-static.net/scevent, tr.snapchat.com
Reddit PixelMarketingredditstatic.com/ads, alb.reddit.com
Quora PixelMarketinga.quora.com/qevents.js, q.quora.com
CriteoMarketingstatic.criteo.net, dynamic.criteo.com, sslwidget.criteo.com
TaboolaMarketingcdn.taboola.com, trc.taboola.com
OutbrainMarketingwidgets.outbrain.com, amplify.outbrain.com
AdRollMarketings.adroll.com, d.adroll.com
The Trade DeskMarketingjs.adsrvr.org, insight.adsrvr.org
XandrMarketingacdn.adnxs.com, ib.adnxs.com, secure.adnxs.com
AdformMarketingtrack.adform.net, s2.adform.net, s1.adform.net
Amazon AdsMarketingamazon-adsystem.com
AwinMarketingdwin1.com, zenaps.com
TradeTrackerMarketingtm.tradetracker.net, ts.tradetracker.net
DaisyconMarketing.daisycon.io
impact.comMarketingutt.impactcdn.com, impactradius-event.com
LeadinfoMarketingcdn.leadinfo.net, collector.leadinfo.net, leadinfo.net, api.leadinfo.com
Dealfront (Leadfeeder)Marketingsc.lfeeder.com, lftracker.leadfeeder.com
AlbacrossMarketingserve.albacross.com
SnitcherMarketingcdn.snitcher.com
KlaviyoMarketingstatic.klaviyo.com, static-tracking.klaviyo.com, a.klaviyo.com
MailchimpMarketingchimpstatic.com/mcjs-connected
ActiveCampaignMarketingdiffuser-cdn.app-us1.com, trackcmp.net
BrevoMarketingsibautomation.com, cdn.brevo.com/js/sdk-loader
Salesforce Account Engagement (Pardot)Marketingpi.pardot.com, cdn.pardot.com
MarketoMarketingmunchkin.marketo.net
ShareThisMarketingplatform-api.sharethis.com, buttons-config.sharethis.com
AddToAnyMarketingstatic.addtoany.com
OptinMonsterMarketinga.omappapi.com
Facebook embedsMarketingfacebook.com/plugins, web.facebook.com/plugins
TikTok embedsMarketingtiktok.com/embed
WistiaMarketingfast.wistia.com, fast.wistia.net
VidyardMarketingplay.vidyard.com
LoomMarketingloom.com/embed
DailymotionMarketingdailymotion.com/embed, geo.dailymotion.com
JW PlayerStatistikcdn.jwplayer.com, content.jwplatform.com
SoundCloudMarketingw.soundcloud.com/player
DisqusMarketing.disqus.com/embed.js, disquscdn.com
IntercomPräferenzenwidget.intercom.io, js.intercomcdn.com
ZendeskPräferenzenstatic.zdassets.com, ekr.zdassets.com, v2.zopim.com
DriftPräferenzenjs.driftt.com
CrispPräferenzenclient.crisp.chat
tawk.toPräferenzenembed.tawk.to
LiveChatPräferenzencdn.livechatinc.com
OlarkPräferenzenstatic.olark.com
Zoho SalesIQPräferenzensalesiq.zoho.eu, salesiq.zoho.com, salesiq.zohopublic
SmartsuppPräferenzensmartsuppchat.com, smartsupp-widget
TidioPräferenzencode.tidio.co
TrengoPräferenzenstatic.widget.trengo.eu
FreshchatPräferenzenwchat.freshchat.com, snippets.freshchat.com
UserlikePräferenzenuserlike-cdn-widgets
CalendlyPräferenzenassets.calendly.com, calendly.com/
TypeformPräferenzenembed.typeform.com, form.typeform.com
JotformPräferenzenform.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.

WertDas Skript läuft, wenn
statisticsStatistik erlaubt ist.
statistics,marketingbeide erlaubt sind.
statistics|marketingmindestens 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 src wird 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.