KoderKoder.ai
प्राइसिंगएंटरप्राइज़शिक्षानिवेशकों के लिए
लॉग इनशुरू करें

उत्पाद

प्राइसिंगएंटरप्राइज़निवेशकों के लिए

संसाधन

हमसे संपर्क करेंसपोर्टशिक्षाब्लॉग

कानूनी

प्राइवेसी पॉलिसीउपयोग की शर्तेंसुरक्षास्वीकार्य उपयोग नीतिदुरुपयोग रिपोर्ट करें

सोशल

LinkedInTwitter
Koder.ai
भाषा

© 2026 Koder.ai. सर्वाधिकार सुरक्षित।

होम›ब्लॉग›पार्टनर राजस्व एट्रिब्यूशन के लिए वेब ऐप कैसे बनाएं
20 नव॰ 2025·8 मिनट

पार्टनर राजस्व एट्रिब्यूशन के लिए वेब ऐप कैसे बनाएं

पार्टनर क्लिक, कन्वर्ज़न और राजस्व ट्रैक करने वाला वेब ऐप डिजाइन और बनाना सीखें। डेटा मॉडल, ट्रैकिंग, रिपोर्टिंग, पेआउट और प्राइवेसी को शामिल किया गया है।

पार्टनर राजस्व एट्रिब्यूशन के लिए वेब ऐप कैसे बनाएं

पार्टनर राजस्व एट्रिब्यूशन को क्या करना चाहिए

पार्टनर राजस्व एट्रिब्यूशन वह सिस्टम है जो एक सरल सवाल का जवाब देता है: किस पार्टनर को किसी राजस्व इवेंट का क्रेडिट (और कितना) मिलना चाहिए? वेब ऐप में इसका मतलब यह है कि आप सिर्फ क्लिक गिन नहीं रहे—आप किसी पार्टनर के रेफ़रल को बाद की किसी कन्वर्ज़न से जोड़ रहे हैं, उसे एक स्पष्ट राजस्व संख्या में बदल रहे हैं, और उसे ऑडिट करने योग्य बना रहे हैं।

अपने बिज़नेस के लिए “पार्टनर राजस्व एट्रिब्यूशन” परिभाषित करें

शुरू में एक वाक्य की परिभाषा लिखें जिसमें शामिल हो (1) क्या एट्रिब्यूट होता है, (2) किसे, और (3) किन नियमों के तहत। उदाहरण के लिए:

  • “सब्स्क्रिप्शन राजस्व को उस पार्टनर को एट्रिब्यूट करें जिसने 30 दिनों के भीतर पहला योग्य क्लिक लाया।”
  • “पहले भुगतान किए गए ऑर्डर को पार्टनर के रेफ़रल लिंक से एट्रिब्यूट करें, कूपन-ओनली कन्वर्ज़न को हटाकर।”

यह परिभाषा आपके आवश्यकताओं, डेटा मॉडल और बाद में होंगे विवादों के लिए एंकर बन जाती है।

स्पष्ट करें कि पार्टनर कौन गिने जाएंगे

“पार्टनर” अक्सर कई समूहों को शामिल करता है जिनकी अपेक्षाएँ और वर्कफ़्लो अलग-अलग होते हैं:

  • एफिलिएट्स: उच्च वॉल्यूम, लिंक-आधारित ट्रैकिंग, बार-बार पेआउट।
  • एजेंसियाँ: कम डील्स, लंबे सेल्स साइकल, कभी-कभी नेगोशिएटेड टर्म्स।
  • रीसेलर्स: एकाउंट “own” कर सकते हैं, अक्सर ऑटोमैटिक पेआउट की बजाय इनवॉइसिंग की जरूरत।
  • इन्फ्लुएंसर/क्रिएटर्स: कोड, शॉर्ट लिंक, और मोबाइल-फ़र्स्ट रिपोर्टिंग पसंद कर सकते हैं।

बहुत जल्दी सभी को एक ही वर्कफ़्लो में जबरदस्ती मत डालें। आप अभी भी एक यूनिफ़ायड सिस्टम (partners, programs, contracts) इस्तेमाल कर सकते हैं जबकि कई रेफ़रल मेथड्स (लिंक, कोड, मैन्युअल डील्स) को सपोर्ट करते हैं।

जिन आउटपुट्स का समर्थन करना चाहिए

एक व्यावहारिक पार्टनर राजस्व एट्रिब्यूशन वेब ऐप को भरोसेमंद तरीके से चार परिणाम देने चाहिए:

  1. Tracking: पार्टनर टचपॉइंट्स (क्लिक्स, कोड उपयोग, रेफ़रल) कैप्चर करना और उन्हें कन्वर्ज़न से जोड़ना।
  2. Reporting: पार्टनर्स और आपकी टीम को दिखाना—क्लिक्स, कन्वर्ज़न, राजस्व, और स्टेटस (pending/approved/paid)।
  3. Payouts: कमीशन कैलकुलेट करना, होल्ड/रिफंड संभालना, और पेआउट-रेडी स्टेटमेंट्स बनाना।
  4. Disputes: “क्यों यह कन्वर्ज़न क्रेडिटेड था (या नहीं)” समझाने के लिए पर्याप्त विवरण देना, ताकि विवाद सुलझ सकें।

इन में से कोई भी कमजोर होगा तो पार्टनर्स नंबरों पर भरोसा नहीं करेंगे—भले ही गणित सही हो।

इस गाइड (और आपके पहले वर्जन) का लक्ष्य सेट करें

एक कार्यक करने योग्य बिल्ड गाइड के लिए लक्ष्य ये नहीं है कि एट्रिब्यूशन फिलॉसफी पर बहस हो—बल्कि एक काम करने वाला सिस्टम शिप करना है। एक वास्तविकवादी पहला वर्जन होना चाहिए:

  • लिंक/क्लिक IDs ट्रैक करें और उन्हें साइनअप/चेकआउट तक परसेव करें
  • कन्वर्ज़न को सर्वर-साइड पर रिकॉर्ड करें जहाँ संभव हो
  • एक स्पष्ट एट्रिब्यूशन नियम लागू करें (यहाँ एक सरल नियम भी चलेगा)
  • पार्टनर-फेसिंग रिपोर्टिंग और आंतरिक रेकॉन्सिलिएशन पैदा करें

आप उन्नत फीचर्स (मल्टी-टच एट्रिब्यूशन, क्रॉस-डिवाइस स्टिचिंग, जटिल फ्रॉड स्कोरिंग) बाद में जोड़ सकते हैं जब बेसिक्स भरोसेमंद और टेस्टेबल हों।

आवश्यकताएँ और उत्तर देने वाले प्रमुख प्रश्न

किसी एट्रिब्यूशन मॉडल या डेटाबेस डिजाइन चुनने से पहले यह स्पष्ट कर लें कि ऐप को बिज़नेस के लिए क्या साबित करना है। पार्टनर राजस्व एट्रिब्यूशन अंततः उन उत्तरों का सेट है जिनपर लोग पैसे देने के लिए भरोसा करते हैं।

अपने यूज़र्स की पहचान करें (और हर एक के लिए “सफलता” का क्या मतलब है)

ज़्यादातर टीमें शुरुआत में “पार्टनर्स” के लिए बनाती हैं और बाद में पाती हैं कि फ़ाइनेंस या सपोर्ट कुछ भी वेरिफ़ाई नहीं कर पा रहे। अपने प्राथमिक उपयोगकर्ताओं और उनके निर्णयों की सूची बनाएं:

  • पार्टनर (एफिलिएट/रेफ़रर): क्रेडिटेड कन्वर्ज़न, राजस्व, और पेआउट स्टेटस देखना चाहते हैं।
  • मार्केटिंग/ग्रोथ: जानना चाहते हैं कि कौन से पार्टनर प्रदर्शन कर रहे हैं और कहाँ निवेश करना चाहिए।
  • फ़ाइनेंस: ऑडिटेबल पेआउट कैलकुलेशन्स और वास्तविक राजस्व के विरुद्ध रेकॉन्सिलिएशन चाहिए।
  • सपोर्ट/पार्टनर मैनेजर्स: यह समझना चाहते हैं क्यों किसी कन्वर्ज़न को क्रेडिट किया गया या नहीं।
  • इंजीनियरिंग/डेटा: विश्वसनीय ईवेंट्स, स्पष्ट नियम, और कम मेंटेनेंस ऑपरेशन्स चाहते हैं।

