Zum Hauptinhalt springen

Fehlerbehebung

Häufige Integrationsprobleme und wie man sie löst. Alle Beispiele beziehen sich auf API-Version v1.

Snippet lädt nicht

Symptom: Das Selgeo-Tracking-Snippet scheint nicht ausgeführt zu werden. Keine Netzwerkanfragen an Selgeo im Netzwerk-Tab der Browser-DevTools.

Mögliche Ursachen:

  1. Script-Tag fehlt oder ist fehlerhaft. Überprüfen Sie, ob das Snippet im HTML Ihrer Seite vorhanden ist:

    <script
    src="https://cdn.selgeo.com/v1/selgeo.js"
    data-merchant="pk_test_YOUR_KEY"
    async
    ></script>

    Prüfen Sie auf Tippfehler in der URL oder im data-merchant-Attribut.

  2. Content Security Policy (CSP) blockiert das Skript. Wenn Ihre Website eine Content Security Policy verwendet, fügen Sie https://cdn.selgeo.com zur script-src-Direktive und https://api.selgeo.com zur connect-src-Direktive hinzu:

    script-src 'self' https://cdn.selgeo.com;
    connect-src 'self' https://api.selgeo.com;
  3. Ad-Blocker oder Browser-Erweiterung blockiert die Anfrage. Einige datenschutzorientierte Browser-Erweiterungen blockieren Tracking-Skripte von Drittanbietern. Testen Sie in einem Inkognito-Fenster mit deaktivierten Erweiterungen.

  4. Ungültiger API-Schlüssel. Wenn der data-merchant-Wert kein gültiger pk_test_*- oder pk_live_*-Schlüssel ist, schlägt das Snippet stillschweigend fehl. Überprüfen Sie den Schlüssel unter Einstellungen > API-Schlüssel im Dashboard.

Klicks erscheinen nicht

Symptom: Das Snippet lädt, aber Klicks erscheinen nicht im Dashboard.

Mögliche Ursachen:

  1. Falscher Modus. Wenn Sie einen pk_test_*-Schlüssel verwenden, erscheinen Klicks nur im Testmodus. Schalten Sie den Moduswähler im Dashboard um, um Testdaten anzuzeigen.

  2. Kein Empfehlungsparameter in der URL. Das Snippet sucht nach einem Empfehlungsbezeichner in der URL (z. B. ?ref=abc123). Wenn ein Besucher ohne Empfehlungsparameter ankommt, wird kein Klick aufgezeichnet. Überprüfen Sie, ob der Empfehlungslink den richtigen Query-Parameter enthält.

  3. Rate-Limit überschritten. Der Tracking-Endpunkt erlaubt 1.000 Anfragen pro Minute pro öffentlichem Schlüssel. Wenn Sie dieses Limit überschreiten, werden zusätzliche Klicks mit einem 429-Status abgelehnt. Prüfen Sie die Browser-DevTools-Konsole auf Fehler.

  4. Netzwerkfehler. Öffnen Sie den Browser-DevTools-Netzwerk-Tab, filtern Sie nach Anfragen an api.selgeo.com und prüfen Sie auf fehlgeschlagene Anfragen. Häufige Ursachen sind DNS-Auflösungsprobleme, Firewall-Regeln oder CORS-Fehlkonfigurationen.

Konversionen nicht attributiert

Symptom: Konversionen werden über die Conversion API oder den Stripe-Webhook gemeldet, erscheinen aber nicht als attributierte Konversionen im Dashboard. Die Konversion existiert, hat aber keinen zugehörigen Partner.

