इस गाइड से, IAB Tech Lab Event and Conversion API (ECAPI) का इस्तेमाल करने वाले डेवलपर को, अपने इवेंट और कन्वर्ज़न डेटा को Data Manager API इवेंट के डेटा को इकट्ठा करने वाले स्कीमा से मैप करने में मदद मिलती है.
खास जानकारी
ECAPI, प्लैटफ़ॉर्म से जुड़ा नहीं है. यह एक ओपन-सोर्स डेटा स्टैंडर्ड है. इसे यह तय करने के लिए डिज़ाइन किया गया है कि मार्केटिंग से जुड़े इवेंट और कन्वर्ज़न को कैसे स्ट्रक्चर किया जाए.
यहां दी गई टेबल में, ईसीएपीआई के मुख्य एट्रिब्यूट और डिज़ाइन के सिद्धांतों की तुलना, Data Manager API से की गई है.
| ECAPI | Data Manager API | |
|---|---|---|
| डुप्लीकेट कॉन्टेंट हटाना | id (इवेंट आईडी) पर निर्भर करता है |
transaction_id पर निर्भर करता है |
| इवेंट राउटिंग | इवेंट पेलोड में मौजूद data_set_id फ़ील्ड से, डेटा के डेस्टिनेशन का पता चलता है. |
अनुरोध के destinations फ़ील्ड से, इवेंट के डेस्टिनेशन तय होते हैं.
Data Manager API, एक ही अनुरोध में इवेंट को कई डेस्टिनेशन पर राउट करने की सुविधा भी देता है. ज़्यादा जानकारी के लिए, डेस्टिनेशन गाइड देखें. |
| निजता और सहमति वाले फ़ील्ड | Global Privacy Platform (GPP) की सहमति वाली स्ट्रिंग |
Data Manager API, Global Privacy Platform (GPP) की सहमति वाली स्ट्रिंग को स्वीकार या पार्स नहीं करता. सहमति वाले फ़ील्ड, Consent ऑब्जेक्ट में सेट होने चाहिए.
सहमति को अनुरोध के लेवल पर सेट किया जा सकता है. यह अनुरोध में शामिल सभी इवेंट पर लागू होती है. इसके अलावा, इसे इवेंट के लेवल पर भी सेट किया जा सकता है. इससे आपको अलग-अलग इवेंट के लिए, सहमति की अलग-अलग सेटिंग तय करने का विकल्प मिलता है. |
स्ट्रक्चरल फ़ील्ड मैपिंग
यहां दी गई मैपिंग टेबल से पता चलता है कि ECAPI स्पेसिफ़िकेशन के अलग-अलग फ़ील्ड, Data Manager API के स्वीकार किए गए फ़ील्ड में कैसे ट्रांसलेट होते हैं.
इवेंट ऑब्जेक्ट मैपिंग
ईसीएपीआई (event) |
Data Manager API (Event) |
नोट |
|---|---|---|
data_set_id |
|
इसे इन लेवल पर तय किया जा सकता है:
Destination को तय करने और प्रॉडक्ट डेस्टिनेशन आईडी का पता लगाने के तरीके के बारे में ज़्यादा जानने के लिए, डेस्टिनेशन और हेडर कॉन्फ़िगर करना लेख पढ़ें.
|
id |
transaction_id |
इस वैल्यू का इस्तेमाल, कन्वर्ज़न इवेंट को डुप्लीकेट होने से रोकने के लिए किया जाता है. ज़्यादा जानें. |
timestamp |
event_timestamp |
ज़रूरी है. ECAPI, टाइमस्टैंप के लिए Unix epoch फ़ॉर्मैट (पूर्णांक) का इस्तेमाल करता है.
Data Manager API पर मैप करते समय, event_timestamp फ़ील्ड को इनमें से किसी एक फ़ॉर्मैट में बदलना होगा:
ज़्यादा जानकारी के लिए, टाइमस्टैंप का फ़ॉर्मैट देखें. |
event_type / custom_event |
event_name |
यह सुझाए गए इवेंट का नाम (उदाहरण के लिए, purchase) या कस्टम इवेंट का नाम हो सकता है. ज़्यादा जानकारी के लिए, स्टैंडर्ड इवेंट के नाम देखें. |
user_data |
user_data |
यह UserData ऑब्जेक्ट से मैप करता है, जो UserIdentifier ऑब्जेक्ट की सूची स्वीकार करता है. |
value |
conversion_value |
इसे सीधे तौर पर डबल या फ़्लोट के तौर पर मैप करें. यह कन्वर्ज़न की मॉनेटरी वैल्यू दिखाता है. |
currency_code |
currency |
इसे तीन अक्षरों वाले अपरकेस मुद्रा कोड (उदाहरण के लिए, USD) पर मैप करें. |
source |
event_source |
इसे EventSource enum से मिली वैल्यू पर सेट किया जाता है. |
properties |
|
लेन-देन के लेवल के आइटम को CartData ऑब्जेक्ट में मौजूद cart_data.items ऐरे में मैप किया जा सकता है. Data Manager API, Merchant Center खातों में मौजूद प्रॉडक्ट के लिए कई वैकल्पिक Merchant Center फ़ील्ड के साथ काम करता है.
अगर आपका डेस्टिनेशन, Google Ads कन्वर्ज़न ऐक्शन है, तो custom_variables फ़ील्ड में अतिरिक्त कस्टम पैरामीटर भी शामिल किए जा सकते हैं. इसके लिए, CustomVariable ऑब्जेक्ट की सूची का इस्तेमाल करें.
अगर आपका डेस्टिनेशन, Google Analytics डेटा स्ट्रीम है, तो additional_event_parameters फ़ील्ड में अतिरिक्त इवेंट पैरामीटर शामिल किए जा सकते हैं. इसके लिए, AdditionalEventParameter ऑब्जेक्ट की सूची का इस्तेमाल करें.
|
ext |
कोई मिलती-जुलती रिपोर्ट नहीं |
उपयोगकर्ता के डेटा ऑब्जेक्ट की मैपिंग
Data Manager API में, Event ऑब्जेक्ट पर मौजूद user_data फ़ील्ड, UserData ऑब्जेक्ट स्वीकार करता है. इसमें UserIdentifier ऑब्जेक्ट की सूची की ज़रूरत होती है. इसमें ईमेल पते, फ़ोन नंबर या पते के कॉम्पोनेंट जैसे उपयोगकर्ता के अलग-अलग आइडेंटिफ़ायर शामिल हो सकते हैं.
ईसीएपीआई (user_data) |
Data Manager API (Event) |
नोट |
|---|---|---|
customer_identifier |
user_id (Google Analytics) |
Google Analytics इवेंट के लिए, user_id फ़ील्ड, User-ID को दिखाता है. Data Manager API, अन्य डेस्टिनेशन के लिए सामान्य ग्राहक आईडी फ़ील्ड का इस्तेमाल नहीं करता. |
uids |
कोई मिलती-जुलती रिपोर्ट नहीं | डेटा मैनेजर एपीआई, एजेंट टाइप और डोमेन की जानकारी देने वाले स्ट्रक्चर्ड uids कलेक्शन का इस्तेमाल नहीं करता. |
customer_segments |
user_properties |
Event पर UserProperties तक का मैप. |
email_address |
user_data.user_identifiers[].email_address |
फ़ॉर्मैट किए गए और हैश किए गए ईमेल पते पर सेट किया गया हो. आपके पास हैश किए गए ईमेल पते को एन्क्रिप्ट (सुरक्षित) करने का विकल्प भी होता है. |
phone_numbers |
user_data.user_identifiers[].phone_number |
फ़ॉर्मैट किए गए और हैश किए गए फ़ोन नंबर पर सेट किया जाता है. आपके पास हैश किए गए फ़ोन नंबर को एन्क्रिप्ट (सुरक्षित) करने का विकल्प भी होता है. |
utcoffset |
कोई मिलती-जुलती रिपोर्ट नहीं |
JSON फ़ॉर्मैट का इस्तेमाल करने पर, टाइमज़ोन ऑफ़सेट को सीधे तौर पर RFC 3339 event_timestamp स्ट्रिंग में सेट किया जा सकता है.
अगर प्रोटोकॉल बफ़र का इस्तेमाल किया जा रहा है, तो टाइमज़ोन को सेकंड और नैनोसेकंड में बदलने के लिए, Timestamps.parse(String) जैसे यूटिलिटी फ़ंक्शन का इस्तेमाल किया जा सकता है.
ज़्यादा जानकारी के लिए, टाइमस्टैंप का फ़ॉर्मैट देखें. |
address |
user_data.user_identifiers[].address |
AddressInfo ऑब्जेक्ट से मैप करता है. पता ऑब्जेक्ट मैपिंग देखें. |
gpp_string |
कोई मिलती-जुलती रिपोर्ट नहीं | सहमति को अनुरोध-लेवल या इवेंट-लेवल के Consent ऑब्जेक्ट पर मैप किया जाना चाहिए. निजता और सहमति की खास जानकारी देखें. |
gpp_sid |
कोई मिलती-जुलती रिपोर्ट नहीं | सहमति को अनुरोध-लेवल या इवेंट-लेवल के Consent ऑब्जेक्ट पर मैप किया जाना चाहिए. निजता और सहमति की खास जानकारी देखें. |
mmt_only |
कोई मिलती-जुलती रिपोर्ट नहीं | |
click_id |
ad_identifiers.gclid |
Google क्लिक आईडी (gclid) पर मैप करें. ज़्यादा जानकारी के लिए, AdIdentifiers देखें. |
impression_id |
ad_identifiers.impression_id |
ज़्यादा जानकारी के लिए, AdIdentifiers पर जाएं. |
event_ip_address |
event_device_info.ip_address |
उपलब्ध फ़ील्ड के लिए, DeviceInfo देखें. |
event_user_agent |
event_device_info.user_agent |
उपलब्ध फ़ील्ड के लिए, DeviceInfo देखें. |
ifa |
ad_identifiers.mobile_device_id |
विज्ञापन देने वाले लोगों या कंपनियों के लिए मोबाइल आइडेंटिफ़ायर (iOS पर आईडीएफ़ए, Android पर AdID) पर मैप करें. ज़्यादा जानकारी के लिए, AdIdentifiers देखें. |
landing_ip_address |
ad_identifiers.landing_page_device_info.ip_address |
उपलब्ध फ़ील्ड के लिए, DeviceInfo देखें. |
landing_user_agent |
ad_identifiers.landing_page_device_info.user_agent |
उपलब्ध फ़ील्ड के लिए, DeviceInfo देखें. |
age_range |
कोई मिलती-जुलती रिपोर्ट नहीं | |
gender |
कोई मिलती-जुलती रिपोर्ट नहीं | |
ext |
कोई मिलती-जुलती रिपोर्ट नहीं |
पता ऑब्जेक्ट मैपिंग
ईसीएपीआई (address) |
Data Manager API (AddressInfo) |
नोट |
|---|---|---|
first_name |
given_name |
यह AddressInfo में मौजूद given_name फ़ील्ड से मैप होता है. फ़ॉर्मैटिंग और हैशिंग के दिशा-निर्देशों का पालन करें. पते के हैश किए गए एट्रिब्यूट को भी एन्क्रिप्ट (सुरक्षित) किया जा सकता है. |
last_name |
family_name |
यह AddressInfo में मौजूद family_name फ़ील्ड से मैप होता है. फ़ॉर्मैटिंग और हैशिंग के दिशा-निर्देशों का पालन करें. पते के हैश किए गए एट्रिब्यूट को भी एन्क्रिप्ट (सुरक्षित) किया जा सकता है. |
street |
कोई मिलती-जुलती रिपोर्ट नहीं | Data Manager API में मौजूद नहीं है |
city |
कोई मिलती-जुलती रिपोर्ट नहीं | Data Manager API में मौजूद नहीं है |
state |
कोई मिलती-जुलती रिपोर्ट नहीं | Data Manager API में मौजूद नहीं है |
country_code |
region_code |
हैश न करें. यह AddressInfo में मौजूद region_code फ़ील्ड से मैप होता है. फ़ॉर्मैटिंग से जुड़े दिशा-निर्देशों का पालन करें. |
postal_code |
postal_code |
हैश न करें. यह AddressInfo में मौजूद postal_code फ़ील्ड से मैप होता है. फ़ॉर्मैटिंग से जुड़े दिशा-निर्देशों का पालन करें. |
address_type |
कोई मिलती-जुलती रिपोर्ट नहीं | Data Manager API में मौजूद नहीं है |
ext |
कोई मिलती-जुलती रिपोर्ट नहीं |
आइटम ऑब्जेक्ट मैपिंग
ईसीएपीआई (item) |
Data Manager API (Item) |
नोट |
|---|---|---|
id |
item_id |
Google Analytics इवेंट के लिए ज़रूरी है. इसे आइटम के लिए स्टैंडर्ड यूनीक आइडेंटिफ़ायर पर सेट किया जाता है. |
| कोई मिलती-जुलती रिपोर्ट नहीं | merchant_product_id |
कार्ट डेटा के साथ Google Ads कन्वर्ज़न और Floodlight कन्वर्ज़न के लिए ज़रूरी है. इसे Merchant Center खाते में मौजूद प्रॉडक्ट आईडी पर सेट किया जाता है. |
name |
additional_item_parameters |
additional_item_parameters सूची में item_name के तौर पर मैप करें. |
price |
unit_price |
|
discount |
additional_item_parameters या custom_variables |
additional_item_parameters (Google Analytics के लिए) में discount के तौर पर या custom_variables (Google Ads के लिए) में कस्टम वैरिएबल के तौर पर मैप करें. |
quantity |
quantity |
float वैल्यू को पूर्णांक (int64) में बदलें. |
brand |
additional_item_parameters |
additional_item_parameters सूची में item_brand के तौर पर मैप करें. |
affiliation |
additional_item_parameters |
additional_item_parameters सूची में affiliation के तौर पर मैप करें. |
category |
additional_item_parameters |
additional_item_parameters सूची में item_category के तौर पर मैप करें. |
cattax |
कोई मिलती-जुलती रिपोर्ट नहीं | |
item_coupon |
additional_item_parameters |
additional_item_parameters सूची में coupon के तौर पर मैप करें. |
item_list_id |
additional_item_parameters |
additional_item_parameters सूची में item_list_id के तौर पर मैप करें. |
item_list_name |
additional_item_parameters |
additional_item_parameters सूची में item_list_name के तौर पर मैप करें. |
item_item_variant |
additional_item_parameters |
additional_item_parameters सूची में item_variant के तौर पर मैप करें. |
item_location_id |
additional_item_parameters |
additional_item_parameters में location_id का मैप. |
ext |
कोई मिलती-जुलती रिपोर्ट नहीं |
स्टैंडर्ड इवेंट के नाम
ECAPI के स्टैंडर्ड इवेंट, Google Analytics के नाम रखने से जुड़े नियमों के मुताबिक होते हैं.
- अगर Google Analytics की डेटा स्ट्रीम में इवेंट भेजे जा रहे हैं, तो
event_nameफ़ील्ड ज़रूरी है. - हर इवेंट के लिए, उससे जुड़े फ़ील्ड, पैरामीटर, और Data Manager API के डेटा ट्रांसफ़र के अनुरोधों के सैंपल देखने के लिए, Google Analytics के सुझाए गए इवेंट का रेफ़रंस देखें.
- कस्टम इवेंट भी भेजे जा सकते हैं. हालांकि, इसके लिए ज़रूरी है कि वे इवेंट का नाम रखने के नियमों का पालन करते हों.
ज़्यादातर ECAPI स्टैंडर्ड इवेंट (जैसे कि purchase, add_to_cart, begin_checkout, search, और refund) के इवेंट का नाम, Google Analytics के सुझाए गए इवेंट के नाम जैसा ही होता है. हालांकि, कुछ मामलों में Google Analytics, पास्ट टेंस के बजाय प्रेजेंट टेंस का इस्तेमाल करता है:
viewed_itemमैप सेview_itemतकviewed_item_listमैप सेview_item_listतकviewed_cartमैप सेview_cartतक
अनुरोध के उदाहरण
नीचे दिए गए टैब में, ईसीएपीआई कन्वर्ज़न इवेंट के पेलोड और Data Manager API IngestEventsRequest के तौर पर उसके मान्य वर्शन की तुलना दिखाई गई है.
ECAPI
यहां ECAPI स्पेसिफ़िकेशन के मुताबिक JSON पेलोड का एक सैंपल दिया गया है.
{
"data_set_id": "123456789",
"id": "ABC798654321",
"timestamp": 1781035621,
"event_type": "purchase",
"value": 30.03,
"currency_code": "USD",
"source": "website",
"user_data": {
"customer_identifier": "123456789123456789",
"customer_segments": ["gold_member"],
"email_addresses": [
"3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
],
"address": {
"first_name": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a",
"last_name": "db98d2607efffa28aff66975868bf54c075eca7157e35064dce08e20b85b1081",
"country_code": "US",
"postal_code": "94045"
},
"event_ip_address": "192.0.2.1",
"event_user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"properties": {
"items": [
{
"id": "SKU_12345",
"quantity": 3,
"item_price": 10.01
}
]
}
}
Data Manager API
यहां फ़ॉर्मैट किए गए, हैश किए गए, और कोड में बदले गए इवेंट डेटा के लिए IngestEventsRequest का एक सैंपल दिया गया है. यह Google Ads डेस्टिनेशन के लिए है. इसकी जानकारी डेस्टिनेशन में मौजूद GOOGLE_ADS खाते के टाइप से मिलती है.
{
"destinations": [
{
"operating_account": {
"account_type": "GOOGLE_ADS",
"account_id": "1234567890"
},
"login_account": {
"account_type": "GOOGLE_ADS",
"account_id": "1234567890"
},
"product_destination_id": "123456789"
}
],
"encoding": "HEX",
"events": [
{
"event_name": "purchase",
"transaction_id": "ABC798654321",
"event_timestamp": "2026-06-10T20:07:01Z",
"event_source": "WEB",
"user_properties": {
"additional_user_properties":[
{
"property_name": "customer_segment",
"value": "gold_member"
}
]
},
"user_data": {
"user_identifiers": [
{
"email_address": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"address": {
"given_name": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
"family_name": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
"region_code": "US",
"postal_code": "94045"
}
}
]
},
"event_device_info": {
"ip_address": "192.0.2.1",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"conversion_value": 30.03,
"currency": "USD",
"cart_data": {
"items": [
{
"item_id": "SKU_12345",
"quantity": 3,
"unit_price": 10.01
}
]
}
}
]
}