आपके ऐप को जवाब देना चाहिए ये 5–8 कोर प्रश्न

इनको सामान्य भाषा में लिखें ताकि आपका UI और रिपोर्ट्स इन्हें सपोर्ट करें:

  1. किस पार्टनर (यदि कोई) ने यह ऑर्डर/सब्स्क्रिप्शन ड्राइव किया?
  2. कौन-सा सबूत कन्वर्ज़न को उस पार्टनर से जोड़ता है? (click ID, कूपन, रेफ़रल कोड, आदि)
  3. क्लिक/लीड कब हुए बनाम कन्वर्ज़न? (क्या अनुमत विंडो में थे?)
  4. क्या यह कन्वर्ज़न कमीशन के लिए योग्य है? (नया ग्राहक ही, उत्पाद बहिष्कार, न्यूनतम खर्च)
  5. कमीशन राशि और दर क्या है, और किस नियम ने इसे निर्धारित किया?
  6. क्या कन्वर्ज़न के बाद कोई बदलाव हुआ है? (रिफंड, चार्जबैक, रद्दीकरण, डाउनग्रेड)
  7. किस अवधि के लिए हमें प्रत्येक पार्टनर को क्या देना है, और क्या भुगतान किया गया था?
  8. पार्टनर-ड्रिवन कन्वर्ज़न्स अन्य चैनलों से कैसे तुलना करते हैं? (मार्केटिंग रिपोर्टिंग के लिए)

जिन इवेंट्स को आप कैप्चर करने चाहिए उन्हें परिभाषित करें

कम से कम, योजना बनाएं: click, lead, trial start, purchase, renewal, और refund/chargeback। तय करें कौन-से “commissionable” हैं और कौन-से समर्थन साक्ष्य के रूप में हैं।

पहले किन एट्रिब्यूशन प्रकारों का समर्थन करना है तय करें

एक स्पष्ट नियम सेट के साथ शुरू करें—आम तौर पर last-touch को एक कॉन्फ़िगर करने योग्य विंडो में प्राथमिक रखें—और मल्टी-टच तब जोड़ें जब रिपोर्टिंग ज़रूरतें और साफ़ डेटा हो। पहले वर्जन को समझाने और ऑडिट करने में आसान रखें।

एट्रिब्यूशन मॉडल और नियम चुनें

कोड लिखने से पहले तय करें कि “किसे क्रेडिट मिलता है” और वह क्रेडिट कब समाप्त होता है। यदि आप upfront नियम नहीं रखेंगे तो हर payout पर एजेड केसों पर बहस होगी (और पार्टनर शिकायतें)।

सामान्य एट्रिब्यूशन मॉडल (उच्च स्तर)

Last click कन्वर्ज़न से पहले सबसे हालिया पार्टनर क्लिक को 100% क्रेडिट देता है। यह सरल और व्यापक रूप से समझा जाता है, पर देर के कूपन ट्रैफ़िक को ज़्यादा रिवॉर्ड कर सकता है।

First click ग्राहक को पहली बार जो पार्टनर लाया उसे 100% क्रेडिट देता है। यह डिस्कवरी पार्टनर्स को फ़ेवर करता है, पर उन पार्टनर्स को कम रिवॉर्ड कर सकता है जो डील क्लोज करने में मदद करते हैं।

Linear विंडो में सभी योग्य पार्टनर टचेस के बीच क्रेडिट समान रूप से बाँट देता है। यह “न्यायसंगत” लग सकता है, पर समझाने में मुश्किल और प्रोत्साहन को dilute कर सकता है।

Time-decay कन्वर्ज़न के करीब के टचेस को अधिक क्रेडिट देता है जबकि पहले के प्रभाव को भी मानता है। यह समझौता है, पर ज़्यादा गणित और स्पष्ट रिपोर्टिंग मांगता है।

एक डिफ़ॉल्ट चुनें, फिर अपवाद दस्तावेज़ करें

अधिकांश कन्वर्ज़न्स के लिए एक डिफ़ॉल्ट मॉडल चुनें (कई ऐप्स last click से शुरू करते हैं क्योंकि यह समझाने और reconcile करने में आसान है)। फिर स्पष्ट रूप से अपवाद दस्तावेज़ करें ताकि सपोर्ट और फ़ाइनेंस उन्हें सुसंगत रूप से लागू कर सकें:

  • कूपन कोड्स: तय करें कि क्या वैध पार्टनर कूपन क्लिक हिस्ट्री को ओवरराइड करता है, क्रेडिट शेयर करता है, या केवल तब लागू होता है जब पार्टनर ने क्लिक भी कराया हो।
  • डायरेक्ट ट्रैफ़िक: स्पष्ट करें कि क्या डायरेक्ट विज़िट्स “चेन तोड़ते” हैं (एट्रिब्यूशन रीसेट करते हैं) या बस एक टच के रूप में नहीं गिने जाते।
  • रिन्यूअल्स: तय करें कि क्या रिकोअर्डिंग सब्स्क्रिप्शन रिन्यूअल्स मूल पार्टनर को भुगतान करती हैं, केवल सीमित समय के लिए भुगतान करती हैं, या फिर से एंगेजमेंट की मांग करती हैं।

एट्रिब्यूशन विंडोज और री-एंगेजमेंट परिभाषित करें

7 / 30 / 90 दिनों जैसी एक या अधिक विंडो सेट करें। एक व्यावहारिक दृष्टिकोण एक स्टैंडर्ड विंडो (उदा., 30 दिन) और जरूरत होने पर कूपन पार्टनर्स के लिए छोटी विंडो रखना है।

री-एंगेजमेंट नियम भी परिभाषित करें: यदि ग्राहक विंडो के भीतर किसी अन्य पार्टनर लिंक पर क्लिक करता है, क्या आप तुरंत क्रेडिट स्विच करेंगे (last click), क्रेडिट स्प्लिट करेंगे, या मूल पार्टनर को तब तक रखें जब तक नया क्लिक “close window” (उदा., 24 घंटे) के भीतर न हो?

अपग्रेड्स, डाउनग्रेड्स, रिफंड्स और चार्जबैक को संभालें

तय करें आप क्या एट्रिब्यूट करते हैं: प्रांरभिक खरीद केवल, या समय के साथ नेट राजस्व।

  • अपग्रेड्स: आम तौर पर कमीशन-योग्य; तय करें क्या आप केवल डेल्टा पर भुगतान करेंगे या नए प्लान की पूरी राशि पर।
  • डाउनग्रेड्स: आमतौर पर भविष्य के कमीशन घटाते हैं; तय करें क्या आप अतीत के पेआउट्स वापस क्लॉबैक करेंगे।
  • रिफंड्स/चार्जबैक: क्लॉबैक पॉलिसी पर निर्णय लें (पूर्ण रिवर्सल बनाम आंशिक) और समय (तुरंत बनाम अगले पेआउट चक्र) तय करें।

इन नियमों को एक छोटे “Attribution Policy” डॉक्यूमेंट में लिखें और अपने पार्टनर पोर्टल में लिंक करें ताकि सिस्टम व्यवहार पार्टनर अपेक्षाओं से मेल खाए।

एट्रिब्यूशन के लिए डेटा मॉडल डिजाइन करें

एक साफ़ डेटा मॉडल के साथ ही आप कह सकते हैं “हमें लगता है कि इस पार्टनर ने सेल की” नहीं—बल्कि आप साबित कर सकते हैं, reconcile कर सकते हैं, और सही भुगतान कर सकते हैं। छोटे सेट की मुख्य एंटिटीज़ से शुरू करें और immutable IDs के माध्यम से रिश्तों को स्पष्ट रखें।

