फ़ील्ड मैपिंग

टेबल में दी गई मैपिंग का इस्तेमाल करके, Google Ads API के तरीकों और फ़ील्ड को Data Manager API में उनके IngestEventsRequest के बराबर मैप करें.

पुष्टि करना

डेटा मैनेजर एपीआई के लिए, Google Ads API से अलग स्कोप वाले क्रेडेंशियल की ज़रूरत होती है. एपीआई ऐक्सेस सेट अप करें में दिया गया तरीका अपनाकर, नए क्रेडेंशियल जनरेट करें. इनमें Data Manager API का स्कोप शामिल होना चाहिए.

एपीआई के तरीके

Data Manager API की मदद से, स्टोर में होने वाली बिक्री के इवेंट के हर बैच को एक ही IngestEventsRequest में अपलोड किया जा सकता है.

वहीं, Google Ads API में OfflineUserDataJobService का इस्तेमाल करके, तीन चरणों वाली प्रोसेस की ज़रूरत होती थी:

  1. CreateOfflineUserDataJob का इस्तेमाल करके कोई जॉब बनाएं
  2. AddOfflineUserDataJobOperations का इस्तेमाल करके, जॉब में कार्रवाइयां जोड़ें
  3. RunOfflineUserDataJob का इस्तेमाल करके जॉब चलाएं

अनुरोध के फ़ील्ड

हर IngestEventsRequest के लिए, अनुरोध करने की सीमाएं लागू होती हैं. अगर आपके AddOfflineUserDataJobOperations अनुरोध में कार्रवाइयों की संख्या इन सीमाओं से ज़्यादा है, तो आपको इसे Data Manager API के डेटा डालने के कई अनुरोधों में बांटना होगा.

यहां बताया गया है कि Google Ads API के अनुरोधों के फ़ील्ड, Data Manager API से कैसे मैप होते हैं.

CreateOfflineUserDataJobRequest

इस टेबल में बताया गया है कि CreateOfflineUserDataJobRequest के फ़ील्ड, IngestEventsRequest से कैसे मैप होते हैं.

CreateOfflineUserDataJobRequest (Google Ads API) IngestEventsRequest (Data Manager API) नोट
customer_id destinations.operating_account ग्राहक और कन्वर्ज़न ऐक्शन फ़ील्ड देखें.
  • developer-token अनुरोध का हेडर
  • login-customer_id अनुरोध का हेडर
  • linked-customer-id अनुरोध का हेडर
destinations ग्राहक और कन्वर्ज़न ऐक्शन फ़ील्ड देखें.
  • job.status
  • job.failure_reason
गड़बड़ी की जानकारी अपलोड किए गए कन्वर्ज़न की डाइग्नोस्टिक्स जानकारी पाने के लिए, IngestEventsResponse में दिखाए गए request_id का इस्तेमाल करें.
job.id request_id अपलोड किए गए कन्वर्ज़न की डाइग्नोस्टिक्स जानकारी पाने के लिए, IngestEventsResponse में मिले request_id का इस्तेमाल करें.
job.external_id कोई मिलती-जुलती रिपोर्ट नहीं
job.type कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.third_party_metadata.partner_id destinations.login_account स्टोर में हुई खरीदारी वाले कन्वर्ज़न अपलोड करने वाले डेटा पार्टनर की पहचान, डेस्टिनेशन के login_account से की जाएगी. ज़्यादा जानकारी के लिए, डेस्टिनेशन कॉन्फ़िगर करना लेख पढ़ें.
job.store_sales_metadata.third_party_metadata.advertiser_upload_date_time कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.third_party_metadata.valid_transaction_fraction कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.third_party_metadata.partner_match_fraction कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.third_party_metadata.partner_upload_fraction कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.third_party_metadata.bridge_map_version_id कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.loyalty_fraction कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.transaction_upload_fraction कोई मिलती-जुलती रिपोर्ट नहीं
job.store_sales_metadata.custom_key
  • events[].custom_variables[].variable
  • events[].cart_data.items[].custom_variables[].variable
इवेंट लेवल पर CustomVariable या आइटम लेवल पर ItemCustomVariable के variable फ़ील्ड पर मैप करें.
enable_match_rate_range_preview कोई मिलती-जुलती रिपोर्ट नहीं
validate_only validate_only
कोई मिलती-जुलती रिपोर्ट नहीं consent Google Ads API, UserData में इवेंट लेवल पर सिर्फ़ consent को तय करने की सुविधा देता है. Data Manager API के लिए, किसी अनुरोध में मौजूद सभी इवेंट के लिए सहमति की जानकारी दी जा सकती है. इसके लिए, IngestEventsRequest पर consent फ़ील्ड सेट करें. Event के consent फ़ील्ड को सेट करके, किसी इवेंट के लिए इस वैल्यू को बदला जा सकता है.
कोई मिलती-जुलती रिपोर्ट नहीं encoding UserData अपलोड करने के लिए ज़रूरी है. UserIdentifier वैल्यू के लिए इस्तेमाल किए गए Encoding पर सेट करें.
कोई मिलती-जुलती रिपोर्ट नहीं encryption_info अगर अनुरोध में एन्क्रिप्ट (सुरक्षित) किए गए UserData यूज़र आइडेंटिफ़ायर शामिल हैं, तो इसे सेट करें. ज़्यादा जानकारी के लिए, एन्क्रिप्ट (सुरक्षित) करना लेख पढ़ें.

