इवेंट डेटा भेजने के बारे में जानने के लिए, इस क्विकस्टार्ट गाइड को पढ़ें.
इनमें से किसी भी स्थिति में, Data Manager API का इस्तेमाल करें:
- ऑनलाइन इवेंट: इवेंट डेटा को अपने टैग कन्वर्ज़न के लिए अतिरिक्त डेटा सोर्स के तौर पर भेजें. इससे विज्ञापन इंटरैक्शन के सिग्नल को ज़्यादा से ज़्यादा किया जा सकेगा. साथ ही, आपके डेटा और परफ़ॉर्मेंस को बेहतर बनाया जा सकेगा. 
- ऑफ़लाइन इवेंट: ऑफ़लाइन कन्वर्ज़न या लीड के लिए बेहतर कन्वर्ज़न ट्रैकिंग के लिए, इवेंट का डेटा भेजें. 
गाइड का वह वर्शन चुनें जिसे आपको देखना है:
इस क्विकस्टार्ट में, आपको यह काम करना होगा:
- इवेंट डेटा पाने के लिए, Destinationतैयार करें.
- भेजने के लिए इवेंट डेटा तैयार करें.
- इवेंट के लिए IngestionServiceअनुरोध बनाएं.
- Google APIs Explorer की मदद से अनुरोध भेजें.
- सफल और असफल जवाबों के बारे में जानें.
डेस्टिनेशन तैयार करना
डेटा भेजने से पहले, आपको डेस्टिनेशन को डेटा भेजने के लिए तैयार करना होगा. यहां आपके इस्तेमाल के लिए, Destination का एक सैंपल दिया गया है:
    {
      "operatingAccount": {
        "accountType": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },
      "productDestinationId": "CONVERSION_ACTION_1_ID"
    }
- accountIdको उस Google Ads खाते के आईडी पर सेट करें जिसे इवेंट डेटा मिलेगा.- operatingAccount- operatingAccountका- accountType,- GOOGLE_ADSहोना चाहिए.
- productDestinationIdको इवेंट के लिए कन्वर्ज़न ऐक्शन के आईडी पर सेट करें. ऑनलाइन इवेंट के लिए, कन्वर्ज़न ऐक्शन, Google Ads कन्वर्ज़न ऐक्शन होना चाहिए. साथ ही,- typeको- WEBPAGEपर सेट किया जाना चाहिए. ऑफ़लाइन इवेंट के लिए, कन्वर्ज़न ऐक्शन ऐसा Google Ads कन्वर्ज़न ऐक्शन होना चाहिए जिसमें- typeको- UPLOAD_CLICKSपर सेट किया गया हो.- इस गाइड में, ऐसा अनुरोध बनाने का तरीका बताया गया है जो हर इवेंट को एक ही कन्वर्ज़न ऐक्शन पर भेजता है. अगर आपको एक ही अनुरोध में, कई कन्वर्ज़न ऐक्शन के लिए इवेंट भेजने हैं, तो एक से ज़्यादा डेस्टिनेशन लेख पढ़ें. 
इवेंट डेटा तैयार करना
यहां दिए गए इवेंट डेटा पर ध्यान दें. हर टेबल, एक कन्वर्ज़न इवेंट से जुड़ी होती है. हर कन्वर्ज़न इवेंट में, इवेंट का टाइमस्टैंप, उसका कन्वर्ज़न ऐक्शन, और कन्वर्ज़न वैल्यू होती है.
हर इवेंट में विज्ञापन आइडेंटिफ़ायर हो सकते हैं, जैसे कि gclid. इसके अलावा, उपयोगकर्ता आइडेंटिफ़ायर भी हो सकते हैं, जैसे कि ईमेल पते, फ़ोन नंबर, और पते की जानकारी. किसी इवेंट में, इवेंट के समय उपयोगकर्ता के बारे में जानकारी भी हो सकती है. जैसे, ग्राहक की वैल्यू या वह नया, लौटा हुआ या फिर से जुड़ा हुआ ग्राहक है या नहीं.
यहां पहले इवेंट का डेटा दिया गया है:
| इवेंट #1 | |
|---|---|
| conversion_time | 2025-06-10 15:07:01-05:00 | 
| conversion_action_id | 123456789 | 
| transaction_id | ABC798654321 | 
| conversion_value | 1.99 | 
| currency | USD | 
| gclid | GCLID_1 | 
| emails |  | 
| given_name | John | 
| family_name | Smith-Jones | 
| region_code | us | 
| postal_code | 94045 | 
| customer_type | NEW | 
| customer_value_bucket | HIGH | 
यहां दूसरे इवेंट का डेटा दिया गया है:
| इवेंट #2 | |
|---|---|
| conversion_time | June 10, 2025 11:42:33PM America/New_York | 
| conversion_action_id | 123456789 | 
| transaction_id | DEF999911111 | 
| conversion_value | 3.25 | 
| currency | eur | 
| gclid | GCLID_2 | 
| emails | 
 
 | 
