Zum Hauptinhalt springen

Einführung

Verfolgen Sie Zahlungsevents in Segment, um Ihre Analysen, Marketingautomatisierung und Kunden-Datenplattform zu unterstützen. Senden Sie Zahlungs-, Abonnement- und Kundenlebenszyklusereignisse automatisch an über 300 nachgelagerte Tools.
Diese Integration erfordert einen Segment Write Key aus Ihrem Segment-Arbeitsbereich.

Erste Schritte

1

Webhook-Bereich öffnen

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

Segment auswählen

Wählen Sie die Integrationskarte Segment aus.
3

Write Key eingeben

Geben Sie Ihren Segment Write Key in der Konfiguration ein.
4

Transformation konfigurieren

Bearbeiten Sie den Transformationscode, um Ereignisse für die Track-API von Segment zu formatieren.
5

Testen & Erstellen

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

Fertig!

🎉 Zahlungsevents werden jetzt in Segment verfolgt und an Ihre verbundenen Tools gesendet.

Transformationscode-Beispiele

Zahlungsevents verfolgen

track_payments.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.segment.io/v1/track";
    webhook.payload = {
      userId: p.customer.customer_id,
      event: "Payment Completed",
      properties: {
        amount: (p.total_amount / 100).toFixed(2),
        currency: p.currency || "USD",
        payment_method: p.payment_method || "unknown",
        payment_id: p.payment_id,
        customer_email: p.customer.email,
        customer_name: p.customer.name
      },
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Abonnementlebenszyklus verfolgen

track_subscriptions.js
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.url = "https://api.segment.io/v1/track";
      webhook.payload = {
        userId: s.customer.customer_id,
        event: "Subscription Started",
        properties: {
          subscription_id: s.subscription_id,
          product_id: s.product_id,
          amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
          frequency: s.payment_frequency_interval,
          next_billing: s.next_billing_date,
          customer_email: s.customer.email
        },
        timestamp: webhook.payload.timestamp
      };
      break;
    case "subscription.cancelled":
      webhook.url = "https://api.segment.io/v1/track";
      webhook.payload = {
        userId: s.customer.customer_id,
        event: "Subscription Cancelled",
        properties: {
          subscription_id: s.subscription_id,
          product_id: s.product_id,
          cancelled_at: s.cancelled_at,
          cancel_at_next_billing: s.cancel_at_next_billing_date,
          customer_email: s.customer.email
        },
        timestamp: webhook.payload.timestamp
      };
      break;
  }
  return webhook;
}

Kundenattribute identifizieren

identify_customer.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.segment.io/v1/identify";
    webhook.payload = {
      userId: p.customer.customer_id,
      traits: {
        email: p.customer.email,
        name: p.customer.name,
        total_spent: (p.total_amount / 100).toFixed(2),
        payment_method: p.payment_method || "unknown",
        last_payment_date: webhook.payload.timestamp,
        customer_since: webhook.payload.timestamp
      }
    };
  }
  return webhook;
}

Tipps

  • Verwenden Sie konsistente Ereignisnamen in Ihrer Integration
  • Fügen Sie relevante Eigenschaften für Analysen und Segmentierung hinzu
  • Setzen Sie korrekte Zeitstempel für eine genaue Ereignisverfolgung
  • Verwenden Sie Kunden-IDs als userId für eine ordnungsgemäße Benutzeridentifikation

Fehlersuche

  • Überprüfen Sie, ob der Write Key korrekt und aktiv ist
  • Stellen Sie sicher, dass die Ereignisnamen den Namenskonventionen von Segment folgen
  • Überprüfen Sie, ob userId korrekt für die Benutzeridentifikation gesetzt ist
  • Überprüfen Sie die API-Rate-Limits von Segment
  • Validieren Sie, dass die JSON-Struktur dem Format der Segment-API entspricht
  • Überprüfen Sie, ob alle erforderlichen Felder vorhanden sind
  • Stellen Sie sicher, dass Ereignisnamen Strings und keine Objekte sind