Was Lovable liefert, und was nicht
Ein Lovable-Projekt ist eine gewöhnliche Vite-und-React-App: eine index.html im Stammverzeichnis, ein src/-Ordner, den der Agent bei jedem Prompt umschreibt, und, falls eingeschaltet, ein Supabase-Backend für Auth und Daten. Beim Veröffentlichen landet die App auf your-project.lovable.app oder auf Ihrer eigenen Domain, sobald Sie eine verbinden.
Drei Dinge kommen mit dieser App, die Consent-Folgen haben. Erstens Lovables eigene Besucheranalyse. Die Doku sagt, sie sei standardmäßig an, verfolge Besucher, Seitenaufrufe, Absprungrate, Besuchsdauer, Traffic-Quellen und Geräte, und sie „misst den Gesamtverkehr, nicht einzelne Personen“. Sie sagt nicht, was sie, wenn überhaupt, im Browser des Besuchers speichert. Zweitens das, was Sie angefordert haben: „Add Google Analytics“ setzt das GA4-Snippet in den Head, „Add the Meta pixel“ tut dasselbe für Facebook. Drittens Embeds: Ein YouTube-Video oder eine Google-Map in einer Komponente setzt Cookies, sobald der iFrame lädt.
Was nicht kommt, ist irgendetwas, das diese Skripte zurückhält, bis ein Besucher entscheidet. Und wenn Sie „add a GDPR cookie banner“ prompten, tut Lovable, was jeder Coding-Agent tut: Es schreibt eine hübsche React-Komponente mit einem Akzeptieren-Button, der ein Flag in localStorage setzt und nichts blockiert. Das ist das Banner, für das die CNIL SHEIN im September 2025 mit 150 Millionen Euro belegt hat, in einer schöneren Schrift. Dieser Beitrag ist die Alternative, und sie dauert etwa zehn Minuten.
Wo das Tag hingehört
Die Consent-Runtime ist ein einzelnes Script-Tag, und es muss das erste Element in <head> von index.html sein. Nicht in App.tsx, nicht in einem useEffect, nicht in einer Layout-Komponente. Zwei Gründe. Die Runtime installiert ihren Interceptor synchron, also kann alles, was davor läuft, ein Cookie setzen, das die Runtime nicht zurücknehmen kann. Und index.html ist die eine Datei, die ein Lovable-Prompt fast nie umschreibt, sodass das Tag die nächsten fünfzig Iterationen an Ihrer Landingpage überlebt.
Schritt 1: einen Schlüssel holen
Erstellen Sie ein kostenloses Konto, fügen Sie eine Website hinzu und geben Sie die Domain ein, unter der Ihre App veröffentlicht ist. Wenn Sie noch keine eigene Domain verbunden haben, ist das die lovable.app-Adresse; Sie können sie später ändern, ohne das Tag anzufassen. Öffnen Sie Installation und kopieren Sie den Produktionsschlüssel. Jede Website hat auch einen Preview-Schlüssel, der ausliefert, was Sie auf Preview veröffentlicht haben, und der beim Testen auf Lovables Vorschau-URL zu nutzen ist.
Schritt 2: der Prompt
Im kostenlosen Tarif ist Lovables Code-Tab nur lesend, also übernimmt der Agent die Bearbeitung. In einem bezahlten Tarif können Sie index.html im Code-Tab öffnen und das Tag selbst einfügen, und mit aktivem GitHub-Sync können Sie es in Ihrem eigenen Editor tun und pushen. Welchen Weg auch immer, die Anweisung ist dieselbe, und wichtig ist, was sie verbietet.
Add this script tag as the very first element inside <head> of index.html, unchanged:
<script src="https://app.cookiecrumbs.eu/runtime/cc.js"
data-cc-site="pk_live_…"
data-cc-env="production"></script>
Then, for every analytics, advertising or social script already in index.html (Google Analytics, gtag, Meta Pixel, TikTok, Hotjar, Clarity), change type to "text/plain" and add data-cc-category="analytics" or data-cc-category="marketing". Do not build a cookie banner component. Do not change anything else.
Lesen Sie das Diff, bevor Sie es annehmen. Es sollte vier Zeilen oben in index.html hinzufügen und das type-Attribut Ihrer Tracking-Skripte ändern. Wenn der Agent auch eine CookieBanner.tsx anlegt, lehnen Sie die Änderung ab und wiederholen Sie den letzten Satz des Prompts. Dann veröffentlichen.
Schritt 3: einsortieren, was die App lädt
Starten Sie im Dashboard den ersten Scan. Er öffnet Ihre veröffentlichte App dreimal in einem echten Browser, mit verweigerter Einwilligung, pro Kategorie erteilter und für alles erteilter Einwilligung, und listet jede Anfrage und jedes Cookie auf, das vor einer Entscheidung erschienen ist. Diese Liste ist die Wahrheit über Ihre App, egal was die Prompt-Historie sagt.
Das meiste, was er findet, sortiert sich von selbst: GA4, Hotjar und Clarity sind Statistik; das Meta-Pixel, TikTok- und LinkedIn-Tags sind Marketing; die Supabase-Session lebt in localStorage, ist für eine App mit Login unbedingt notwendig und braucht keine Einwilligung. Eingebettete YouTube- und Maps-iFrames sind Marketing, und die Runtime ersetzt sie durch einen Platzhalter mit „Cookie-Einstellungen“-Button, bis die Kategorie erlaubt wird.
Die eine Zeile, die Sie nicht mit einem Tag sperren können, ist Lovables eigene Besucheranalyse, weil Lovables Hosting sie außerhalb Ihres Codes einfügt. Zeigt der Scan, dass sie eine Kennung im Browser speichert oder einen Dritten aufruft, haben Sie zwei ehrliche Optionen: unter Project settings, General, Publishing abschalten oder sie in Ihrer Cookie-Erklärung aufführen und als Analyse behandeln, die vor der Einwilligung lädt, was in der EU ein Problem ist. Wir empfehlen den Schalter. Serverseitige Zählungen Ihres Hosts oder eigene Analyse hinter der Einwilligung liefern dieselben Zahlen ohne die Frage.
Schritt 4: veröffentlichen, scannen, beweisen
Sortieren Sie jeden Fund unter seine Kategorie ein, setzen Sie die Links zu Ihrer Datenschutzerklärung und, in Deutschland, zu Ihrem Impressum, und veröffentlichen Sie das Banner. Dann starten Sie den Installations-Check. Er lädt Ihre veröffentlichte URL wie ein Besucher und bestätigt, dass die Runtime zuerst lief und nichts Nicht-Notwendiges vor einer Entscheidung gefeuert hat. Dieses Häkchen mit seinem Zeitstempel ist das Artefakt, das Sie aufbewahren. Machen Sie außerdem einen Screenshot des Ablehnen-Klicks in einem privaten Fenster; das Storage-Panel des Browsers sollte danach keine Analyse- oder Marketing-Cookies zeigen.
Wenn Sie später eine eigene Domain verbinden, aktualisieren Sie die Domain in den Website-Einstellungen, damit der Scanner ihr folgt. Der Schlüssel ändert sich nicht, das Tag in index.html bleibt also, wie es ist.
Consent Mode v2 in einer Single-Page-App
Wenn Sie Google Analytics oder Google Ads mit Besuchern im EWR, im Vereinigten Königreich oder in der Schweiz nutzen, verlangt Google Consent-Mode-v2-Signale. Die Runtime schiebt die „denied“-Standardwerte, bevor ein Google-Tag laufen kann, und aktualisiert sie, wenn der Besucher entscheidet, es gibt also nichts zu programmieren. Zwei Details zählen speziell in einer Lovable-App. GA4 braucht bei jedem clientseitigen Routenwechsel einen Seitenaufruf, was das übliche useEffect auf der Router-Location erledigt; da das gtag-Skript selbst zurückgehalten wird, bis Statistik erlaubt ist, reihen sich diese Aufrufe bis dahin harmlos ein. Und lassen Sie das GA4-Snippet in index.html, nicht in einer Komponente, damit die text/plain-Sperre darauf greift. Die vollständige Signalliste und die Änderung vom Juni 2026 stehen im Consent-Mode-Beitrag.
Was passiert, wenn Sie erneut prompten
Prompts schreiben src/ um. Sie fassen index.html selten an, aber „rebuild the landing page from scratch“ oder „add the TikTok pixel“ können es, und ein Agent, der ein Tag hinzufügt, fügt es live hinzu, nicht gesperrt. Zwei Sicherheitsnetze decken das ab. Der geplante Re-Scan lädt die veröffentlichte App erneut mit verweigerter Einwilligung und schlägt bei allem Neuen vor der Einwilligung Alarm, mit dem Datum des Auftauchens. Und wenn GitHub-Sync an ist, landet das Diff jedes Prompts in Ihrem Repository, wo der CLI-Check einen Deploy blockieren kann, der einen unklassifizierten Tracker einführt. Behandeln Sie den Alarm wie einen fehlschlagenden Test: den neuen Anbieter einsortieren, veröffentlichen, fertig.
Checkliste
- Das Consent-Tag ist das erste Element im Head von
index.html, mit dem Produktionsschlüssel. - Jedes Analyse- und Marketing-Skript in
index.htmlhattype="text/plain"und eine Kategorie. - Lovables Besucheranalyse ist entweder aus oder in der Erklärung beschrieben, nachdem ein Scan Ihnen gesagt hat, was sie tut.
- Der erste Scan lief gegen die veröffentlichte URL, jeder Fund hat eine Kategorie, und das Banner ist veröffentlicht.
- Der Installations-Check ist bestanden, und Ablehnen in einem privaten Fenster hinterlässt keine Analyse- oder Marketing-Cookies.
- Geplante Re-Scans sind an, damit der nächste Prompt nicht heimlich ein Pixel hinzufügen kann.
Wenn Sie die kürzere Version mit den Details zum kostenlosen Tarif wollen, steht sie im Lovable-Integrationsleitfaden, und der kostenlose Scan sagt Ihnen ohne Konto, was Ihre App heute lädt.
Quellen
- Lovable-Dokumentation, „Project analytics“, gelesen am 5. September 2026
- Lovable-FAQ, „Can I see analytics for my published projects?“, gelesen am 5. September 2026
- Lovable-Dokumentation, „View and edit your project’s code“, gelesen am 5. September 2026
- Lovable-Dokumentation, GitHub-Integration und Git-Sync-Überblick
- Google, „Consent mode on websites and mobile apps“, Tag-Platform-Dokumentation
- CNIL, „Cookies placed without consent: SHEIN fined 150 million euros“, 3. September 2025
- EDPB, Leitlinien 03/2022 zu Deceptive Design Patterns, angenommen am 14. März 2022