| given_name | zoë | 
| family_name | pérez | 
| region_code | PT | 
| postal_code | 1229-076 | 
| customer_type | RETURNING | 
डेटा को फ़ॉर्मैट करना
फ़ॉर्मैटिंग गाइड में दिए गए निर्देशों के मुताबिक, फ़ील्ड को फ़ॉर्मैट करें. फ़ॉर्मैट करने के बाद, पहले इवेंट का डेटा यहां दिया गया है:
| इवेंट #1 | |
|---|---|
| conversion_time | 2025-06-10 15:07:01-05:00 | 
| conversion_action_id | 123456789 | 
| transaction_id | ABC798654321 | 
| conversion_value | 1.99 | 
| currency | USD | 
| gclid | GCLID_1 | 
| emails |  | 
| given_name | john | 
| family_name | smith-jones | 
| region_code | US | 
| postal_code | 94045 | 
| customer_type | NEW | 
| customer_value_bucket | HIGH | 
यहां फ़ॉर्मैट करने के बाद, दूसरे इवेंट का डेटा दिया गया है:
| इवेंट #2 | |
|---|---|
| conversion_time | 2025-06-10T23:42:33-05:00 | 
| conversion_action_id | 123456789 | 
| transaction_id | DEF999911111 | 
| conversion_value | 3.25 | 
| currency | EUR | 
| gclid | GCLID_2 | 
| emails | 
 
 | 
| given_name | zoë | 
| family_name | pérez | 
| region_code | PT | 
| postal_code | 1229-076 | 
| customer_type | RETURNING | 
डेटा को हैश और एन्कोड करना
इसके अलावा, फ़ॉर्मैट किए गए ईमेल पतों, नामों, और उपनामों को SHA-256 एल्गोरिदम का इस्तेमाल करके हैश किया जाना चाहिए. साथ ही, उन्हें हेक्स या Base64 एन्कोडिंग का इस्तेमाल करके कोड में बदला जाना चाहिए. यहां हेक्स कोडिंग का इस्तेमाल करके, फ़ॉर्मैट करने, हैश करने, और कोड में बदलने के बाद पहले इवेंट का डेटा दिया गया है:
| इवेंट #1 | |
|---|---|
| conversion_time | 2025-06-10 15:07:01-05:00 | 
| conversion_action_id | 123456789 | 
| transaction_id | ABC798654321 | 
| conversion_value | 1.99 | 
| currency | USD | 
| gclid | GCLID_1 | 
| emails |  | 
| given_name | 96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A | 
| family_name | DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081 | 
| region_code | US | 
| postal_code | 94045 | 
| customer_type | NEW | 
| customer_value_bucket | HIGH | 
यहां हेक्स कोडिंग का इस्तेमाल करके, फ़ॉर्मैट करने, हैश करने, और कोड में बदलने के बाद दूसरे इवेंट का डेटा दिया गया है:
| इवेंट #2 | |
|---|---|
| conversion_time | 2025-06-10T23:42:33-05:00 | 
| conversion_action_id | 123456789 | 
| transaction_id | DEF999911111 | 
| conversion_value | 3.25 | 
| currency | EUR | 
| gclid | GCLID_2 | 
| emails | 
 
 | 