AddOfflineUserDataJobOperationsRequest

इस टेबल में बताया गया है कि AddOfflineUserDataJobOperationsRequest के फ़ील्ड, IngestEventsRequest से कैसे मैप होते हैं.

AddOfflineUserDataJobOperationsRequest (Google Ads API) IngestEventsRequest (Data Manager API) नोट
  • developer-token अनुरोध का हेडर
  • login-customer_id अनुरोध का हेडर
  • linked-customer-id अनुरोध का हेडर
destinations ग्राहक और कन्वर्ज़न ऐक्शन फ़ील्ड देखें.
resource_name कोई मिलती-जुलती रिपोर्ट नहीं Data Manager API को जॉब रिसॉर्स अपडेट करने की ज़रूरत नहीं होती.
enable_partial_failure कोई मिलती-जुलती रिपोर्ट नहीं अगर IngestEventsRequest सफल होता है, तो डाउनस्ट्रीम प्रोसेसिंग के दौरान होने वाली किसी भी गड़बड़ी को इवेंट लेवल पर मैनेज किया जाता है. इससे, कुछ हद तक सफलता मिल सकती है. Diagnostics का इस्तेमाल करके, अपने अपलोड की स्थिति के साथ-साथ अलग-अलग इवेंट के लिए गड़बड़ियों और चेतावनियों की जानकारी पाएं. अगर IngestEventsRequest काम नहीं करता (उदाहरण के लिए, BadRequest की वजह से), तो कोई भी इवेंट प्रोसेस नहीं किया जाता. आपको गड़बड़ी को ठीक करना होगा और अनुरोध फिर से करना होगा. ज़्यादा जानकारी के लिए, एपीआई की गड़बड़ियों को समझना लेख पढ़ें.
enable_warnings कोई मिलती-जुलती रिपोर्ट नहीं Data Manager API के अनुरोध से जुड़ी चेतावनियां पाने के लिए, डाइग्नोस्टिक्स का इस्तेमाल करें. आपको इसे चालू करने की ज़रूरत नहीं है.
operations events OfflineUserDataJobOperation.create कार्रवाई, IngestEventsRequest भेजने के बराबर है. Data Manager API की मदद से, इवेंट नहीं हटाए जा सकते.
validate_only validate_only
कोई मिलती-जुलती रिपोर्ट नहीं consent Google Ads API, UserData में इवेंट लेवल पर सिर्फ़ consent को तय करने की सुविधा देता है. Data Manager API के लिए, किसी अनुरोध में मौजूद सभी इवेंट के लिए सहमति की जानकारी दी जा सकती है. इसके लिए, IngestEventsRequest पर consent फ़ील्ड सेट करें. Event के consent फ़ील्ड को सेट करके, किसी इवेंट के लिए इस वैल्यू को बदला जा सकता है.
कोई मिलती-जुलती रिपोर्ट नहीं encoding UserData अपलोड करने के लिए ज़रूरी है. UserIdentifier वैल्यू के लिए इस्तेमाल किए गए Encoding पर सेट करें.
कोई मिलती-जुलती रिपोर्ट नहीं encryption_info अगर अनुरोध में एन्क्रिप्ट (सुरक्षित) किए गए UserData यूज़र आइडेंटिफ़ायर शामिल हैं, तो इसे सेट करें. ज़्यादा जानकारी के लिए, एन्क्रिप्ट (सुरक्षित) करना लेख पढ़ें.

ग्राहक और कन्वर्ज़न ऐक्शन फ़ील्ड

Google Ads API के लिए, developer-token अनुरोध का हेडर ज़रूरी है. साथ ही, आपको पुष्टि करने की अलग-अलग स्थितियों के लिए, login-customer-id और linked-customer-id अनुरोध का हेडर सेट करने होंगे.

डेटा मैनेजर एपीआई के लिए, डेवलपर टोकन की ज़रूरत नहीं होती. साथ ही, अनुरोध हेडर के बजाय Destination के फ़ील्ड का इस्तेमाल करके, लॉगिन और लिंक किए गए ग्राहक की जानकारी दी जाती है. डेस्टिनेशन के बारे में ज़्यादा जानकारी के लिए, डेस्टिनेशन कॉन्फ़िगर करें लेख पढ़ें.