कोर एंटिटीज़ (और वे क्या दर्शाती हैं)

  • Partner: जिसे आप भुगतान करते हैं (publisher, influencer, agency)। स्टोर करें partner_id, स्थिति, payout शर्तें, डिफ़ॉल्ट मुद्रा।
  • Campaign: रिपोर्टिंग और नियमों के लिए एक ग्रुपिंग (सीज़नल प्रमो, प्रॉडक्ट लाइन)। Key: campaign_id, start/end dates।
  • Link: पार्टनर को जारी की गई ट्रैक करने योग्य URL। Key: link_id, जो partner_id और वैकल्पिक रूप से campaign_id से संबंधित है।
  • Click: एक ट्रैक किया गया इंटरैक्शन। Key: click_id, जो link_id और partner_id को रेफ़रेंस करता है।
  • Visitor: एक पहचान जिसे आप सेशन्स में पहचान सकें। Key: visitor_id (अक्सर फर्स्ट-पार्टी कुकी ID से निकला)।
  • Conversion: एट्रिब्यूटेड इवेंट (लीड, साइनअप, खरीद)। Key: conversion_id, जो click_id (यदि उपलब्ध हो) और visitor_id को रेफ़रेंस करता है।
  • Order: वह वाणिज्यिक रिकॉर्ड जिसका उपयोग पैसे के लिए होता है। Key: order_id, जो customer_id को रेफ़रेंस करता है और conversion_id से लिंक होता है।
  • Payout: जो आप दे रहे हैं और कब। Key: payout_id, जो partner_id को रेफ़रेंस करता है और योग्य ऑर्डर्स को एग्रीगेट करता है।

IDs कैसे जुड़ती हैं (“chain of custody”)

आपका गोल्डन पाथ है:

partner_id → link_id → click_id → visitor_id → conversion_id → order_id → payout_id

customer_id को order_id के साथ रखें ताकि रिपीट खरीदें आपकी नीतियों (उदा., “पहली खरीद केवल” बनाम “लाइफ़टाइम”) के अनुसार फॉलो कर सकें। अपने आंतरिक IDs और बाह्य IDs (उदा., shopify_order_id) दोनों को रेकॉन्सिलिएशन के लिए स्टोर करें।

मनी फ़ील्ड्स और समायोजन

ऑर्डर्स बदलते हैं। इसे स्पष्ट रूप से मॉडल करें:

  • राशियाँ माइनर यूनिट्स में स्टोर करें (उदा., सेंट्स): gross_amount, tax_amount, shipping_amount, fee_amount, discount_amount.
  • currency_code के साथ एक fx_rate_to_payout_currency जोड़ें (और उस रेट का timestamp/source)।
  • रिफंड/चार्जबैक को order_id से जुड़े adjustment rows (उदा., order_adjustment_id, type = partial_refund) के रूप में दर्शाएँ। इससे ऑडिट योग्य इतिहास बना रहता है और टोटल्स को फिर से लिखने से बचता है।

ऑडिटेबिलिटी और डेटा गुणवत्ता

हर जगह ऑडिट फ़ील्ड जोड़ें: created_at, updated_at, ingested_at, source (web, server-to-server, import), और immutable identifiers।

फ्रॉड विश्लेषण के लिए बिना कच्चे पर्सनल डेटा स्टोर किए, hashed फ़ील्ड्स जैसे ip_hash और user_agent_hash स्टोर करें। अंत में, एक हल्का change log रखें (entity, entity_id, old/new values, actor) ताकि पेआउट फैसलों की व्याख्या बाद में की जा सके।

क्लिक ट्रैकिंग और पार्टनर लिंक्स लागू करें

क्लिक ट्रैकिंग पार्टनर राजस्व एट्रिब्यूशन की नींव है: हर पार्टनर लिंक को एक टिकाऊ “click record” बनाना चाहिए जिसे आप बाद में कन्वर्ज़न से जोड़ सकें।

स्पष्ट लिंक स्ट्रक्चर परिभाषित करें (और इसे predictable रखें)

एक सिंगल कैनोनिकल लिंक फॉर्मेट का उपयोग करें जिसे पार्टनर कहीं भी कॉपी/पेस्ट कर सकें। अधिकांश सिस्टम में, पार्टनर-फेसिंग लिंक में click_id नहीं होना चाहिए—आपका सर्वर वह जनरेट करता है।

एक साफ़ पैटर्न है:

/r/{partner_id}?campaign_id=...&utm_source=...&utm_medium=partner&utm_campaign=...

प्रायोगिक पैरामीटर मार्गदर्शन:

  • partner_id: आवश्यक; क्लिक का प्राथमिक मालिक।
  • campaign_id: वैकल्पिक पर अनुशंसित; ऑफ़र्स, प्लेसमेंट, या प्रमोशन अलग करने के लिए।
  • utm_*: analytics टूल्स और मार्केटिंग रिपोर्टिंग के लिए रखें। इन्हें metadata मानें, सत्यापन स्रोत न समझें।

सर्वर-साइड ट्रैकिंग को प्राथमिकता दें एक redirect endpoint के माध्यम से

सभी पार्टनर ट्रैफ़िक को एक redirect endpoint (/r/{partner_id} जैसे) के माध्यम से रूट करें:

  1. इनबाउंड रिक्वेस्ट प्राप्त करें और पैरामीटर्स पढ़ें।
  2. एक यूनिक click_id (UUID/ULID) जनरेट करें और सर्वर-साइड पर एक click row स्टोर करें (partner_id, campaign_id, user agent, IP hash, timestamp, landing URL)।
  3. एक फर्स्ट-पार्टी कुकी सेट करें (और वैकल्पिक रूप से localStorage)।
  4. 302 redirect करके अंतिम लैंडिंग पेज पर भेजें।

यह क्लिक क्रिएशन को सुसंगत बनाता है, पार्टनर्स को click IDs स्पूफ करने से रोकता है, और नियम लागू करने को केंद्रीकृत करता है।

Cookie बनाम localStorage बनाम सर्वर-साइड सेशन्स

  • Cookies: हर रिक्वेस्ट पर भेजी जाती हैं; सर्वर-साइड कन्वर्ज़न मैचिंग के लिए सबसे अच्छा। ब्राउज़र्स और कंसेंट नियमों से रोकी जा सकती हैं।
  • localStorage: पेज में परसेव करने में आसान, पर स्वतः सर्वर को नहीं भेजती; आपको क्लाइंट-साइड से इसे पढ़ना होगा।
  • Server-side session storage: केवल तब काम करता है जब ब्राउज़र एक session identifier रखे; छोटे विंडो के लिए अच्छा, लंबी एट्रिब्यूशन विंडो के लिए कमजोर।

अधिकांश टीमें कुकी को प्राथमिक रूप में, localStorage को fallback के रूप में, और सर्वर-साइड सेशन्स को केवल अल्पकालिक फ्लो के लिए इस्तेमाल करती हैं।

मोबाइल और ऐप-टू-वेब विचार

मोबाइल वेब के लिए, कुकीज़ कम भरोसेमंद हो सकती हैं, इसलिए redirect endpoint का उपयोग करें और click_id को कुकी + localStorage दोनों में स्टोर करें।

ऐप-टू-वेब के लिए, सपोर्ट करें:

  • Deep links (पार्टरनर संदर्भ के साथ ऐप खोलें)।
  • Deferred attribution: यदि ऐप इंस्टॉल नहीं है, तो वेब/ऐप स्टोर पर रूट करें, फिर एक शॉर्ट-लाइव्ड टोकन पास करें ताकि पहली ऐप लॉन्च पर इसे मूल click_id के लिए एक्सचेंज किया जा सके।

अपने पार्टनर पोर्टल में सटीक लिंक नियम दस्तावेज करें (देखें /blog/partner-links) ताकि पार्टनर पैरामीटर्स के साथ “क्रिएटिव” न हों।

कन्वर्ज़न्स को विश्वसनीय रूप से कैप्चर करें

एडमिन डैशबोर्ड लॉन्च करें
अप्रूवल, ओवरराइड और ऑडिट ट्रेल के लिए एक एडमिन व्यू बनाएं ताकि विवादों को संभालना आसान हो।
डैशबोर्ड बनाएं

कन्वर्ज़न ट्रैकिंग वह जगह है जहाँ एट्रिब्यूशन सिस्टम भरोसा कमाते हैं—या चुपचाप खो देते हैं। आपका लक्ष्य है एक सिंगल, कैनोनिकल “कन्वर्ज़न” इवेंट प्रति वास्तविक खरीद (या साइनअप) रिकॉर्ड करना, इतना संदर्भ के साथ कि इसे पार्टनर क्लिक से जोड़ा जा सके।

