UTMs überleben den Consent-Banner.
Wenn Besucher Tracking ablehnen, verliert Analytics die Quelle — Conversions landen unter "Direct" oder beim falschen Kanal. utm-rescue hält UTM-Parameter über die ganze Session in der URL, ohne einen einzigen Cookie zu setzen. Open Source, DSGVO-konform, in 3 Minuten integriert.
Das Problem
DSGVO/ePrivacy verlangt Opt-In für Tracking-Cookies. Wer ablehnt, ist für klassisches Analytics ab dem nächsten Klick "Direct-Traffic" — die UTM-Parameter der Anzeige sind nach der Landing-Page verschwunden, weil sie nur in der initialen URL stehen.
Studien beziffern die Conversion-Loss-Quote durch Consent-Ablehnung in DE-Shops auf 20-40 %. Was davon nicht "verloren" sondern nur falsch attribuiert ist, weiß niemand — genau das messen wir.
Wie es funktioniert
UTMs leben nur in der URL und im DOM. Kein Cookie, kein localStorage, kein IndexedDB.
UTMs erkennen
Beim Page-Load liest das Skript utm_source, utm_medium … aus der URL.
Links augmentieren
Alle internen <a>- und <form>-Targets bekommen die UTMs als Query-Parameter angehängt — nur auf gleicher eTLD+1.
Referrer-Recovery
Wenn die UTMs unterwegs verloren gehen (z. B. JS-Redirect), rekonstruiert das Skript sie aus document.referrer.
Conversion-Ping
Auf der Bestell-Bestätigung schickt das Skript einen anonymen Ping mit UTM + Order-ID an api.utm-rescue.org.
Datenschutz ist die USP, nicht ein Nachgedanke
Wir greifen nichts ab, was über UTMs hinausgeht. Konkret:
- Keine Speicherung auf dem Endgerät. TTDSG §25 greift nicht — kein Consent nötig.
- Keine User-Identifier. Kein Client-Cookie, kein Fingerprint, kein IP-Hash. UTM-Werte selbst sind nicht personenbezogen.
- Keine Cross-Origin-Weitergabe. UTMs wandern nur auf gleicher eTLD+1.
- IP wird nicht persistiert. Unser nginx loggt keinen
$remote_addrauf dem Ingest-Endpoint, und PHP empfängtREMOTE_ADDRnie. - DNT respektiert. Browser mit
navigator.doNotTrack === '1'deaktivieren das Skript. - Open Source (MIT). Der komplette Client ist öffentlich auditierbar.
Integration
Ein <script>-Tag im <head> jeder Seite, vor allen Tracking-Skripten:
<script>
window.UTM_RESCUE_CONFIG = {
apiKey: 'utmr_dein_shop_key',
conversionUrlPatterns: ['/thank-you', '/order/success'],
fieldMapping: {
orderId: { dataLayer: 'ecommerce.transaction_id',
dom: 'meta[name="order-id"]' },
value: { dataLayer: 'ecommerce.value' },
currency:{ dataLayer: 'ecommerce.currency' },
},
};
</script>
<script src="https://utm-rescue.org/v0.1/utm-rescue.min.js" async></script>
Mehr Optionen (Attribution-Modell, Custom-Domains, Custom-Trigger) in der Doku im Repo. API-Key bekommst du beim Pilot-Onboarding.
Mitmachen: Forschungs-Pilot 2026
Wir suchen 3-5 deutschsprachige Shops mit aktivem Werbe-Traffic (Google Ads, Meta, TikTok, Newsletter …), die 90 Tage lang Conversion-Daten beisteuern. Gegenleistung: ein privates Dashboard mit eurer Channel-Performance, Rescue-Diagnose und einem Branchen-Vergleich nach Abschluss der Studie.
Integrieren
Du bekommst einen apiKey, ein <script>-Tag, und einen Magic-Link fürs Dashboard.
90 Tage messen
Daten fließen automatisch. Du siehst täglich neue Zahlen im Dashboard.