Zum Hauptinhalt springen

Einführung

DataFast ist ein umsatzorientiertes Analysetool, das Ihnen hilft, herauszufinden, welche Marketingkanäle zahlende Kunden anziehen. Durch die Integration von Dodo Payments mit DataFast können Sie Einnahmen Ihren Traffic-Quellen zuordnen, wertvolle Kundensegmente identifizieren und datengestützte Entscheidungen zur Geschäftswachstum treffen.
Diese Integration erfordert Ihren DataFast API-Schlüssel, den Sie von Ihrem DataFast-Dashboard erhalten können.

So funktioniert es

DataFast verfolgt Besucher über eine eindeutige Besucher-ID, die in einem Cookie gespeichert ist. Um Einnahmen Marketingkanälen zuzuordnen, müssen Sie:
  1. Erfassen Sie die Besucher-ID von DataFast aus dem datafast_visitor_id Cookie, wenn Sie Checkout-Sitzungen erstellen
  2. Speichern Sie die Besucher-ID in Ihren Zahlungsmetadaten
  3. Senden Sie Zahlungsdaten an DataFast, wenn Zahlungen erfolgreich sind, unter Verwendung ihrer Payment API
Dies ermöglicht es DataFast, erfolgreiche Zahlungen mit der ursprünglichen Traffic-Quelle abzugleichen, sodass Sie eine vollständige Einnahmenzuordnung erhalten.

Erste Schritte

1

DataFast-Skript installieren

Zuerst installieren Sie das DataFast-Tracking-Skript auf Ihrer Website. Dies erstellt das datafast_visitor_id Cookie, das Ihre Besucher verfolgt.Besuchen Sie die DataFast-Dokumentation für spezifische Installationsanweisungen für Ihre Plattform.
2

API-Schlüssel abrufen

Melden Sie sich bei Ihrem DataFast-Dashboard an und navigieren Sie zu Ihren Website-Einstellungen, um Ihren API-Schlüssel zu erhalten.
Halten Sie Ihren API-Schlüssel sicher und geben Sie ihn niemals im Client-Code preis.
3

Besucher-ID im Checkout erfassen

Erfassen Sie beim Erstellen einer Checkout-Sitzung die DataFast-Besucher-ID aus dem Cookie und fügen Sie sie Ihren Zahlungsmetadaten hinzu.
4

Zahlungsdaten über Webhook senden

Konfigurieren Sie einen Webhook, um Zahlungsdaten an die Payment API von DataFast zu senden, wenn Zahlungen erfolgreich sind.
5

Fertig!

🎉 Einnahmedaten werden jetzt in Ihrem DataFast-Dashboard mit vollständiger Zuordnung zu Marketingkanälen angezeigt.

Implementierungsanleitung

Schritt 1: Besucher-ID zu Checkout-Metadaten hinzufügen

Beim Erstellen einer Checkout-Sitzung erfassen Sie die DataFast-Besucher-ID aus dem Cookie und fügen Sie sie Ihren Zahlungsmetadaten hinzu.
import { cookies } from 'next/headers';
import { dodopayments } from '@/lib/dodopayments';

export async function createCheckout(productId: string) {
  // Capture DataFast visitor ID from cookie
  const datafastVisitorId = cookies().get('datafast_visitor_id')?.value;

  const payment = await dodopayments.payments.create({
    product_id: productId,
    // ... other payment configuration
    metadata: {
      datafast_visitor_id: datafastVisitorId, // Store visitor ID in metadata
    },
  });

  return payment;
}

Schritt 2: Zahlungsdaten an DataFast senden

Konfigurieren Sie einen Webhook-Endpunkt, um Zahlungsdaten an die Payment API von DataFast zu senden, wenn Zahlungen erfolgreich sind.
1

Webhook-Bereich öffnen

Navigieren Sie in Ihrem Dodo Payments-Dashboard zu Webhooks → + Endpunkt hinzufügen und erweitern Sie das Dropdown-Menü für Integrationen.
Endpunkt hinzufügen und Integrationen Dropdown
2

DataFast auswählen

Wählen Sie die DataFast Integrationskarte aus.
3

API-Schlüssel eingeben

Geben Sie Ihren DataFast API-Schlüssel im Konfigurationsfeld ein.
API-Schlüssel hinzufügen
4

Transformation konfigurieren

Bearbeiten Sie den Transformationscode, um Zahlungsdaten für die Payment API von DataFast zu formatieren.
5

Testen & Erstellen

Testen Sie mit Beispielpayloads und klicken Sie auf Erstellen, um die Integration zu aktivieren.

Transformationscode-Beispiele

Grundlegende Zahlungszuordnung

basic_payment.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const payment = webhook.payload.data;
    
    // Only send to DataFast if visitor ID exists in metadata
    if (payment.metadata?.datafast_visitor_id) {
      webhook.url = "https://datafa.st/api/v1/payments";
      webhook.payload = {
        amount: payment.total_amount / 100, // Convert from cents to dollars
        currency: payment.currency,
        transaction_id: payment.payment_id,
        datafast_visitor_id: payment.metadata.datafast_visitor_id,
      };
    } else {
      // Skip if no visitor ID (prevents unnecessary API calls)
      return null;
    }
  }
  return webhook;
}

Umgang mit Währungen ohne Dezimalstellen

