Skip to main content

Attribution

Attribution verbindet deine KI-Sichtbarkeitsdaten mit echten Leads und echtem Umsatz. Statt nur zu sehen, ob deine Marke in KI-Antworten auftaucht, siehst du, ob Kunden tatsächlich angeben, dich über ChatGPT, Perplexity, Claude, Google, Ads, Empfehlungen oder andere Kanäle gefunden zu haben — und wie viel Umsatz jeder Kanal bringt. Finseo Attribution arbeitet mit zwei Arten von Daten, die automatisch zusammengeführt werden:
  • Antworten (Responses) — die Antwort eines Kunden auf „Wie bist du auf uns aufmerksam geworden?”, aus dem Finseo-Umfrage-Popup, deinen eigenen Formularen, einem Umfrage-Tool oder deinem CRM.
  • Conversions — Käufe und Leads mit Transaktions-ID und Wert, aus deinem bestehenden Tracking (Google/Meta), Stripe, deinem Shopsystem oder einem Webhook.
Teilen sich eine Antwort und eine Conversion dieselbe Bestell-ID oder E-Mail, werden sie zu einem attribuierten Datenpunkt zusammengeführt: „Diese Bestellung über 1.234 € kam von ChatGPT.”

Geführtes Setup

Der schnellste Weg zum Attribution-Setup ist der eingebaute Assistent: Öffne Attribution in deinem Dashboard und klicke auf Set up attribution. Er fragt, was du tracken willst (Käufe, Leads oder beides), welches System du nutzt und ob du bereits Tracking oder eine Post-Purchase-Umfrage hast — und empfiehlt dann genau einen Installationsweg mit Copy-Paste-Snippets. Anschließend verifiziert er live, dass das erste Event ankommt. Die empfohlenen Wege, je nach Setup:

Finseo Snippet

Ein Script-Tag. Umfrage-Popup plus automatische Kauferfassung aus deinem bestehenden Google/Meta-Tracking.

Stripe

Ein einziges Stripe-Webhook-Event. Beträge, Trials und Verlängerungen werden automatisch klassifiziert.

Shopify

Ein Custom Pixel, das jeden abgeschlossenen Checkout meldet — Theme-Scripts laufen nicht auf Shopifys Checkout, das Pixel schon.

WooCommerce

Ein nativer Bestell-Webhook, inklusive der Herkunft aus WooCommerce Order Attribution.

Shopware

Ein Flow-Builder-Webhook auf „Bestellung aufgegeben”.

Webhook / CRM

HubSpot, Pipedrive, Calendly, Formular-Tools oder dein eigenes Backend.

Das Finseo Snippet

Das Snippet ist ein einzelnes Script-Tag, das pro Projekt ausgeliefert wird:
Füge es auf jeder Seite vor </head> ein (oder über den Google Tag Manager als Custom-HTML-Tag). Es macht drei Dinge:

1. Erfasst Antworten aus deinen bestehenden Formularen

Fragen deine Formulare bereits „Wie bist du auf uns aufmerksam geworden?” (auch auf Englisch erkannt: „How did you hear about us?”), erfasst das Snippet die Antwort beim Absenden — das Popup erscheint dann gar nicht erst. E-Mails und Namen aus demselben Formular werden als Merge-Keys angehängt, damit die Antwort später mit einem Deal oder einer Bestellung verknüpft werden kann.

2. Zeigt das Umfrage-Popup

Stellt kein Formular auf der Seite die Frage, zeigt das Snippet ein kleines Popup mit deiner konfigurierten Frage und den Antwortoptionen. Alles steuerst du unter Attribution → Survey settings:
  • Frage und Kanäle — Standard-Kanäle sind u. a. AI Search, Google/Bing, Social Media, Online Ads, Referral, Content und Other (mit Freitext). Du kannst auch detaillierte KI-Kanäle nutzen (ChatGPT, Perplexity, Claude, Gemini, Copilot).
  • Trigger — beim Seitenaufruf, nach dem Formular-Submit, nach einem erkannten Kauf oder manuell per JavaScript.
  • Style — Akzentfarbe, Position, Eckenradius, Schriftart (System oder von deiner Website geerbt) und optionales Mischen der Antworten gegen Positions-Bias („Other” bleibt immer zuletzt).
Jeder Besucher wird nur einmal gefragt (gespeichert im localStorage).

3. Nutzt dein bestehendes Conversion-Tracking mit