| given_name | 2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450 | 
| family_name | 6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F | 
| region_code | PT | 
| postal_code | 1229-076 | 
| customer_type | RETURNING | 
डेटा को Event में बदलना
हर इवेंट के फ़ॉर्मैट किए गए और हैश किए गए डेटा को Event में बदलें. इन ज़रूरी फ़ील्ड में जानकारी डालें:
- event_timestamp: इवेंट होने का समय.
- event_source: इवेंट का सोर्स. ऑफ़लाइन इवेंट के लिए ज़रूरी है. ऑनलाइन इवेंट के लिए ज़रूरी नहीं है. अगर इसे किसी ऑनलाइन इवेंट के लिए तय किया गया है, तो यह- WEBहोना चाहिए.
- ad_identifiersया- user_data: इवेंट में विज्ञापन आइडेंटिफ़ायर या उपयोगकर्ता का डेटा होना चाहिए. अगर आपके पास इवेंट के लिए दोनों हैं, तो दोनों भेजें.
अगर आपको परफ़ॉर्मेंस और डेटा की क्वालिटी को बेहतर बनाने के लिए, ऑफ़लाइन कन्वर्ज़न को अतिरिक्त डेटा सोर्स के तौर पर भेजना है, तो transaction_id ज़रूरी है. हालांकि, transaction_id ज़रूरी नहीं है, लेकिन इसका सुझाव दिया जाता है.
उपलब्ध फ़ील्ड की पूरी सूची देखने के लिए, Event रेफ़रंस दस्तावेज़ देखें. जिस फ़ील्ड के लिए आपके पास इवेंट की वैल्यू है उसमें वैल्यू डालें.
यहां दूसरे इवेंट के फ़ॉर्मैट किए गए, हैश किए गए, और एन्कोड किए गए डेटा के लिए Event का एक सैंपल दिया गया है:
{
   "adIdentifiers": {
      "gclid": "GCLID_2"
   },
   "conversionValue": 3.25,
   "currency": "EUR",
   "eventTimestamp": "2025-06-10T23:42:33-05:00",
   "transactionId": "DEF999911111",
   "eventSource": "WEB",
   "userData": {
      "userIdentifiers": [
         {
            "emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
         },
         {
            "emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
         },
         {
            "address": {
              "givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
              "familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
              "regionCode": "PT",
              "postalCode": "1229-076"
            }
         }
      ],
      "userProperties": {
        "customerType": "RETURNING"
      }
   }
}
अनुरोध का मुख्य हिस्सा बनाना
अनुरोध के मुख्य हिस्से के लिए, Destination और Events को एक साथ इस्तेमाल करें:
{
  "destinations": [
    {
      "operatingAccount": {
        "accountType": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },
      "productDestinationId": "CONVERSION_ACTION_1_ID"
    }
  ],
  "encoding": "HEX",
  "events": [
     {
       "adIdentifiers": {
         "gclid": "GCLID_1"
       },
       "conversionValue": 1.99,
       "currency": "USD",
       "eventTimestamp": "2025-06-10T20:07:01Z",
       "transactionId": "ABC798654321",
       "eventSource": "WEB",
       "userData": {
         "userIdentifiers": [
           {
             "address": {
               "givenName": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
               "familyName": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
               "regionCode": "US",
               "postalCode": "94045"
             }
           }
         ]
       },
       "userProperties": {
         "customerType": "NEW",
         "customerValueBucket": "HIGH"
       }
     },
     {
       "adIdentifiers": {
         "gclid": "GCLID_2"
       },
       "conversionValue": 3.25,
       "currency": "EUR",
       "eventTimestamp": "2025-06-11T04:42:33Z",
       "transactionId": "DEF999911111",
       "eventSource": "WEB",
       "userData": {
         "userIdentifiers": [
           {
             "emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
           },
           {
             "emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
           },
           {
             "address": {
               "givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
               "familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
               "regionCode": "PT",
               "postalCode": "1229-076"
             }
           }
         ]
       },
       "userProperties": {
         "customerType": "RETURNING"
       }
     }
  ],
  "validateOnly": true
}
- बॉडी में मौजूद प्लेसहोल्डर अपडेट करें. जैसे, OPERATING_ACCOUNT_IDऔरCONVERSION_ACTION_1_IDको अपने खाते और डेस्टिनेशन की वैल्यू के साथ अपडेट करें.
- बदलावों को लागू किए बिना अनुरोध की पुष्टि करने के लिए, validateOnlyकोtrueपर सेट करें. जब आपको बदलाव लागू करने हों, तबvalidateOnlyकोfalseपर सेट करें.
- ध्यान दें कि इस उदाहरण में एन्क्रिप्शन का इस्तेमाल नहीं किया गया है.
अनुरोध भेजें
- सैंपल के सबसे ऊपर दाईं ओर मौजूद 'कॉपी करें' बटन का इस्तेमाल करके, अनुरोध के मुख्य हिस्से को कॉपी करें.
- टूलबार में मौजूद, API बटन पर क्लिक करें.
- कॉपी किए गए अनुरोध के मुख्य भाग को अनुरोध का मुख्य भाग बॉक्स में चिपकाएं.
- लागू करें बटन पर क्लिक करें. इसके बाद, पुष्टि करने के लिए दिए गए निर्देशों का पालन करें और जवाब की समीक्षा करें.
सक्सेस रिस्पॉन्स
अनुरोध पूरा होने पर, जवाब में एक ऐसा ऑब्जेक्ट मिलता है जिसमें requestId शामिल होता है.
{
  "requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}
लौटाए गए requestId को रिकॉर्ड करें, ताकि अनुरोध में मौजूद हर डेस्टिनेशन को प्रोसेस करते समय, डाइग्नोस्टिक्स को वापस पाया जा सके.
जवाब नहीं मिला
अनुरोध पूरा न होने पर, गड़बड़ी के जवाब का स्टेटस कोड मिलता है. जैसे, 400 Bad
Request. साथ ही, गड़बड़ी की जानकारी वाला जवाब मिलता है.
उदाहरण के लिए, अगर email_address में हेक्स कोड में बदली गई वैल्यू के बजाय, सामान्य टेक्स्ट वाली स्ट्रिंग शामिल की जाती है, तो यह जवाब मिलता है:
{
  "error": {
    "code": 400,
    "message": "There was a problem with the request.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_ARGUMENT",
        "domain": "datamanager.googleapis.com"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "events.events[0].user_data.user_identifiers",
            "description": "Email is not hex encoded.",
            "reason": "INVALID_HEX_ENCODING"
          }
        ]
      }
    ]
  }
}
हैश नहीं किए गए और सिर्फ़ हेक्स फ़ॉर्मैट में एन्कोड किए गए email_address से, यह जवाब मिलता है:
{
  "error": {
    "code": 400,
    "message": "There was a problem with the request.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_ARGUMENT",
        "domain": "datamanager.googleapis.com"
      },
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "events.events[0]",
            "reason": "INVALID_SHA256_FORMAT"
          }
        ]
      }
    ]
  }
}
एक से ज़्यादा डेस्टिनेशन के लिए इवेंट भेजना
अगर आपके डेटा में अलग-अलग डेस्टिनेशन के लिए इवेंट शामिल हैं, तो डेस्टिनेशन के रेफ़रंस का इस्तेमाल करके, उन्हें एक ही अनुरोध में भेजा जा सकता है.
उदाहरण के लिए, अगर आपके पास कन्वर्ज़न ऐक्शन आईडी 123456789 के लिए एक इवेंट है और कन्वर्ज़न ऐक्शन आईडी 777111122 के लिए दूसरा इवेंट है, तो हर Destination का reference सेट करके, दोनों इवेंट को एक ही अनुरोध में भेजें. reference को उपयोगकर्ता तय करता है. ज़रूरी शर्त सिर्फ़ यह है कि हर Destination का यूनीक reference हो. अनुरोध के लिए, बदली गई destinations सूची यहां दी गई है:
  "destinations": [
    {
      "operatingAccount": {
        "accountType": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },
      "productDestinationId": "123456789",
      "reference": "conversion_action_1"
    },
    {
      "operatingAccount": {
        "accountType": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },
      "productDestinationId": "777111122",
      "reference": "conversion_action_2"
    }
  ]