Google Ads API Destination (Data Manager API) नोट
customer_id of the request operating_account account_id को Google Ads कन्वर्ज़न खाते के ग्राहक आईडी पर सेट करें. operating_account के account_type को GOOGLE_ADS पर सेट करें.
developer-token अनुरोध का हेडर कोई मिलती-जुलती रिपोर्ट नहीं Data Manager API के लिए, डेवलपर टोकन की ज़रूरत नहीं होती.
login-customer-id अनुरोध का हेडर login_account account_id को लॉगिन खाते के ग्राहक आईडी पर सेट करें. अगर लॉगिन खाता Google Ads खाता है, तो account_type को GOOGLE_ADS पर सेट करें. अगर लॉगिन खाता डेटा पार्टनर खाता है, तो DATA_PARTNER पर सेट करें.
linked-customer-id अनुरोध का हेडर linked_account अगर पार्टनर लिंक का इस्तेमाल करके operating_account को ऐक्सेस किया जा रहा है, तो account_id को लिंक किए गए खाते के ग्राहक आईडी पर सेट करें. साथ ही, account_type को DATA_PARTNER पर सेट करें. अगर ऐसा नहीं है, तो linked_account फ़ील्ड को सेट न करें.
conversion_action product_destination_id कन्वर्ज़न ऐक्शन के न्यूमेरिक आईडी पर सेट करें. संसाधन के नाम का इस्तेमाल न करें.

इवेंट की जानकारी देने वाले फ़ील्ड

यहां दी गई टेबल में बताया गया है कि स्टोर में हुई खरीदारी वाले कन्वर्ज़न के फ़ील्ड, दोनों एपीआई के बीच कैसे मैप होते हैं.

Google Ads API में, ItemAttribute का इस्तेमाल करके हर लेन-देन में सिर्फ़ एक आइटम शामिल किया जा सकता है. हालांकि, Data Manager API में, CartData में हर इवेंट के लिए कई आइटम शामिल किए जा सकते हैं.

OfflineUserDataJobOperation.create (Google Ads API) Event (Data Manager API) नोट
कोई मिलती-जुलती रिपोर्ट नहीं event_source ज़रूरी है स्टोर में हुई खरीदारी वाले कन्वर्ज़न के लिए, इसे IN_STORE पर सेट करें.
transaction_attribute.conversion_action destinations.product_destination_id ग्राहक और कन्वर्ज़न ऐक्शन फ़ील्ड देखें. संसाधन के नाम के बजाय, कन्वर्ज़न ऐक्शन के न्यूमेरिक आईडी का इस्तेमाल करें.
transaction_attribute.transaction_date_time event_timestamp
  • JSON फ़ॉर्मैट का इस्तेमाल करने पर, वैल्यू को आरएफ़सी 3339 फ़ॉर्मैट में सेट करें. यह Google Ads API की तारीख और समय के फ़ॉर्मैट से थोड़ा अलग होता है.
  • प्रोटोकॉल बफ़र का इस्तेमाल करने पर, Timestamp का इस्तेमाल करें. साथ ही, seconds और (ज़रूरी नहीं) nanoseconds फ़ील्ड सेट करें.

ज़्यादा जानकारी के लिए, टाइमस्टैंप का फ़ॉर्मैट देखें.
transaction_attribute.transaction_amount_micros
  • conversion_value (ज़रूरी है)
  • cart_data.items[].conversion_value
इसे मुद्रा की वैल्यू पर सेट करें, न कि माइक्रोस में वैल्यू पर. उदाहरण के लिए, 5.23 डॉलर की कन्वर्ज़न वैल्यू के लिए, 5.23 वैल्यू का इस्तेमाल करें.
transaction_attribute.currency_code currency ज़रूरी है.
transaction_attribute.order_id transaction_id ज़रूरी है.
transaction_attribute.store_attribute.store_code event_location.store_id ज़रूरी है EventLocation ऑब्जेक्ट में, store_id फ़ील्ड में स्टोर का कोड सेट करें.
transaction_attribute.custom_value
  • custom_variables[].value
  • cart_data.items[].custom_variables[].value
इवेंट लेवल पर CustomVariable या आइटम लेवल पर ItemCustomVariable के value फ़ील्ड पर मैप करें.
transaction_attribute.item_attribute.item_id cart_data.items[].merchant_product_id
transaction_attribute.item_attribute.merchant_id
  • cart_data.merchant_id
  • cart_data.items[].merchant_id
cart_data.merchant_id सेट करने पर, यह सभी आइटम के लिए डिफ़ॉल्ट रूप से लागू हो जाता है. हालांकि, अलग-अलग आइटम के लिए इसे बदला जा सकता है.
transaction_attribute.item_attribute.country_code
  • cart_data.merchant_feed_label
  • cart_data.items[].merchant_feed_label
