Von der Kampagne bis zum Umsatz: Woher kommen unsere Installationen – und welche davon zahlen?
Nicht nur wie viele Shops eine Kampagne bringt, sondern welche davon upgraden – und wie viel MRR daraus entsteht.
Klick auf /install?utm_… → Zeile in install_attribution, Cookie mit install_uid
OAuth-Callback nach Installation → install_uid wird dem Shop zugeordnet
Plan-Wechsel → shop_plan_event + GA4-Event mit UTM-Daten
/v2/api/staff/report, JWT mit Scope report
Kennzahlen, Umsatz & MRR je Quelle, Journeys, PDF
shop_id wird gesetztattribution_install_uidNur Neu- und Re-Installs werden verknüpft – Logins in bestehende Shops ändern nichts.
utm_source … utm_term, landing_url, refererNULLreferrer_domain = Host ohne www.{ "success": true,
"install_uid": "3f6c2a1e-…" }
remote-auth) + Shopify-HMAC prüfenlink()shop_id und install_dateupgrade, downgrade oder cancelattribution_install_uid → Verbindung zur Kampagneplan_change und plan_<ziel>install_source, install_campaign, …client_id = sha1(shopId) – pseudonym, je Shopintern.lovely-app.com/report · Rolle reporting oder admin · live aus der API, 1 h Redis-Cache
Attributionen (davon verknüpft), Plan-Events, Verteilung nach Quelle, Medium, Kampagne
je Quelle, je Plan, verlorener Umsatz durch Kündigungen und Downgrades
Plan-Verlauf je Shop: stabil, gekündigt, Wechsler, nur Trial, Reaktivierung
Klick auf Quelle oder Medium filtert die Tabelle; nur verknüpfte per linked=1
gleicher Zeitraum ein Jahr früher, per compare=1
alle Filter, A4 quer, zum Weitergeben
shop_id ist UNIQUE; ein zweiter link() für denselben Shop scheitert.
Blockierte Cookies, Browserwechsel oder Direkt-Install aus dem App Store → unknown.
debug_mode=true in GA4Alle Events landen in der DebugView – für Produktion prüfen.
install_*-Parameter müssen angelegt sein; keine Verbindung zur Web-Session.
Vollständige Dokumentation mit Endpunkten, Datenmodell und SQL-Beispielen: Dokumentation (HTML / PDF)