हर Event का destination_references सेट करें, ताकि उसे एक या उससे ज़्यादा डेस्टिनेशन पर भेजा जा सके. उदाहरण के लिए, यहां एक Event दिया गया है. यह सिर्फ़ पहले Destination के लिए है. इसलिए, इसकी destination_references सूची में सिर्फ़ पहले Destination का reference शामिल है:
{
   "adIdentifiers": {
      "gclid": "GCLID_1"
   },
   "conversionValue": 1.99,
   "currency": "USD",
   "eventTimestamp": "2025-06-10T20:07:01Z",
   "transactionId": "ABC798654321",
   "eventSource": "WEB",
   "destinationReferences": [
      "conversion_action_1"
   ]
}
destination_references फ़ील्ड एक सूची है. इसलिए, किसी इवेंट के लिए एक से ज़्यादा डेस्टिनेशन तय किए जा सकते हैं. अगर आपने किसी Event का destination_references सेट नहीं किया है, तो Data Manager API, अनुरोध में शामिल सभी डेस्टिनेशन को इवेंट भेजता है.
अगले चरण
- क्लाइंट लाइब्रेरी की मदद से, पुष्टि करने की सुविधा कॉन्फ़िगर करें और अपना एनवायरमेंट सेट अप करें.
- हर तरह के डेटा के लिए, फ़ॉर्मैटिंग, हैशिंग, और एन्कोडिंग से जुड़ी ज़रूरी शर्तों के बारे में जानें.
- उपयोगकर्ता के डेटा को एन्क्रिप्ट (सुरक्षित) करने का तरीका जानें.
- अपने अनुरोधों के लिए गड़बड़ी से जुड़ी जानकारी पाने का तरीका जानें.
- सबसे सही तरीकों के बारे में जानें.
- सीमाओं और कोटा के बारे में जानें.