अपने कन्वर्ज़न स्रोत चुनें (और एक कैनोनिकल चुनें)

अधिकांश प्रोडक्ट्स कन्वर्ज़न्स को कई जगहों से देख सकते हैं:

  • Checkout “thank you” पेज (क्लाइंट-साइड): लागू करना आसान, पर ब्लॉक/ड्रॉप/डबल-फायर हो सकता है।
  • Backend order service (सर्वर-साइड): सबसे भरोसेमंद स्रोत क्योंकि यह रिकॉर्ड का सिस्टम रिप्रेजेंट करता है।
  • Payment provider webhooks (सर्वर-साइड): तब उपयोगी जब पेमेंट कॉन्फ़र्मेशन असिंक्रोनस हो (उदा., 3DS, बैंक ट्रांसफर), पर retries संभालने होंगे।

सिफारिश: अपने बैकएंड ऑर्डर सर्विस को कैनोनिकल कन्वर्ज़न रिकॉर्डर मानें, और वैकल्पिक रूप से पेमेंट वेबहुक्स को कन्फ़र्मेशन/अपडेट संकेत के रूप में उपयोग करें (उदा., ऑर्डर को pending से paid पर ले जाना)। क्लाइंट-साइड इवेंट्स को डिबग या फ़नल एनालिटिक्स के लिए रखें, payout-ग्रेड एट्रिब्यूशन के लिए नहीं।

सर्वर-साइड कन्वर्ज़न रिकॉर्ड करें (और एट्रिब्यूशन संदर्भ पर्सिस्ट करें)

बाद में राजस्व को एट्रिब्यूट करने के लिए, कन्वर्ज़न इवेंट को एक स्थिर identifier और क्लिक से लिंक करने का तरीका चाहिए।

सामान्य विधि:

  1. जब कोई पार्टनर लिंक के माध्यम से आता है, तो एक click_id जनरेट/स्टोर करें।
  2. इसे फर्स्ट-पार्टी कुकी और/या अपने DB में सेशन/यूज़र के साथ टाई करें।
  3. खरीद के समय, बैकएंड ऑर्डर पर click_id को संलग्न करे (उदा., सेशन स्टेट से, कस्टमर रिकॉर्ड से, या क्लाइंट द्वारा भेजे गए साइन किए गए टोकन से)।

क्लिक्स को कन्वर्ज़न्स से मैप करें (स्पष्ट fallback नियमों के साथ)

आपका प्राथमिक जॉइन होना चाहिए conversion.click_id → click.id। यदि click_id गायब है, तो स्पष्ट fallback नियम परिभाषित करें, जैसे:

  • अगर यूज़र लॉग्ड इन है: उस यूज़र के लिए attribution विंडो में सबसे हालिया योग्य क्लिक का उपयोग करें।
  • अन्यथा: सेशन के लिए सबसे हालिया योग्य क्लिक का उपयोग करें।
  • यदि कई क्लिक मौजूद हैं: पहले से तय करें कि “last touch जीतता है” या आप मल्टी-टच की अनुमति देंगे।

इन fallbacks को admin टूलिंग में दिखाएँ ताकि सपोर्ट बिना अनुमान के परिणाम समझा सके।

retries और डुप्लिकेट्स को idempotency के साथ संभालें

वेबहुक्स और क्लाइंट कॉल्स रीट्राइ कर सकते हैं। आपको एक ही कन्वर्ज़न कई बार प्राप्त करने पर डबल-काउंटिंग से बचना चाहिए।

idempotency keys लागू करें, जैसे:

  • order_id (सबसे अच्छा अगर ग्लोबली यूनिक हो)
  • या payment_provider_charge_id

यह key कन्वर्ज़न रिकॉर्ड पर स्टोर करें और एक यूनिक कॉन्स्ट्रेंट लागू करें। रीट्राइ पर, सफलता लौटाएँ और दूसरा कन्वर्ज़न न बनाएं। यह सबसे आम “फ़ैंटम राजस्व” payout बग्स को रोकता है।

राजस्व कैलकुलेशन, रेकॉन्सिलिएशन और पेआउट लॉजिक

यह वह बिंदु है जहाँ ट्रैकिंग पैसे में बदलती है। आपका ऐप ट्रैक किए गए इवेंट से उस राशि तक एक स्पष्ट, ऑडिटेबल पथ चाहिए जो आप दे सकें—और फ़ाइनेंस जो मापता है उसके साथ aligned रहना चाहिए।

एक बेसिक एंड-टू-एंड फ्लो

एक व्यावहारिक लाइफ़साइकल ऐसा दिखता है:

  1. Click: आप पार्टनर + click ID और किसी भी campaign संदर्भ को स्टोर करते हैं।
  2. Pending conversion: एक कन्वर्ज़न रिकॉर्ड किया जाता है, जिसे क्लिक/पार्टनर को एट्रिब्यूट किया गया है, पर अभी अंतिम नहीं माना जाता (उदा., refund विंडो के भीतर)।
  3. Approved conversion: कन्वर्ज़न वैलिडेशन चेक्स और आपकी मंजूरी नियमों के बाद “लॉक” हो जाता है।
  4. Payable revenue: approved कन्वर्ज़न्स पेआउट पीरियड में रोल होकर भुगतान के लिए योग्य हो जाते हैं।

प्रत्येक स्टेट बदलने के लिए टाइमस्टैम्प रखें ताकि आप बता सकें कब और क्यों कोई कन्वर्ज़न payable बन गया।

राजस्व गणित: ग्रॉस बनाम नेट, सब्सक्रिप्शन, और समायोजन

क्या “राजस्व” आपके सिस्टम में क्या मतलब रखता है, स्पष्ट रूप से स्टोर करें:

  • Gross vs net: ग्रॉस वह राशि है जो चार्ज हुई; नेट वह है डिस्काउंट, टैक्स, शिपिंग, शुल्क आदि काटने के बाद। (लागू नियम चुनें और सुसंगत रहें)।
  • रिफंड्स और चार्जबैक: इनको मूल कन्वर्ज़न से जुड़े समायोजन के रूप में मॉडल करें। यदि रिफंड अप्रूवल के बाद होता है, तो आप अगले पेआउट चक्र में एक नकारात्मक लाइन आइटम बना सकते हैं।
  • सब्सक्रिप्शन रिन्यूअल्स: प्रत्येक रिन्यूअल को एक नया कन्वर्ज़न इवेंट मानें जो ओरिजिनल कस्टमर और पार्टनर से लिंक हो (जहाँ नीति अनुमति देती है), या एट्रिब्यूशन को एक परिभाषित समय विंडो तक सीमित करें।

पेआउट शेड्यूल और थ्रेशोल्ड्स (विकल्प)

बिना सख्त पॉलिसी हार्डकोड किए आप सामान्य संरचनाएँ सपोर्ट कर सकते हैं:

  • शेड्यूल्स: मासिक, द्विसाप्ताहिक, साप्ताहिक, या रोलिंग “X दिनों के बाद approval”।
  • थ्रेशोल्ड्स: न्यूनतम पेयोग्य बैलेंस (उदा., पार्टनर तब तक नहीं पाएगा जब तक वह कॉन्फ़िगर योग्य राशि तक नहीं पहुँचता)।
  • होल्ड पीरियड्स: रिफंड रिस्क घटाने के लिए N दिनों के लिए approval में देरी।

फ़ाइनेंस और ऑडिटेबिलिटी के लिए एक्सपोर्ट्स

फ़ाइनेंस टीम्स को डेटा चाहिए जिसे वे reconcile कर सकें:

  • CSV एक्सपोर्ट: कन्वर्ज़न, समायोजन, और पेआउट सारांश।
  • API एक्सेस: अकाउंटिंग सिस्टम्स में payouts और line items खींचने के लिए।
  • लेज़र-स्टाइल रिपोर्ट्स: हर वित्तीय इवेंट पर एक पंक्ति (approval, refund, chargeback, payout), immutable IDs और स्रोत कन्वर्ज़न के रेफ़रेंस के साथ।