Einige Währungen (wie JPY) verwenden keine Dezimalstellen. Passen Sie die Betragsberechnung entsprechend an:
zero_decimal.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const payment = webhook.payload.data;
    
    if (payment.metadata?.datafast_visitor_id) {
      // Zero decimal currencies: JPY, KRW, CLP, etc.
      const zeroDecimalCurrencies = ['JPY', 'KRW', 'CLP', 'VND', 'UGX', 'MGA'];
      const isZeroDecimal = zeroDecimalCurrencies.includes(payment.currency);
      
      webhook.url = "https://datafa.st/api/v1/payments";
      webhook.payload = {
        amount: isZeroDecimal 
          ? payment.total_amount // Use amount as-is for zero decimal currencies
          : payment.total_amount / 100, // Convert from cents for other currencies
        currency: payment.currency,
        transaction_id: payment.payment_id,
        datafast_visitor_id: payment.metadata.datafast_visitor_id,
      };
    } else {
      return null;
    }
  }
  return webhook;
}

Abonnementzahlungen

Für wiederkehrende Abonnementzahlungen können Sie jede Zahlung verfolgen:
subscription_payment.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const payment = webhook.payload.data;
    
    // Check if this is a subscription payment
    const isSubscription = payment.subscription_id !== null;
    
    if (payment.metadata?.datafast_visitor_id) {
      webhook.url = "https://datafa.st/api/v1/payments";
      webhook.payload = {
        amount: payment.total_amount / 100,
        currency: payment.currency,
        transaction_id: payment.payment_id,
        datafast_visitor_id: payment.metadata.datafast_visitor_id,
        // Optional: Add subscription context
        ...(isSubscription && {
          subscription_id: payment.subscription_id,
        }),
      };
    } else {
      return null;
    }
  }
  return webhook;
}

Best Practices

Erfassen Sie die Besucher-ID frühzeitig: Speichern Sie die DataFast-Besucher-ID so früh wie möglich in Ihrem Checkout-Prozess, um eine genaue Zuordnung sicherzustellen, selbst wenn der Benutzer weg navigiert und später zurückkehrt.
  • Immer die Besucher-ID in den Metadaten einfügen: Ohne die Besucher-ID kann DataFast keine Einnahmen Marketingkanälen zuordnen
  • Umgang mit Währungen ohne Dezimalstellen: Einige Währungen (JPY, KRW usw.) verwenden keine Dezimalstellen – passen Sie Ihre Betragsberechnung entsprechend an
  • Testen Sie mit Beispielzahlungen: Überprüfen Sie, ob die Integration korrekt funktioniert, bevor Sie live gehen
  • Überwachen Sie Ihr DataFast-Dashboard: Überprüfen Sie, ob Zahlungen korrekt mit der richtigen Zuordnung angezeigt werden
  • Verwenden Sie Webhook-Wiederholungen: Die Payment API von DataFast ist idempotent, daher sind Wiederholungen sicher, wenn ein Webhook fehlschlägt

Fehlersuche

  • Überprüfen Sie, ob Ihr DataFast API-Schlüssel korrekt und aktiv ist
  • Stellen Sie sicher, dass das datafast_visitor_id erfasst und in den Zahlungsmetadaten gespeichert wird
  • Überprüfen Sie, ob die Webhook-Transformation das Payload korrekt formatiert
  • Stellen Sie sicher, dass der Webhook bei payment.succeeded Ereignissen ausgelöst wird
  • Überprüfen Sie das DataFast-Dashboard auf Fehlermeldungen oder API-Protokolle
  • Bestätigen Sie, dass das DataFast-Tracking-Skript auf Ihrer Website installiert und funktionsfähig ist
  • Überprüfen Sie, ob das datafast_visitor_id Cookie korrekt gesetzt wird
  • Stellen Sie sicher, dass die Besucher-IDs zwischen der Erstellung des Checkouts und dem Abschluss der Zahlung übereinstimmen
  • Überprüfen Sie, ob Sie die Besucher-ID erfassen, bevor Sie die Checkout-Sitzung erstellen
  • Überprüfen Sie die Payment API-Dokumentation von DataFast für zusätzliche Hinweise
  • Validieren Sie, dass die JSON-Struktur dem Format der Payment API von DataFast entspricht
  • Überprüfen Sie, ob alle erforderlichen Felder (amount, currency, transaction_id, datafast_visitor_id) vorhanden sind
  • Stellen Sie sicher, dass der Betrag korrekt umgerechnet wird (teilen Sie durch 100 für die meisten Währungen, außer für Währungen ohne Dezimalstellen)
  • Überprüfen Sie, ob die API-Endpunkt-URL korrekt ist: https://datafa.st/api/v1/payments
  • Testen Sie die Transformation mit Beispiel-Webhook-Payloads
  • Für Währungen ohne Dezimalstellen (JPY, KRW, CLP, VND, UGX, MGA) senden Sie den Betrag unverändert, ohne durch 100 zu teilen
  • Für alle anderen Währungen teilen Sie den Betrag durch 100, um von Cent in die Basiseinheit zu konvertieren
  • Überprüfen Sie, ob der Währungscode dem ISO 4217-Format entspricht (z. B. “USD”, “EUR”, “JPY”)

Zusätzliche Ressourcen

Brauchen Sie Hilfe? Kontaktieren Sie den Dodo Payments-Support unter [email protected] für Unterstützung bei der Integration.