> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# सेगमेंट

> विश्लेषण और ग्राहक डेटा प्लेटफ़ॉर्म एकीकरण के लिए Dodo Payments घटनाओं को सेगमेंट पर भेजें।

## परिचय

सेगमेंट में भुगतान घटनाओं को ट्रैक करें ताकि आपके विश्लेषण, मार्केटिंग ऑटोमेशन, और ग्राहक डेटा प्लेटफ़ॉर्म को शक्ति मिल सके। भुगतान, सदस्यता, और ग्राहक जीवनचक्र की घटनाओं को 300+ डाउनस्ट्रीम टूल्स पर स्वचालित रूप से भेजें।

<Info>
  यह एकीकरण आपके Segment कार्यक्षेत्र से Segment Write Key की आवश्यकता करता है।
</Info>

## प्रारंभ करना

<Steps>
  <Step title="Open the Webhook Section">
    आपके Dodo Payments डैशबोर्ड में, <b>Webhooks → + Add Endpoint</b> पर जाएं और इंटीग्रेशन ड्रॉपडाउन को विस्तारित करें।

    <Frame>
      <img src="https://mintcdn.com/dodopayments/slbAEdrLLwKHfaRf/images/integrations/segment.png?fit=max&auto=format&n=slbAEdrLLwKHfaRf&q=85&s=024e80f2cafa4245742eac33f445ebe5" alt="Add Endpoint and integrations dropdown" style={{ maxHeight: '500px', width: 'auto' }} width="1644" height="948" data-path="images/integrations/segment.png" />
    </Frame>
  </Step>

  <Step title="Select Segment">
    <b>Segment</b> इंटीग्रेशन कार्ड चुनें।
  </Step>

  <Step title="Enter Write Key">
    कॉन्फ़िगरेशन में अपना Segment Write Key प्रदान करें।
  </Step>

  <Step title="Configure Transformation">
    Segment के Track API के लिए घटनाओं को फॉर्मेट करने हेतु ट्रांसफ़ॉर्मेशन कोड संपादित करें।
  </Step>

  <Step title="Test & Create">
    नमूना पेलोड से परीक्षण करें और सिंक सक्रिय करने के लिए <b>Create</b> पर क्लिक करें।
  </Step>

  <Step title="Done!">
    🎉 अब भुगतान घटनाएँ Segment में ट्रैक की जाएँगी और आपके जुड़े टूल्स को भेजी जाएँगी।
  </Step>
</Steps>

## रूपांतरण कोड उदाहरण

### भुगतान घटनाओं को ट्रैक करें

```javascript track_payments.js icon="js" expandable theme={null}
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;
}
```

### सदस्यता जीवनचक्र को ट्रैक करें

```javascript track_subscriptions.js icon="js" expandable theme={null}
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;
}
```

### ग्राहक गुणों की पहचान करें

```javascript identify_customer.js icon="js" expandable theme={null}
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;
}
```

## सुझाव

* अपने एकीकरण में लगातार घटना नामों का उपयोग करें
* विश्लेषण और विभाजन के लिए प्रासंगिक गुण शामिल करें
* सटीक घटना ट्रैकिंग के लिए उचित समय मुहैया करें
* उचित उपयोगकर्ता पहचान के लिए ग्राहक आईडी को userId के रूप में उपयोग करें

## समस्या निवारण

<AccordionGroup>
  <Accordion title="Events not appearing in Segment">
    * सत्यापित करें कि Write Key सही और सक्रिय है
    * सुनिश्चित करें कि इवेंट के नाम Segment नामकरण कन्वेंशनों का पालन करें
    * उपयोगकर्ता पहचान के लिए userId ठीक से सेट है
    * Segment API दर सीमाओं की समीक्षा करें
  </Accordion>

  <Accordion title="Transformation errors">
    * सत्यापित करें कि JSON संरचना Segment API प्रारूप से मेल खाती है
    * जांचें कि सभी आवश्यक फ़ील्ड मौजूद हैं
    * सुनिश्चित करें कि इवेंट नाम स्ट्रिंग हैं, ऑब्जेक्ट नहीं
  </Accordion>
</AccordionGroup>