Ist Google Analytics / Google Ads (dataLayer / gtag) oder das Meta Pixel (fbq) installiert, hört das Snippet passiv auf Conversion-Events und meldet sie an Finseo — kein doppeltes Tracking-Setup nötig: Das Snippet liest Transaktions-ID, Wert, Währung und Artikel aus dem Event, dedupliziert pro Transaktions-ID (Reloads der Danke-Seite werden nicht doppelt gezählt) und scannt auch Events, die schon vor dem Laden gefeuert haben. Das Verhalten für Besucher wird nie verändert.

JavaScript-API

Für manuelle Kontrolle stellt das Snippet eine kleine API bereit:

Wie Antworten und Conversions zusammengeführt werden

Conversions und Umfrageantworten kommen meist getrennt an — ein Kunde beantwortet das Popup beim Stöbern, die Bestellung kommt später über Stripe oder deinen Shop-Webhook. Finseo führt beides automatisch zusammen:
  • Merge-Keys: Transaktions-ID (respondentExternalIdtransactionId) oder E-Mail. Ein Transaktions-ID-Match gewinnt immer gegenüber einem E-Mail-Match.
  • Zeitfenster: Eine neue Conversion schaut 90 Tage zurück nach einer Umfrageantwort (SaaS-Trials konvertieren oft Wochen nach dem Signup). Eine neue Umfrageantwort schaut nur 48 Stunden zurück nach einer noch nicht zugeordneten Conversion — so wird eine frische Antwort nie mit einer alten, unabhängigen Bestellung verknüpft.
  • Deal-Werte: Hat die Antwort keinen Deal-Wert, füllt der Betrag der zusammengeführten Conversion die Lücke — Umsatz wird nie doppelt gezählt.
  • Conversion-Typen: Stripe-Checkouts mit 0 € Gesamtsumme werden als Trials gespeichert, wiederkehrende Rechnungen als Renewals. Nur reguläre Käufe zählen als neue Kunden, die auf Attribution warten.
  • Nicht attribuierter Umsatz: Conversions, die nie eine Umfrageantwort bekommen haben, werden als eigene KPI angezeigt — so siehst du immer, wie viel Umsatz noch unerklärt ist.
Egal, was die Conversion sendet (Stripe, Shopify Pixel, Webhook) — schicke immer die Kunden-E-Mail mit, wenn verfügbar. Sie ist der zuverlässigste Merge-Key für Leads, die die Umfrage vor dem Kauf beantworten.

Privacy by default

Kunden-E-Mails werden beim Eingang SHA-256-gehasht. Finseo speichert nie Klartext-Adressen — nur den Hash (zum Zusammenführen von Bestellungen mit Umfrageantworten) und eine maskierte Vorschau wie j***@company.com fürs Dashboard.

Antworten aus Umfrage-Tools importieren

Du hast schon eine Post-Purchase-Umfrage? Behalte sie — Finseo importiert die Antworten, statt ein zweites Popup zu zeigen:

Fairing

Via Shopify Flow

KnoCommerce

Via nativem Webhook

Zigpoll

Via nativem Webhook

SurveyMonkey

Via Zapier/Make

Typeform

Nativ unterstützt

Tally

Nativ unterstützt

Daten per Webhook senden

Dein Projekt-Webhook-Endpoint hat diese Form:
Den Webhook-Token findest (und regenerierst) du in den Attribution-Einstellungen des Projekts. Behandle die URL wie ein Secret — der Token authentifiziert jede Anfrage. Sende POST-Requests mit Content-Type: application/json. Form-encoded- und Multipart-Form-Übermittlungen werden ebenfalls akzeptiert, für Formular-Tools, die kein rohes JSON senden können.
Erfolgreiche Webhook-Antworten sehen so aus:

Reine Bestell-Payloads werden zu Conversions

Enthält ein Payload Bestelldaten (Transaktions-ID + Betrag), aber keine Attributionsantwort — ein Stripe-Event, eine WooCommerce-Bestellung oder ein eigener Bestell-Webhook — speichert Finseo ihn als Conversion, statt ihn abzulehnen. Die Antwort sieht dann so aus:
matched: true bedeutet, dass die Conversion sofort mit einer früheren Umfrageantwort zusammengeführt wurde.

Feld-Referenz