पार्टनर पोर्टल और एडमिन डैशबोर्ड बनाएं

पेआउट लॉजिक सेट करें
पेंडिंग, अप्रूव्ड और पेड स्टेट्स को स्पष्ट टाइमस्टैम्प और रीकॉन्सिलिएशन-रेडी एक्सपोर्ट के साथ लागू करें।
पेआउट जोड़ें

आपका पार्टनर प्रोग्राम भरोसे पर जीवित रहता है या मर जाता है। आपका पोर्टल वह जगह है जहाँ पार्टनर्स यह वेरिफ़ाई करते हैं कि क्लिक्स कन्वर्ज़न्स में बदल गए और कन्वर्ज़न्स पैसे में। आपका एडमिन डैशबोर्ड वह जगह है जहाँ आपकी टीम प्रोग्राम को साफ़, उत्तरदायी और निष्पक्ष रखती है।

पार्टनर पोर्टल अनिवार्यताएँ

एक छोटा सेट स्क्रीन से शुरू करें जो हर दिन पार्टनर्स के प्रश्नों का उत्तर देता है:

  • Get links: हर पार्टनर को उनके रेफ़रल लिंक(स), समर्थित UTM टेम्पलेट्स, और किसी आवश्यक पैरामीटर के साथ दिखाएँ। कॉपी करना आसान बनाएं।
  • Performance overview: क्लिक, कन्वर्ज़न, और एट्रिब्यूटेड राजस्व के लिए एक सरल चार्ट, साथ ही टॉप कैंपेन्स।
  • Conversion list: कन्वर्ज़न्स की एक तालिका स्टेटस और टाइमस्टैम्प के साथ ताकि पार्टनर्स ऑडिट कर सकें कि क्या हुआ।
  • Payout status: earnings सारांश (pending, approved, paid), payout इतिहास, और अगला पेआउट दिन।

कन्वर्ज़न लिस्ट के लिए उन कॉलम्स को शामिल करें जो सपोर्ट टिकट कम करते हैं: कन्वर्ज़न टाइम, ऑर्डर ID (या मास्क्ड ID), एट्रिब्यूटेड राशि, कमीशन दर, स्टेटस (pending/approved/rejected/paid), और reject होने पर एक छोटा “reason” फ़ील्ड।

वे फ़िल्टर जिन्हें वास्तव में ज़रूरत है

पार्टनर्स और एडमिन दोनों को बिना स्प्रैडशीट के परिणाम काटने की त्वरित तरीके चाहिए। प्राथमिकता दें:

  • डेट रेंज (last 7/30/90 days जैसे प्रीसेट्स के साथ)
  • कैंपेaign (या लिंक नाम)
  • स्टेटस (pending/approved/rejected/paid)
  • डिवाइस (desktop/mobile/tablet)
  • देश/क्षेत्र

यदि आप कई प्रॉडक्ट्स या प्लान ट्रैक करते हैं, तो एक प्रॉडक्ट फ़िल्टर जोड़ें—पर सिर्फ़ तब जब बेसिक्स स्टेबल हों।

आंतरिक एडमिन अनिवार्यताएँ

एडमिन टूलिंग गति और जवाबदेही पर केंद्रित होनी चाहिए:

  • पार्टनर मैनेजमेंट: पार्टनर्स बनाएं/संपादित करें, कमीशन टर्म सेट करें, payout मेथड असाइन करें, और सक्रिय स्थिति टॉगल करें।
  • Approvals & overrides: कन्वर्ज़न्स को बल्क में approve/reject करें, और edge cases (उदा., मिस्ड click ID के साथ समर्थन साक्ष्य) के लिए सख्ती से नियंत्रित overrides की अनुमति दें।
  • नोट्स और ऑडिट ट्रेल: हर मैनुअल परिवर्तन रिकॉर्ड करे कि किसने, कब, और क्यों किया।

मैनुअल कंट्रोल सीमित रखें: आप चाहते हैं कि एडमिन अपवादों को सही करें, इतिहास को casually rewrite न करें।

रोल-आधारित एक्सेस कंट्रोल (RBAC)

डे-वन से RBAC लागू करें:

  • पार्टनर केवल अपने लिंक, क्लिक्स, कन्वर्ज़न, और पेआउट ही देख सकें।
  • पार्टनर मैनेजर्स उन पार्टनर्स को देख और कार्रवाई कर सकें जिनके वे मालिक हैं (यदि आप क्षेत्र/टीम के हिसाब से सेगमेंट करते हैं)।
  • फ़ाइनेंस/एडमिन पेआउट और रेकॉन्सिलिएशन विवरण देख सकें।

API स्तर पर permission checks लागू करें (सिर्फ UI पर नहीं), और पेआउट एक्सपोर्ट जैसे संवेदनशील व्यूज़ के एक्सेस को लॉग करें।

आर्किटेक्चर और स्केलिंग विचार

पार्टनर राजस्व एट्रिब्यूशन ऐप सामान्यतः “write-heavy” होता है: बहुत सारे क्लिक, बहुत सारे कन्वर्ज़न इवेंट्स, और समय-समय पर पढ़ने वाले रिपोर्ट। पहले हाई-वॉल्यूम ingestion के लिए डिजाइन करें, फिर aggregation के साथ रिपोर्टिंग को तेज़ बनाएं।

एक व्यावहारिक, लचीला स्टैक

एक काम करने लायक बेसलाइन है Postgres + एक API + मॉडर्न फ्रंटेंड:

  • Postgres लेन-देनात्मक सच्चाई के लिए (पार्टनर्स, नियम, कन्वर्ज़न, पेआउट)।
  • API सर्विस (Node/TypeScript, Python, Go—कोई भी चले) जो ईवेंट्स ingest करे और रिपोर्टिंग एंडपॉइंट्स एक्सपोज़ करे।
  • Frontend (Next.js/React, Vue, आदि) पार्टनर पोर्टल और एडमिन के लिए।

ट्रैकिंग एंडपॉइंट्स को stateless रखें ताकि आप उन्हें लोड बैलेंसर के पीछे हॉरिज़ॉन्टली स्केल कर सकें।

यदि आप स्पेक से वर्किंग इंटरनल टूलिंग तक जल्दी जाना चाहते हैं, तो Koder.ai मदद कर सकता है प्रोटोटाइप बनाने में—यह वर्कफ़्लो (tracking → attribution → payouts) को outline करने, React frontend और Go + PostgreSQL backend generate करने में सहायक हो सकता है, और जब आप प्रोडक्शन के लिए तैयार हों तो सोर्स कोड export करने की क्षमता देता है।

बैकग्राउंड जॉब्स धीमे पाथ के लिए

Request/response साइकिल में महंगा काम न करें। क्यू (SQS/RabbitMQ/Redis queues) और वर्कर्स का प्रयोग करें:

  • Webhook delivery और retries (उदा., पार्टनर्स को “conversion recorded” नोटिफिकेशन)
  • Reconciliation (इम्पोर्ट किये गए ऑर्डर्स/रिफंड्स को पूर्व में ट्रैक्ड कन्वर्ज़न्स से मैच करना)
  • Report generation (डेली rollups, CSV एक्सपोर्ट, “last 30 days” सारांश)

वर्कर्स idempotent होने चाहिए: अगर कोई जॉब दो बार चले तो परिणाम सही रहें।

क्लिक्स के लिए डेटा रिटेंशन और पार्टिशनिंग

क्लिक टेबल्स तेज़ी से बढ़ते हैं। शुरुआत में रिटेंशन की योजना बनाएं:

  • Raw clicks को छोटे विंडो के लिए रखें (उदा., 30–90 दिन) यदि विवाद समाधान के लिए पर्याप्त हो।
  • Aggregates (डेली पार्टनर/कैंपेaign टोटल्स) लंबे समय तक रखें।

Postgres में, क्लिक्स के लिए time-based partitioning (उदा., मासिक पार्टिशन) और (occurred_at, partner_id) जैसे इंडेक्स पर विचार करें। पार्टिशनिंग vacuum/index मेंटेनेंस को बेहतर बनाती है और पुरानी पार्टिशन ड्रॉप करके रिटेंशन आसान करती है।

