Self-Referrals - wenn deine eigene Domain als Quelle auftaucht
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.comzuexample.comoder vonexample.comzushop.example.comohne 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
- In der GA4-Property unter Admin → Data Streams → Web-Stream → Configure tag settings → Define internal domains alle eigenen Sub- und Hauptdomains eintragen.
- Zusätzlich unter List unwanted referrals dieselben Domains als ausgeschlossene Referrer eintragen.
- Beim Cross-Subdomain-Setup das GA4-Config-Tag im GTM auf
cookie_domain = 'auto'setzen, damit_gaüber alle Subdomains verfügbar bleibt. - Im Auditor unter Attribution & Akquisitions-Qualität den Status nach 24-48 h erneut prüfen.
Verwandte Themen
- Hilfeseite Attribution & Akquisitions-Qualität
- Blog Bank- und Payment-Provider als Referrer - verwandtes Problem mit externen Domains
- Blog E-Commerce-Attribution: Live API vs. BigQuery