Thema: Attribution & Akquisition

Self-Referrals - wenn deine eigene Domain als Quelle auftaucht

Bernhard Prange · 2026-05-19 · 6 Min. Lesezeit

In den Akquisitions-Reports einer GA4-Property taucht plötzlich shop.example.com als Referrer auf - obwohl example.com selbst die Seite betreibt. Das ist ein Self-Referral, einer der häufigsten und am leichtesten zu übersehenden Tracking-Bugs. Der Auditor erkennt ihn direkt aus dem BigQuery-Export.

Was im Code passiert

Der Check in app/queries/checks/self_referrals.sql vergleicht die referrer_domain jeder Session mit der konfigurierten site_domain und klassifiziert in vier Kategorien:

CASE
  WHEN referrer_domain IS NULL OR referrer_domain = '' THEN 'no_referrer'
  WHEN LOWER(referrer_domain) = LOWER(site_domain) THEN 'self_referral_exact'
  WHEN REGEXP_CONTAINS(LOWER(referrer_domain), CONCAT(r'\.?', REGEXP_REPLACE(LOWER(site_domain), r'^www\.', ''), '$'))
  OR REGEXP_CONTAINS(LOWER(site_domain), CONCAT(r'\.?', REGEXP_REPLACE(LOWER(referrer_domain), r'^www\.', ''), '$'))
  THEN 'self_referral_subdomain'
  ELSE 'external_referral'
END AS referral_type

Die Regex-Variante fängt sowohl www.example.com → example.com als auch example.com → shop.example.com ab - also exakte Treffer und Subdomain-Beziehungen.

Schwellenwerte

Status Bedingung
Grün 0 Self-Referrals
Gelb ≥1 Self-Referral
Rot >5 % aller Sessions

Schon ein einziger Self-Referral ist meist ein Hinweis auf ein systemisches Problem im Domain-Setup - daher die strenge Gelb-Ampel ab dem ersten Treffer.

Typische Ursachen

  • Subdomain-Wechsel ohne Filter - Wechsel von www.example.com zu example.com oder von example.com zu shop.example.com ohne Self-Referral-Domain-Eintrag in den GA4-Datenstrom-Einstellungen.
  • Interner Checkout-Redirect - Der Bezahlvorgang läuft kurz über eine Subdomain und kommt zurück, ohne dass der Referrer-Header genullt wird.
  • Cross-Subdomain ohne _ga-Cookie-Sync - Wenn das _ga-Cookie nicht über beide Subdomains gesetzt wird, startet eine neue Session mit dem internen Referrer.
  • Session-übergreifende Navigation ohne Session-Restart - Mobile-App öffnet einen Web-Link, kommt zurück mit eigener Domain als Referrer.

So zeigt's der Auditor

Die Sektion create_self_referrals_section in app/components/dashboard/sections/acquisition.py liefert:

  • Eine Status-Karte mit Prozentsatz und Schwellen-Ampel.
  • Ein Zeitreihen-Chart der Self-Referral-Sessions pro Tag.
  • Eine Tabelle mit Referrer-Domain × Site-Domain-Paaren.

Damit lässt sich das Problem sowohl quantitativ (wie viel?) als auch qualitativ (welche konkrete Subdomain?) untersuchen.

So behebst du es

  1. In der GA4-Property unter Admin → Data Streams → Web-Stream → Configure tag settings → Define internal domains alle eigenen Sub- und Hauptdomains eintragen.
  2. Zusätzlich unter List unwanted referrals dieselben Domains als ausgeschlossene Referrer eintragen.
  3. Beim Cross-Subdomain-Setup das GA4-Config-Tag im GTM auf cookie_domain = 'auto' setzen, damit _ga über alle Subdomains verfügbar bleibt.
  4. Im Auditor unter Attribution & Akquisitions-Qualität den Status nach 24-48 h erneut prüfen.

Verwandte Themen

self-referrals cross-domain attribution

Verwandte Beiträge

Attribution & Akquisitions-Qualität

Wie der Auditor Channel-Attribution und UTM-Qualität in GA4 bewertet - Direct/Unassigned-Anteile, gclid-Bugs, Self-Referrals und Payment-Referrer.