ऑब्ज़र्वेबिलिटी जो एट्रिब्यूशन ब्रेक्स पकड़ती है

ट्रैकिंग फेल्योर अक्सर मूक रहते हैं जब तक आप उन्हें नहीं मापते। जोड़ें:

  • Event drop rate: प्राप्त रिक्वेस्ट बनाम पर्सिस्ट किए गए इवेंट्स; % वैलिडेशन द्वारा रिजेक्टेड।
  • Latency: क्लिक ingest और कन्वर्ज़न ingest एंडपॉइंट्स के लिए p95/p99।
  • Webhook failures: फेल्योर रेट, retries, time-to-deliver, और dead-letter वॉल्यूम।

कंसिस्टेंट correlation ID (उदा., click_id/conversion_id) के साथ लॉग करें ताकि सपोर्ट किसी पार्टनर के दावा को end-to-end ट्रेस कर सके।

फ्रॉड प्रतिबंध और डेटा गुणवत्ता

फ्रॉड नियंत्रण सिर्फ बुरे अभिनेताओं को पकड़ने के लिए नहीं—वे ईमानदार पार्टनर्स को शोर-भरे डेटा के कारण कम भुगतान होने से भी बचाते हैं। एक अच्छा दृष्टिकोण स्वचालित सुरक्षात्मक उपाय (तेज़, सुसंगत) और मानव समीक्षा (लचीला, संदर्भ-आधारित) का संयोजन है।

आम दुरुपयोग पैटर्न जिनकी योजना बनानी चाहिए

Self-referrals तब होते हैं जब पार्टनर्स अपने ही खरीद/साइनअप पर कमीशन कमाने की कोशिश करते हैं (आमतौर पर भुगतान फ़िंगरप्रिंट्स, ईमेल, या डिवाइस संकेतों से पता चलता है)।

Cookie stuffing और click spam यूज़र्स को बिना असली इरादे के “क्लेम” करने की कोशिश करते हैं—उदा., invisible iframes, ज़बरन redirects, या near-zero engagement के साथ उच्च क्लिक वॉल्यूम।

Fake leads वे कम-गुणवत्ता फॉर्म सबमिशन हैं जो CPA पेआउट ट्रिगर करने का उद्देश्य रखते हैं। कूपन लीक वो है जब निजी कोड सार्वजनिक हो जाता है और attribution असली स्रोत से हटकर फैल जाता है।

शुरुआती लाभ देने वाली मूल रक्षा

क्लिक्स और कन्वर्ज़न प्रति पार्टनर, प्रति IP रेंज, और प्रति यूज़र/सेशन पर rate limits से शुरू करें। इसे बॉट डिटेक्शन संकेतों के साथ जोड़ें: user-agent अनोमलीज़, missing JavaScript execution संकेत, संदिग्ध समय-समिति, डाटा-सेन्टर IPs, और बार-बार डिवाइस फ़िंगरप्रिंट।

अनॉमली अलर्ट जोड़ें। उन्नत ML की ज़रूरत नहीं है: साधारण थ्रेशोल्ड्स जैसे “कन्वर्ज़न रेट 5× वीक-ओवर-वीक spike” या “अन्य metadata के साथ कई समान कन्वर्ज़न्स” अधिकांश मुद्दों को पकड़ लेते हैं। अलर्ट्स को एडमिन डैशबोर्ड के ड्रिल-डाउन व्यू (उदा., /admin/partners/:id/attribution) से लिंक करें।

डेटा गुणवत्ता के लिए, ingestion पर इनपुट वैलिडेट करें। जहाँ लागू हो click IDs या signed partner tokens की मांग करें, malformed UTMs को रिजेक्ट करें, और देश/मुद्रा फ़ील्ड्स को सामान्यीकृत करें। कई जांचें इसलिए अटक जाती हैं क्योंकि लॉग्स अपूर्ण या जॉइंस ambiguous होते हैं।

मैनुअल समीक्षा वर्कफ़्लोज़

ऑपरेटर्स को एक स्पष्ट क्यू दें: flags (कारण + गंभीरता), नोट्स, और संबंधित क्लिक और कन्वर्ज़न्स की टाइमलाइन।

संदिग्ध इवेंट्स को तुरंत पेआउट में न भेजकर conversion holds (“pending”) समर्थन करें। पार्टनर चेतावनियाँ और एस्केलेशन (अस्थायी पेआउट देरी, ट्रैफ़िक प्रतिबंध, या प्रोग्राम से हटाना) लागू करें, और कार्रवाइयों को टेम्पलेट्स के माध्यम से सुसंगत बनाएं।

भरोसा और अनुपालन के लिए ऑडिट ट्रेल्स

एक अपरिवर्तनीय ऑडिट ट्रेल रखें:

  • एट्रिब्यूशन नियम परिवर्तन (क्या बदला, किसने बदला, कब)
  • पेआउट समायोजन और रिवर्सल (तर्क सहित)
  • overrides (मैन्युअल री-एट्रिब्यूशन या अपवाद हैंडलिंग)

यह पार्टनर विवादों, फ़ाइनेंस रेकॉन्सिलिएशन, और आंतरिक जवाबदेही के लिए आवश्यक है—विशेषकर जब कई लोग नियम और पेआउट बदल सकें।

प्राइवेसी, सुरक्षा, और अनुपालन बेसिक्स

क्लिक ट्रैकिंग प्रोटोटाइप करें
रिडायरेक्ट ट्रैकिंग एंडपॉइंट तैनात करें और पेआउट जोड़ने से पहले click_id भरोसेमंद तरीके से कैप्चर करें।
अब प्रोटोटाइप करें

पार्टनर राजस्व एट्रिब्यूशन ट्रैकिंग, पहचान, और भुगतान को छूता है—ये तीन क्षेत्र हैं जहाँ छोटी गलतियाँ बड़े जोखिम बना सकती हैं। लक्ष्य यह है कि रेफ़रल मापें और पेआउट कैलकुलेट करें, लेकिन जितना संभव हो उतना कम पर्सनल डेटा इकट्ठा करें और जो स्टोर करें उसे सुरक्षित रखें।

वास्तव में किन डेटा की ज़रूरत है (और किनकी नहीं)

एक न्यूनतम डेटासेट से शुरू करें जो एट्रिब्यूट और रेकॉन्सिल करने के लिए आवश्यक हो:

  • Partner identifiers: partner_id, campaign_id, और जनरेटेड click_id.
  • Event timestamps: click_time और conversion_time.
  • Attribution context: landing page, referrer domain (पाथ/क्वेरी ट्रंकेट करने पर विचार करें), UTM फ़ील्ड्स, और डिवाइस टाइप (वैकल्पिक)।
  • Order facts: order_id (या internal transaction_id), मुद्रा, नेट राजस्व, और refund स्थिति।

वह डेटा ना रखें जो आवश्यक नहीं है:

  • यदि संभव हो तो पूरे IP पते स्टोर न करें; इसके बजाय coarse संकेत (उदा., देश) का उपयोग करें या IPs को हैश करके रोटेट करें फ्रॉड एनालिसिस के लिए।
  • कच्चे उपयोगकर्ता पहचानकर्ता जैसे ईमेल/फोन न रखें जब तक आपका प्रोडक्ट इसकी स्पष्ट माँग न करे।
  • पर्सनल identifiers की जगह pseudonymous IDs (click_id, internal customer_id) पसंद करें।

कंसेंट और ट्रैकिंग विचार

यदि आप कुकीज़ या समान पहचानकर्ताओं पर निर्भर हैं, तो क्षेत्र अनुसार कंसेंट की आवश्यकता हो सकती है।

  • कुकी बैनर/कंसेंट मैनेजमेंट: अगर आप attribution के लिए गैर-आवश्यक कुकीज़ सेट करते हैं, तो कंसेंट मैकेनिज़्म इंटीग्रेट करें और उपयोगकर्ता की पसंद का सम्मान करें।
  • Opt-out: एक स्पष्ट opt-out पाथ प्रदान करें और सुनिश्चित करें कि opt-out के बाद आपकी ट्रैकिंग बंद हो जाए (या सिर्फ़ आवश्यक संकेतों तक सीमित हो)।
  • क्षेत्रीय आवश्यकताएँ: GDPR/UK GDPR (कानूनी आधार, पारदर्शिता, डेटा न्यूनिकरण), ePrivacy नियम (कुकी कंसेंट), और CCPA/CPRA (नोटिस, अधिकार हैंडलिंग, “Do Not Sell/Share” जहाँ लागू) का पालन करें।