Finseo normalisiert Kanal-Texte in Kategorien. Antworten, die z. B. chatgpt, openai, claude, perplexity, gemini, copilot oder ai search enthalten, werden als ai_search kategorisiert.

Eingehende Felder mappen

Viele Tools senden Payloads mit eigenen Feldnamen, etwa LeadSource, how_did_you_find_us, q3_howDid oder verschachtelte Typeform-Antworten. Finseo kann diese Felder in Attribution-Workflows mappen.
  1. Öffne Attribution.
  2. Gehe zu Workflows.
  3. Sende einen Test-Webhook aus deinem Quellsystem.
  4. Öffne den erstellten Workflow.
  5. Mappe die eingehenden Felder auf Attribution, E-Mail, Name, Deal-Wert, Währung, Formular-ID oder Regeln.
  6. Speichere das Mapping.
Nach dem Mapping werden künftige Webhooks mit derselben Struktur automatisch geparst. Kann ein Payload gar nicht geparst werden, legt Finseo den Workflow für dich an und schlägt per KI ein Feld-Mapping vor — du musst es nur noch bestätigen.
Du kannst auch Regeln nutzen, wenn ein Quellfeld übersetzt werden muss. Enthält utm_source z. B. chatgpt, mappe es auf AI Search.

Unterstützte Quellformate

Finseo erkennt mehrere gängige Quellen automatisch:
  • HubSpot: Legacy-Contact-Webhook-Payloads mit properties oder eigene JSON-Bodies aus dem Operations Hub.
  • Typeform: form_response.answers, inklusive Choice-, Choices-, Text- und E-Mail-Feldern.
  • Tally: data.fields-Payloads.
  • Salesforce: JSON aus Flow HTTP Callout, z. B. LeadSource, Email, Name, Amount und CurrencyIsoCode.
  • Jotform: multipart/form-data mit rawRequest oder Feldern wie q3_howDid, formID und submissionID.
  • Stripe: Event-Payloads (checkout.session.completed, invoice.paid, …) — gespeichert als Conversions mit automatischer Cent-Umrechnung und Trial-/Renewal-Klassifizierung.
  • WooCommerce: Bestell-Webhooks, inklusive Order-Attribution-Meta als Marketing-Herkunft.
  • Shopware: Flow-Builder-Bestell-Payloads mit orderNumber, amountTotal und Kunden-E-Mail.
  • Raw JSON: direkte Payloads mit Feldern wie channelId, respondentEmail, dealValue und metadata.

Beispiele

Täglicher Batch-Import

Wenn du lieber einen täglichen Job fährst, sende bis zu 1000 Antworten auf einmal über die Bulk-API.
Die vollständige Referenz findest du in der Bulk Create Attributions API.

Attribution-Events empfangen

In den Attribution-Einstellungen kannst du eine Outbound-Webhook-URL konfigurieren. Finseo sendet ein Event an deine URL, sobald eine neue Antwort gespeichert wird.
Hinterlegst du ein Outbound-Webhook-Secret, signiert Finseo den JSON-Body per HMAC-SHA256 mit einem X-FinSEO-Signature-Header.

Rate Limits

  • Webhook-Endpoint: 120 Requests pro Minute pro Projekt.
  • Snippet-Collect-Endpoint: 60 Requests pro Minute pro Besucher-IP.
Requests über dem Limit erhalten 429 und können nach einer Minute gefahrlos wiederholt werden.

Troubleshooting

Jeder eingehende Webhook-Request wird mit seinem Parse-Ergebnis unter Attribution → Webhook logs protokolliert — inklusive abgelehnter Requests. Die Status:

Best Practices

  • Platziere die Attributionsfrage nah an der Conversion, etwa bei Signup, Demo-Anfrage, Checkout oder Lead-Qualifizierung.
  • Halte die Antwortoptionen über Länder hinweg stabil. Übersetze Labels für Nutzer bei Bedarf, aber halte die Webhook-Werte konsistent.
  • Sende in dealCurrency die Original-Zahlungswährung; Finseo kann die Werte trotzdem aggregieren und zuordnen.
  • Schicke eine stabile respondentExternalId mit, etwa Bestell-ID, CRM-Lead-ID, Kontakt-ID oder Deal-ID.
  • Packe Produkt, SKU, Markt, Kampagne und anderen Business-Kontext in metadata.
  • Sende ein Event pro Lead, Bestellung oder Deal. Vermeide es, jeden Seitenaufruf als Attribution zu senden.