Mögliche Ursachen:

  1. Fehlende oder ungültige click_id. Die click_id verknüpft eine Konversion mit ihrem ursprünglichen Klick. Ohne sie kann Selgeo die Konversion keinem Partner zuordnen.

    • Für Conversion API-Integrationen: Stellen Sie sicher, dass Sie die vom Snippet erfasste click_id übergeben.
    • Für Stripe-Integrationen: Stellen Sie sicher, dass die click_id in den Stripe-Session-Metadaten (Schlüssel: aff_click_id) enthalten ist oder durch den Checkout-Flow übergeben wird.
  2. Attributionsfenster abgelaufen. Jedes Programm hat ein Attributionsfenster (z. B. 30 Tage). Wenn die Konversion nach dem Ablauf des Fensters auftritt, wird keine Attribution erstellt. Prüfen Sie das Attributionsfenster Ihres Programms unter Programme > Einstellungen.

  3. Partner nicht genehmigt. Konversionen werden nur genehmigten Partnern zugeordnet. Wenn der Status des Partners ausstehend, abgelehnt oder gesperrt ist, wird die Konversion aufgezeichnet, aber keine Provision erstellt.

  4. Doppelte Konversion. Wenn Sie dieselbe external_transaction_id zweimal senden, wird die zweite Anfrage mit einem 409 CONVERSION_DUPLICATE-Fehler abgelehnt. Dies ist das erwartete Verhalten für idempotente Wiederholungsversuche.

  5. Modus-Mismatch. Eine mit einem pk_test_*-Schlüssel generierte click_id kann nur mit einer Konversion abgeglichen werden, die mit einem sk_test_*-Schlüssel gemeldet wird (und umgekehrt für Live-Schlüssel). Das Mischen von Test- und Live-Schlüsseln über den Fluss hinweg führt zu nicht attributierten Konversionen.

click_id fehlt

Symptom: Ihr server-seitiger Code hat keinen Zugriff auf die click_id, die das Snippet auf der Client-Seite erfasst hat.

So lösen Sie das Problem:

Die click_id wird vom Snippet gespeichert und muss während des Checkout- oder Anmeldeflows vom Client an Ihren Server übergeben werden. Die Methode hängt von Ihrer Integration ab:

Stripe Checkout-Integration:

Stripe Checkout Sessions werden server-seitig erstellt, daher müssen Sie die click_id manuell übergeben. Lesen Sie sie auf dem Client mit __selgeo.getClickId() und fügen Sie sie als Session-Metadaten ein, wenn Sie die Checkout Session auf Ihrem Server erstellen:

const session = await stripe.checkout.sessions.create({
// ... Ihre Session-Parameter
metadata: {
aff_click_id: clickId, // click_id vom Client übergeben
},
});

Conversion API-Integration:

Lesen Sie die click_id vom Client (das Snippet stellt sie über __selgeo.getClickId() bereit) und fügen Sie sie in ein verstecktes Formularfeld, einen Cookie oder den Sitzungsspeicher Ihrer Anwendung ein. Übergeben Sie sie dann an die Conversion API, wenn Sie die Konversion melden:

// Client-seitig: click_id abrufen
const clickId = __selgeo?.getClickId();

// clickId in Ihre Formulareinreichung oder Ihren API-Aufruf an Ihr Backend einschließen
# Server-seitig: Konversion mit der click_id melden
curl -X POST https://api.selgeo.com/api/v1/conversions \
-H "Authorization: Bearer sk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"click_id": "DIE_CLICK_ID",
"event_type": "purchase",
"external_transaction_id": "txn_123",
"amount_cents": 4900,
"currency": "EUR"
}'

Stripe Payment Links:

Stripe Payment Links unterstützen keine benutzerdefinierten Metadaten. Das Selgeo-Snippet hängt automatisch client_reference_id an Payment Link URLs an. Es ist kein manuelles Übergeben der click_id erforderlich.

Immer noch nicht gelöst?

Wenn keines der oben genannten Punkte Ihr Problem behebt:

  1. Prüfen Sie das Attributions-Audit-Log im Dashboard für detaillierte Attributionsentscheidungen.
  2. Überprüfen Sie Ihre Integration im Testmodus zuerst – es ist einfacher, mit Testdaten zu debuggen.
  3. Kontaktieren Sie den Support mit Ihrer Händlerkonto-ID und allen Anfrage-IDs, die Sie über den X-Request-Id-Anfrage-Header eingefügt haben (oder dem Zeitstempel und Endpunkt der fehlgeschlagenen Anfrage).