एक व्यावहारिक तरीका यह है कि पार्टनर्स जो कर सकते हैं उनके लिए सर्वर-साइड ट्रैकिंग (postbacks) सपोर्ट करें, और ग्राहक-साइड कुकीज़ को केवल तब उपयोग करें जब अनुमति हो और ज़रूरत हो।

सुरक्षित स्टोरेज और पहुँच

एट्रिब्यूशन और पेआउट डेटा को संवेदनशील व्यावसायिक डेटा मानें, और मानक नियंत्रण लागू करें:

  • एन्क्रिप्शन इन ट्रांज़िट (TLS हर जगह) और एन्क्रिप्शन एट रेस्ट DBs और ऑब्जेक्ट स्टोरेज के लिए।
  • सीक्रेट्स मैनेजमेंट: API keys, webhook secrets, और DB क्रेडेंशियल्स प्रबंधित सीक्रेट वॉल्ट में रखें; नियमित रूप से रोटेट करें।
  • लीस्ट-प्रिविलेज एक्सेस: एडमिन, फ़ाइनेंस, सपोर्ट, और पार्टनर्स के लिए अलग-अलग रोल; DB एक्सेस सीमित करें और scoped tokens का उपयोग करें।

डेटा रिटेंशन पर भी विचार करें: कच्चे इवेंट-लेवल रिकॉर्ड केवल जितना आवश्यक हो उतनी देर रखें, फिर aggregate करें या delete करें।

लॉग हाइजीन (उपयोगकर्ताओं और आपके बिज़नेस की रक्षा)

लॉग्स अक्सर अनजाने में डेटा लीक बन जाते हैं। लॉगिंग नियम स्पष्ट रखें:

  • कभी भी कच्चे पेमेंट विवरण (कार्ड नंबर, बैंक विवरण), पूर्ण बिलिंग पते, या पूर्ण ऑथेंटिकेशन टोकन लॉग न करें।
  • संवेदनशील क्वेरी पैरामीटर्स (उदा., व्यक्तिगत कूपन कोड, सेशन टोकन) redact करें।
  • आंतरिक IDs (order_id, click_id) लॉग करना पसंद करें और किसी संवेदनशील payloads को सुरक्षित स्टोरेज में रखें न कि प्लेन्‍टेक्स्ट लॉग्स में।

एक स्पष्ट प्राइवेसी नोटिस प्रकाशित करें और अपने डेटा फ्लो का दस्तावेज बनाएं। जब पार्टनर्स पूछें कि ट्रैकिंग कैसे काम करती है, आप इसे सहजता से—और सुरक्षित रूप से—समझा सकेंगे।

टेस्टिंग, लॉन्च, और इटरेशन योजना

एक पार्टनर एट्रिब्यूशन सिस्टम तभी उपयोगी है जब पार्टनर्स उस पर भरोसा करें और फ़ाइनेंस उसे reconcile कर सके। टेस्टिंग और लॉन्च को प्रोडक्ट का हिस्सा मानें: आप बिज़नेस नियमों, डेटा इंटीग्रिटी, और ऑपरेशनल वर्कफ़्लो को सत्यापित कर रहे हैं—सिर्फ़ कोड नहीं।

टेस्टिंग चेकलिस्ट (क्या ऑटोमेट करें)

छोटे सेट के “गोल्डन” किरेक्टेरों के साथ शुरू करें जिन्हें आप end-to-end replay कर सकें:

  • यूनिट टेस्ट्स फॉर एट्रिब्यूशन रूल्स: last/first touch चयन, लुकबैक विंडोज, कूपन-वर-क्लिक प्राथमिकता, पार्टनर योग्यता, और edge cases जैसे missing click IDs या कई क्लिक।
  • Webhook replay tests: अपने कन्वर्ज़न स्रोतों (Stripe, Shopify, internal billing) से वास्तविक payloads capture करें, फिर CI में उन्हें replay करें ताकि idempotency, सिग्नेचर वैलिडेशन, और कस्टमर/ऑर्डर मैपिंग सत्यापित हो सके।
  • Time और करेंसी टेस्ट्स: टाइमज़ोन बॉउन्डरीज (midnight, DST), राउंडिंग नियम, रिफंड/चार्जबैक, और मल्टी-करेन्सी रूपांतरण।
  • डेटा इंटीग्रिटी टेस्ट्स: यूनिकनेस constraints (conversion_id), नकारात्मक पेआउट्स नहीं, और “attributed revenue” बनाम “payout basis” के बीच संगति।

नियमों या स्रोतों के बदलने पर बैकफिल रणनीति

एट्रिब्यूशन नियम बदलने से ऐतिहासिक नंबर बदल जाएंगे—इसके लिए स्पष्ट योजना रखें। कच्चे इवेंट्स (क्लिक्स, कन्वर्ज़न्स, रिफंड्स) अपरिवर्तनीय रखें, फिर attribution को versioned tables में पुन: गणना करें (उदा., attribution_results_v1, v2)। बड़े इतिहास के लिए, बैचों (दिन/सप्ताह द्वारा) में बैकफिल करें और एक dry-run मोड रखें जो फ़ाइनेंस के लिए diff रिपोर्ट बनाता है।

लॉन्च योजना

एक छोटे समूह के पार्टनर्स (5–10) के साथ पायलट करें। पायलट के दौरान:

  • पार्टनर रिपोर्ट्स की तुलना फ़ाइनेंस रिकॉर्ड्स के साथ साप्ताहिक रूप से करें (ऑर्डर्स, रिफंड्स, नेट राजस्व, पेआउट राशि)।
  • पायलट अवधि के लिए नियमों को फ्रीज़ रखें; अनोमलियों को लॉग करें बजाय उन्हें चुपचाप “फिक्स” करने के।
  • पार्टनर से स्पष्टता पर फ़ीडबैक लें: क्या एट्रिब्यूट किया गया, क्यों, और क्या बाहर छोड़ा गया।

भरोसा तोड़े बिना इटरेट करें

फीचर फ़्लैग्स के पीछे बदलाव शिप करें, पोर्टल में नियम वर्ज़न को दस्तावेज़ करें, और किसी भी बदलाव की घोषणा करें जो कमाई को प्रभावित कर सकता है।

ऑपरेशनल रूप से, रिपोर्टिंग और पेआउट लॉजिक के लिए तेज़ रोलबैक उपयोगी होता है। यदि आप जल्दी से बना रहे हैं (उदाहरण के लिए Koder.ai के साथ), snapshots और rollback फ़ीचर्स नियम कोड और डैशबोर्ड बदलावों पर सुरक्षित रूप से इटरेट करने में मदद कर सकते हैं जबकि एक जाना-पहचाना-ठीक वर्ज़न तैयार रखें।

यदि आप बाद में पैकेजिंग और ऑनबोर्डिंग का अन्वेषण करना चाहते हैं, तो देखें /pricing, या संबंधित गाइड्स के लिए /blog ब्राउज़ करें।

अक्सर पूछे जाने वाले प्रश्न

व्यावहारिक रूप में पार्टनर राजस्व एट्रिब्यूशन क्या है?

पार्टनर राजस्व एट्रिब्यूशन उन नियमों और डेटा का सेट है जो तय करते हैं कि किस पार्टनर को किसी राजस्व इवेंट का क्रेडिट मिलेगा (और कितना), ऐसे सबूतों के आधार पर जैसे क्लिक ID, कूपन कोड, और समय सीमा।

एक उपयोगी परिभाषा में शामिल हों:

  • क्या एट्रिब्यूट किया जाएगा (पहला ऑर्डर, नेट राजस्व, रिन्यूअल)
  • किसे क्रेडिट मिलेगा (एफिलिएट, एजेंसी, रीसेलर)
  • किन नियमों के तहत (उदारहण: 30 दिनों के अंदर अंतिम-क्लिक, कूपन ओवरराइड, आदि)