cart_data.merchant_feed_label सेट करने पर, यह सभी आइटम के लिए डिफ़ॉल्ट रूप से लागू हो जाता है. हालांकि, अलग-अलग आइटम के लिए इसे बदला जा सकता है.
transaction_attribute.item_attribute.language_code
  • cart_data.merchant_feed_language_code
  • cart_data.items[].merchant_feed_language_code
cart_data.merchant_feed_language_code सेट करने पर, यह सभी आइटम के लिए डिफ़ॉल्ट रूप से लागू हो जाता है. हालांकि, अलग-अलग आइटम के लिए इसे बदला जा सकता है.
transaction_attribute.item_attribute.quantity cart_data.items[].quantity
कोई मिलती-जुलती रिपोर्ट नहीं cart_data.items[].unit_price इस आइटम के लिए, यूनिट की कीमत पर सेट करें. इसमें टैक्स, शिपिंग, और इवेंट के दायरे में आने वाली (लेन-देन के लेवल पर) छूट शामिल नहीं है.
user_identifiers
  • user_data.user_identifiers
  • third_party_user_data.user_identifiers
ज़रूरी है.

third_party_user_data, user_data के जैसे ही स्ट्रक्चर का इस्तेमाल करता है. हालांकि, इससे पता चलता है कि यूज़र आइडेंटिफ़ायर, पहले पक्ष के विज्ञापन देने वाले के डेटा के बजाय, तीसरे पक्ष के सोर्स से मिले हैं.

third_party_user_data को सिर्फ़ तब भरा जा सकता है, जब लॉगिन खाता कोई डेटा पार्टनर हो (login_account.account_type, DATA_PARTNER हो).

ज़्यादा जानकारी के लिए, यूज़र आइडेंटिफ़ायर फ़ील्ड देखें.

consent consent दोनों एपीआई, एक जैसे Consent ऑब्जेक्ट (ad_user_data, ad_personalization) का इस्तेमाल करते हैं. Data Manager API के लिए, किसी अनुरोध में मौजूद सभी इवेंट के लिए सहमति सेट की जा सकती है. इसके लिए, IngestEventsRequest पर consent फ़ील्ड सेट करें.

उपयोगकर्ता आइडेंटिफ़ायर फ़ील्ड

UserIdentifier (Google Ads API) UserIdentifier (Data Manager API) नोट
user_identifier_source

सोर्स से यह तय होता है कि Data Manager API Event पर कौनसा फ़ील्ड भरना है:

  • user_data
  • third_party_user_data

third_party_user_data, user_data के जैसे ही स्ट्रक्चर का इस्तेमाल करता है. हालांकि, इससे पता चलता है कि यूज़र आइडेंटिफ़ायर, पहले पक्ष के विज्ञापन देने वाले के डेटा के बजाय, तीसरे पक्ष के सोर्स से मिले हैं.

third_party_user_data को सिर्फ़ तब भरा जा सकता है, जब लॉगिन खाता कोई डेटा पार्टनर हो (login_account.account_type, DATA_PARTNER हो).

ज़्यादा जानकारी के लिए, यूज़र आइडेंटिफ़ायर फ़ील्ड देखें.

hashed_email email_address फ़ॉर्मैट और हैश किए गए ईमेल पते पर सेट करें. हैश किए गए ईमेल पते को एन्क्रिप्ट (सुरक्षित) भी किया जा सकता है.
hashed_phone_number phone_number फ़ॉर्मैट और हैश किए गए फ़ोन नंबर पर सेट करें. हैश किए गए फ़ोन नंबर को एन्क्रिप्ट (सुरक्षित) भी किया जा सकता है.
address_info address इसे AddressInfo ऑब्जेक्ट पर सेट करें. फ़ॉर्मैटिंग और हैशिंग से जुड़े दिशा-निर्देशों का पालन करें. पते के हैश किए गए एट्रिब्यूट को एन्क्रिप्ट (सुरक्षित) भी किया जा सकता है.
address_info.hashed_first_name address.given_name
address_info.hashed_last_name address.family_name
address_info.country_code address.region_code
address_info.postal_code address.postal_code
address_info.city कोई मिलती-जुलती रिपोर्ट नहीं Google Ads के डेस्टिनेशन के लिए इस्तेमाल नहीं किया जा सकता.
address_info.state कोई मिलती-जुलती रिपोर्ट नहीं Google Ads के डेस्टिनेशन के लिए इस्तेमाल नहीं किया जा सकता.
address_info.hashed_street_address कोई मिलती-जुलती रिपोर्ट नहीं Google Ads के डेस्टिनेशन के लिए इस्तेमाल नहीं किया जा सकता.