Passer au contenu principal

Introduction

Suivez les événements de paiement dans Segment pour alimenter vos analyses, votre automatisation marketing et votre plateforme de données clients. Envoyez automatiquement des événements de paiement, d’abonnement et de cycle de vie client vers plus de 300 outils en aval.
Cette intégration nécessite une clé d’écriture Segment depuis votre espace de travail Segment.

Prise en main

1

Open the Webhook Section

Dans votre tableau de bord Dodo Payments, accédez à Webhooks → + Ajouter un point de terminaison et développez le menu déroulant des intégrations.
Add Endpoint and integrations dropdown
2

Select Segment

Choisissez la carte d’intégration Segment.
3

Enter Write Key

Saisissez votre clé d’écriture Segment dans la configuration.
4

Configure Transformation

Modifiez le code de transformation pour formater les événements pour l’API Track de Segment.
5

Test & Create

Testez avec des charges utiles d’exemple et cliquez sur Créer pour activer la synchronisation.
6

Done!

🎉 Les événements de paiement seront désormais suivis dans Segment et envoyés à vos outils connectés.

Exemples de code de transformation

Suivre les événements de paiement

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;
}

Suivre le cycle de vie de l’abonnement

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;
}

Identifier les propriétés du client

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;
}

Conseils

  • Utilisez des noms d’événements cohérents dans votre intégration
  • Incluez des propriétés pertinentes pour l’analyse et la segmentation
  • Définissez des horodatages appropriés pour un suivi précis des événements
  • Utilisez des identifiants clients comme userId pour une identification correcte des utilisateurs

Dépannage

  • Vérifiez que la clé d’écriture est correcte et activée
  • Vérifiez que les noms d’événements respectent les conventions de nommage de Segment
  • Assurez-vous que userId est correctement défini pour l’identification des utilisateurs
  • Passez en revue les limites de débit de l’API Segment
  • Validez que la structure JSON correspond au format de l’API Segment
  • Vérifiez que tous les champs requis sont présents
  • Assurez-vous que les noms d’événements sont des chaînes de caractères, pas des objets