मैं पहले वर्जन के लिए एट्रिब्यूशन मॉडल कैसे चुनूं?

एक वाक्य की नीति लिखकर शुरुआत करें, फिर छूटों (exceptions) को सूचीबद्ध करें।

एक ठोस V1 नीति अक्सर ऐसी होती है:

  • डिफ़ॉल्ट मॉडल: अंतिम-क्लिक (last-click)
  • विंडो: 30 दिन
  • सबूत: redirect के ज़रिये कैप्चर किया गया click_id और इसे सर्वर-साइड पर ऑर्डर से जोड़ा जाना

फिर कूपन प्राथमिकता, रिन्यूअल्स, और क्या डायरेक्ट ट्रैफ़िक attribution तोड़ता है—इन जैसे अपवादों का दस्तावेज़ बनाएं।

पेडो को भरोसेमंद बनाने के लिए मुझे सबसे पहले कौन-से इवेंट्स कैप्चर करने चाहिए?

कम से कम निम्नलिखित ट्रैक करें:

  • Click (आपके redirect endpoint पर बनाया गया)
  • Conversion (signup/purchase/renewal; आदर्श रूप में सर्वर-साइड पर रिकॉर्ड किया गया)
  • Refund/chargeback (एक adjustment के रूप में)

भले ही आप बाद में लीड या ट्रायल जोड़ें, ये तीन चीज़ें आपको ट्रैफ़िक → राजस्व → वापसी (reversals) को payout-सुरक्षित तरीके से जोड़ने की क्षमता देती हैं।

पार्टनर लिंक और क्लिक ट्रैकिंग को लागू करने का सबसे सुरक्षित तरीका क्या है?

एक redirect endpoint का उपयोग करें (उदा., /r/{partner_id}) जो:

  1. पार्टनर/कैंपेaign पैरामीटर्स को वैलिडेट करे
  2. एक सर्वर-इश्यूड click_id जनरेट करे
  3. सर्वर-साइड पर एक click row पर्सिस्ट करे
  4. एक फर्स्ट-पार्टी कुकी सेट करे (और वैकल्पिक रूप से localStorage)
  5. अंतिम लैंडिंग पेज पर redirect करे

यह पार्टनर्स को click IDs spoof करने से रोकेगा और ट्रैकिंग को लगातार बनाए रखेगा।

कन्वर्ज़न को विश्वसनीय रूप से क्लिक से कैसे जोड़ा जाए?

आम तौर पर सर्वर-साइड ऑर्डर क्रिएशन को कैननिकल कन्वर्ज़न स्रोत मानें।

व्यवहारिक रूप से:

  • किसी कुकी/सेशन/साइन्ड टोकन से क्लिक संदर्भ पढ़ें
  • click_id (या attribution टोकन) को ऑर्डर बनते समय संलग्न करें
  • भुगतान वेबहुक्स का उपयोग स्थिति अपडेट के लिए करें (paid/refunded), अकेले सत्यापन स्रोत के रूप में नहीं

यह डबल-फायरिंग को कम करता है और फ़ाइनेंस समेकन को आसान बनाता है।

वेबहुक्स और रीट्राइज़ से कन्वर्ज़न की डबल-काउंटिंग कैसे रोकी जाए?

रीट्राइज़ डुप्लीकेट्स से बचने के लिए idempotency keys का प्रयोग करें।

सामान्य कुंजियाँ:

  • order_id (यदि ग्लोबली यूनिक हो तो सर्वोत्तम)
  • payment_provider_charge_id

डेटाबेस में यूनिक कॉन्स्ट्रेंट लागू करें। रिपीट में, सफलता लौटाएं लेकिन दूसरा कन्वर्ज़न या कमीशन लाइन आइटम न बनाएं।

मेरे एट्रिब्यूशन डेटा मॉडल में कौन-से मुख्य एंटिटी होनी चाहिए?

एक ऐसे चेन की कोशिश करें जिसे आप एंड-टू-एंड साबित कर सकें:

  • partner_id → link_id → click_id → visitor_id → conversion_id → order_id → payout_id

आंतरिक और बाह्य दोनों IDs (जैसे shopify_order_id) संग्रहीत करें और created_at, ingested_at जैसे टाइमस्टैम्प रखें ताकि आप विवादों को ट्रेस कर सकें और बिलिंग सिस्टम के साथ reconcile कर सकें।

रिफंड, चार्जबैक, और नेट बनाम ग्रॉस राजस्व को मुझे कैसे संभालना चाहिए?

पैसे और ऑडिटेबिलिटी को ध्यान में रखते हुए मॉडल करें:

  • राशि माइनर यूनिट्स (सेंट्स) में स्टोर करें और currency_code रखें
  • यह निर्णय लें कि कमीशन ग्रॉस पर है या नेट पर (इसे दस्तावेज़ बनाएं)
  • रिफंड/चार्जबैक को adjustment rows के रूप में दर्शाएँ, न कि मूल ऑर्डर को एडिट करें
डे-वन पर पार्टनर पोर्टल में क्या-क्या शामिल होना चाहिए?

दिन एक पर ऐसा सेट शुरू करें जो सपोर्ट टिकट कम करे:

  • लिंक जनरेटर (copy/paste ready)
  • परफ़ॉर्मेंस ओवरव्यू (क्लिक्स, कन्वर्ज़न, एट्रिब्यूटेड राजस्व)
  • कन्वर्ज़न लिस्ट जिसमें status (pending/approved/paid) और rejects के लिए छोटा reason शामिल हो
  • payout summary + payout history

प्रत्येक कन्वर्ज़न को प्रमाण के साथ समझाने योग्य बनाएं: क्लिक टाइम, ऑर्डर ID (मास्क्ड), और लागू नियम जैसे फ़ील्ड दिखाएँ।

एट्रिब्यूशन सिस्टम्स के लिए सबसे महत्वपूर्ण फ्रॉड और प्राइवेसी बेसिक्स क्या हैं?

हल्के, सुसंगत सुरक्षा उपाय अपनाएँ:

  • प्रति पार्टनर/IP/session दर-सीमितियाँ (rate limits)
  • बॉट और विसंगति संकेत (conversion spikes, उच्च क्लिक पर बहुत कम एंगेजमेंट)
  • होल्ड्स (conversions को pending में रखें जब तक refund विंडो पूरा न हो)
  • नियम परिवर्तनों, overrides, और payout adjustments के लिए अपरिवर्तनीय ऑडिट ट्रेल

प्राइवेसी के लिए, न्यूनतम आवश्यक डेटा रखें (pseudonymous IDs), संवेदनशील संकेतों को हैश करें जब संभव हो, और सीक्रेट्स या पेमेंट डेटा को लॉग में न रखें।

विषय-सूची
पार्टनर राजस्व एट्रिब्यूशन को क्या करना चाहिएआवश्यकताएँ और उत्तर देने वाले प्रमुख प्रश्नएट्रिब्यूशन मॉडल और नियम चुनेंएट्रिब्यूशन के लिए डेटा मॉडल डिजाइन करेंक्लिक ट्रैकिंग और पार्टनर लिंक्स लागू करेंकन्वर्ज़न्स को विश्वसनीय रूप से कैप्चर करेंराजस्व कैलकुलेशन, रेकॉन्सिलिएशन और पेआउट लॉजिकपार्टनर पोर्टल और एडमिन डैशबोर्ड बनाएंआर्किटेक्चर और स्केलिंग विचारफ्रॉड प्रतिबंध और डेटा गुणवत्ताप्राइवेसी, सुरक्षा, और अनुपालन बेसिक्सटेस्टिंग, लॉन्च, और इटरेशन योजनाअक्सर पूछे जाने वाले प्रश्न
शेयर करें
Koder.ai
Koder के साथ अपना खुद का ऐप बनाएं आज ही!

Koder की शक्ति को समझने का सबसे अच्छा तरीका खुद देखना है।

मुफ्त शुरू करेंडेमो बुक करें

यह इतिहास को संरक्षित करता है और यदि आवश्यक हो तो अगले payout चक्र में नकारात्मक लाइन आइटम बनाने देता है।