इवेंट भेजें

इवेंट डेटा भेजने के बारे में जानने के लिए, इस क्विकस्टार्ट गाइड को पढ़ें.

इनमें से किसी भी स्थिति में, Data Manager API का इस्तेमाल करें:

  • ऑनलाइन इवेंट: इवेंट डेटा को अपने टैग कन्वर्ज़न के लिए अतिरिक्त डेटा सोर्स के तौर पर भेजें. इससे विज्ञापन इंटरैक्शन सिग्नल को ज़्यादा से ज़्यादा किया जा सकेगा. साथ ही, आपके डेटा और परफ़ॉर्मेंस को बेहतर बनाया जा सकेगा.

  • ऑफ़लाइन इवेंट: ऑफ़लाइन कन्वर्ज़न या लीड के लिए बेहतर कन्वर्ज़न ट्रैकिंग के लिए, इवेंट का डेटा भेजें.

गाइड का वह वर्शन चुनें जिसे आपको देखना है:

इस क्विकस्टार्ट में, आपको ये काम करने हैं:

  1. इवेंट डेटा पाने के लिए, Destination तैयार करें.
  2. भेजने के लिए इवेंट डेटा तैयार करें.
  3. इवेंट के लिए IngestionService अनुरोध बनाएं.
  4. Google APIs Explorer की मदद से अनुरोध भेजें.
  5. सफल और असफल जवाबों को समझें.

डेस्टिनेशन तैयार करना

डेटा भेजने से पहले, आपको डेस्टिनेशन तैयार करना होगा, ताकि डेटा भेजा जा सके. यहां आपके इस्तेमाल के लिए, Destination का एक सैंपल दिया गया है:

    {
      "operatingAccount": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "CONVERSION_ACTION_1_ID"
    }
  • accountId के operatingAccount को उस Google Ads खाते के आईडी पर सेट करें जिसे इवेंट डेटा मिलेगा. operatingAccount का product, 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

zoe@EXAMPLE.COM

cloudy.sanfrancisco@gmail.com

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

zoe@example.com

cloudysanfrancisco@gmail.com

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

3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250

223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4

given_name 2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450
family_name 6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F
region_code PT
postal_code 1229-076
customer_type RETURNING

डेटा को Event में बदलना

हर इवेंट के फ़ॉर्मैट किए गए और हैश किए गए डेटा को Event में बदलें. इन ज़रूरी फ़ील्ड में जानकारी डालें:

  • event_timestamp: इवेंट होने का समय.
  • transaction_id: इवेंट के लिए यूनीक आइडेंटिफ़ायर.
  • event_source: इवेंट का सोर्स. ऑफ़लाइन इवेंट के लिए ज़रूरी है. ऑनलाइन इवेंट के लिए ज़रूरी नहीं है. अगर इसे किसी ऑनलाइन इवेंट के लिए तय किया गया है, तो यह WEB होना चाहिए.
  • ad_identifiers या user_data: इवेंट में विज्ञापन आइडेंटिफ़ायर या उपयोगकर्ता का डेटा होना चाहिए. अगर आपके पास इवेंट के लिए दोनों हैं, तो दोनों भेजें.

उपलब्ध फ़ील्ड की पूरी सूची देखने के लिए, 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": {
        "product": "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
}
  1. बॉडी में मौजूद प्लेसहोल्डर अपडेट करें. जैसे, OPERATING_ACCOUNT_ID और CONVERSION_ACTION_1_ID को अपने खाते और डेस्टिनेशन की वैल्यू के साथ अपडेट करें.
  2. बदलावों को लागू किए बिना अनुरोध की पुष्टि करने के लिए, validateOnly को true पर सेट करें. जब आपको बदलाव लागू करने हों, तब validateOnly को false पर सेट करें.
  3. ध्यान दें कि इस उदाहरण में एन्क्रिप्शन का इस्तेमाल नहीं किया गया है.

अनुरोध भेजें

  1. सैंपल के सबसे ऊपर दाईं ओर मौजूद 'कॉपी करें' बटन का इस्तेमाल करके, अनुरोध के मुख्य हिस्से को कॉपी करें.
  2. events.ingest पेज पर जाएं.
  3. दाईं ओर मौजूद API बटन पर क्लिक करें. इसके बाद, बड़े किए गए सेक्शन में मौजूद इसे आज़माएं! बटन पर क्लिक करें.
  4. कॉपी किए गए अनुरोध के मुख्य भाग को अनुरोध का मुख्य भाग बॉक्स में चिपकाएं.
  5. लागू करें बटन पर क्लिक करें. इसके बाद, पुष्टि करने के लिए दिए गए निर्देशों का पालन करें और जवाब की समीक्षा करें.

सक्सेस रिस्पॉन्स

अनुरोध पूरा होने पर, जवाब में एक ऐसा ऑब्जेक्ट मिलता है जिसमें requestId शामिल होता है.

{
  "requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}

जवाब नहीं मिलने पर मिलने वाले जवाब

अनुरोध पूरा न होने पर, गड़बड़ी के जवाब का स्टेटस कोड मिलता है. जैसे, 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": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "123456789"
      "reference": "conversion_action_1"
    },
    {
      "operatingAccount": {
        "product": "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 फ़ील्ड एक सूची है. इसलिए, किसी इवेंट के लिए एक से ज़्यादा डेस्टिनेशन तय किए जा सकते हैं. अगर आपने किसी destination_references का destination_references सेट नहीं किया है, तो Data Manager API, अनुरोध में शामिल सभी डेस्टिनेशन को इवेंट भेजता है.Event

अगले चरण