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 de votre espace de travail Segment.

Prise en main

1

Ouvrir la section Webhook

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.
Ajouter un point de terminaison et menu déroulant des intégrations
2

Sélectionner Segment

Choisissez la carte d’intégration Segment.
3

Entrer la clé d'écriture

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

Configurer la transformation

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

Tester et créer

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

C'est fait !

🎉 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 active
  • Assurez-vous que les noms d’événements respectent les conventions de nommage de Segment
  • Vérifiez que userId est correctement défini pour l’identification des utilisateurs
  • Consultez les limites de taux 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, pas des objets