उपयोगकर्ता सूचियों में विज्ञापन आईडी अपलोड करें

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

यहां एचटीटीपीएस वाले बल्क अपलोड करने वाले एपीआई के यूआरएल का सैंपल दिया गया है:

https://cm.g.doubleclick.net/upload?nid={GoogleNetworkId}

एंडपॉइंट, एचटीटीपीएस पोस्ट अनुरोध स्वीकार करता हो.

GoogleNetworkId की वैल्यू, आपका कुकी मैचिंग नेटवर्क आईडी (एनआईडी) होना चाहिए. इससे, बल्क अपलोड करने वाले टूल और कुकी मैचिंग के लिए, आपके खाते की खास पहचान की जाती है.

एचटीटीपीएस पीओएसटी अनुरोध का पेलोड, एन्क्रिप्ट किया गया प्रोटोकॉल बफ़र होता है. इसमें उन सूचियों के बारे में बताया जाता है जिनमें बदलाव करना है. cookie-bulk-upload-proto.txt में, एक साथ कई फ़ाइलें अपलोड करने की सेवा का स्कीमा देखें. हर अनुरोध का पेलोड 100 केबी तक सीमित होना चाहिए.

मैसेज को सीरियलाइज़ और पार्स करने के लिए, cookie-bulk-upload.proto को इकट्ठा और इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, अपनी पसंदीदा भाषा के लिए ट्यूटोरियल देखें.

इस तरह के आइडेंटिफ़ायर अपलोड किए जा सकते हैं:

  • Google उपयोगकर्ता आईडी
  • पार्टनर का दिया गया आईडी
  • iOS आईडीएफ़ए
  • Android विज्ञापन आईडी
  • Roku आईडी
  • Amazon Fire TV आईडी
  • Xbox या Microsoft आईडी

Google यूज़र आईडी अपलोड करना

Google यूज़र आईडी, doubleclick.net डोमेन के एन्क्रिप्ट (सुरक्षित) किए गए आईडी होते हैं.

Google उपयोगकर्ता आईडी अपलोड करने का तरीका यहां बताया गया है:

  1. Google के साथ कुकी मैचिंग सेट अप करें और मैच टेबल को होस्ट करें.
  2. अपने यूज़र आईडी को Google यूज़र आईडी में बदलने के लिए, मैच टेबल का इस्तेमाल करें.
  3. उपयोगकर्ता सूची में Google User-ID अपलोड करें.

उदाहरण के लिए, अगर आपको कुकी मैचिंग के दौरान ये मिलते हैं:

https://ad.network.com/pixel?google_gid=CAESEHIV8HXNp0pFdHgi2rElMfk&google_cver=1

google_gid पैरामीटर, एन्क्रिप्ट (सुरक्षित) किया गया Google यूज़र आईडी है.

इसे उपयोगकर्ता सूची में जोड़ने के लिए, इसे UpdateUsersDataRequest के मुख्य हिस्से में कॉपी करें:

ops {
  user_id: "CAESEHIV8HXNp0pFdHgi2rElMfk"
  user_list_id: 111
  delete: false
  user_id_type: GOOGLE_USER_ID
}

पार्टनर के दिए गए आईडी अपलोड करना

पार्टनर के दिए गए आईडी, पार्टनर के डोमेन के तहत आते हैं. पार्टनर से मिले आईडी को अपलोड करने का तरीका यहां बताया गया है:

  1. Google के साथ कुकी मैचिंग सेट अप करें और Google को अपनी मैच टेबल होस्ट करने की अनुमति दें.

  2. पार्टनर से मिले आईडी, उपयोगकर्ता सूची में अपलोड करें.

    उदाहरण के लिए, अगर आपके डोमेन के लिए यूज़र आईडी को 123456 के तौर पर सेट किया गया है, तो कुकी मैचिंग की मदद से, Google की होस्ट की गई मैच टेबल में इसे अपने-आप भरने की सुविधा चालू की जा सकती है. आपके मैच टैग में, google_hm पैरामीटर को असाइन किए गए आईडी का वेब-सेफ़ base64-कोड में बदला गया वर्शन शामिल होना चाहिए. जैसे:

    https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
    
  3. इसके बाद, पार्टनर से मिले आईडी को उपयोगकर्ता सूची में अपलोड किया जा सकता है. इसके लिए, UpdateUsersDataRequest का इस्तेमाल करें:

    ops {
     user_id: "123456"
     user_list_id: 123
     delete: false
     user_id_type: PARTNER_PROVIDED_ID
    }
    
  4. इसके बाद, Google उपयोगकर्ता सूची को पार्टनर के दिए गए आईडी से Google उपयोगकर्ता आईडी में बदल देता है. साथ ही, आईडी को आपकी उपयोगकर्ता सूची में जोड़ देता है.

आईडीएफ़ए या Android विज्ञापन आईडी अपलोड करना

डिवाइस आईडी भी अपलोड किए जा सकते हैं.

  1. UpdateUsersDataRequest के साथ डिवाइस आईडी अपलोड करें:

    ops {
     user_id: "2024D65F-EBBD-11FF-23AB-823FC255913A"
     user_list_id: 111
     delete: false
     user_id_type: IDFA
    }
    
  2. इसके बाद, Google उपयोगकर्ता सूची को डिवाइस आईडी से Google उपयोगकर्ता आईडी में बदल देता है और आईडी को आपकी उपयोगकर्ता सूची में जोड़ देता है.

वर्कफ़्लो

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

उदाहरण के लिए, उपयोगकर्ता सूची 123 में IDFA और पार्टनर का दिया गया आईडी अपलोड करने के लिए, UpdateUsersDataRequest बनाएं:

ops {
  user_id: "2024D65F-EBBD-11FF-23AB-823FC255913A"
  user_list_id: 123
  delete: false
  user_id_type: IDFA
}
ops {
  user_id: "1234567"
  user_list_id: 123
  delete: false
  user_id_type: PARTNER_PROVIDED_ID
}
# See warning before use. Requires affirmative end-user consent.
process_consent: true

इसके बाद, सीरियलाइज़ किए गए UpdateUsersDataRequest मैसेज को पेलोड के तौर पर इस्तेमाल करके, एचटीटीपीएस पोस्ट अनुरोध भेजें.

सभी कार्रवाइयां पूरी होने पर, आपको ये जानकारी मिलेगीUpdateUsersDataResponse:

status: NO_ERROR

अगर कुछ ऑपरेशन पूरे हो गए थे, तो रिस्पॉन्स में UpdateUsersDataResponse शामिल होता है. इसमें हर उस ऑपरेशन के लिए गड़बड़ी की जानकारी होती है जो पूरा नहीं हो पाया था:

status: PARTIAL_SUCCESS
errors {
  user_id: "1234567"
  error_code: UNKNOWN_ID
  user_id_type: PARTNER_PROVIDED_ID
}

अगर कोई भी ऑपरेशन पूरा नहीं हुआ, तो रिस्पॉन्स में UpdateUsersDataResponse शामिल होता है. इसमें status को BAD_COOKIE पर सेट किया जाता है:

status: BAD_COOKIE

उदाहरण

यह Python स्क्रिप्ट का एक उदाहरण है. इसमें, cookie-bulk-upload.proto से जनरेट की गई लाइब्रेरी का इस्तेमाल करके, उपयोगकर्ता सूची में किसी दिए गए आईडी को भरने का तरीका बताया गया है. इसके लिए, एक साथ कई फ़ाइलें अपलोड करने की सेवा का इस्तेमाल किया गया है:

  #!/usr/bin/python
#
# Copyright 2023 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""A sample demonstrating usage of the Authorized Buyers Bulk Upload service.

Successfully running this example will add the provided ID to the given user
list. To learn more about the bulk uploader service, see:
https://developers.google.com/authorized-buyers/rtb/bulk-uploader
"""


import argparse

import gen.cookie_bulk_upload_pb2

import requests


BULK_UPLOAD_ENDPOINT_TEMPLATE = 'https://cm.g.doubleclick.net/upload?nid=%s'


def main(account_nid, user_list_id, user_id, user_id_type):
    # Build the bulk upload request.
    update_request = gen.cookie_bulk_upload_pb2.UpdateUsersDataRequest()
    update_request.send_notifications = True

    ops = update_request.ops
    op = ops.add()
    op.user_list_id = user_list_id
    op.user_id = user_id
    op.user_id_type = user_id_type

    user_id_type_value = gen.cookie_bulk_upload_pb2.UserIdType.Name(
        user_id_type)

    print(f'For NID "{account_nid}", adding user ID "{user_id}" of type '
          f'"{user_id_type_value}" to user list ID "{user_list_id}"')

    # Execute the bulk upload request.
    response = requests.post(BULK_UPLOAD_ENDPOINT_TEMPLATE % account_nid,
                             data=update_request.SerializeToString())

    # Parse and display the response.
    update_response = gen.cookie_bulk_upload_pb2.UpdateUsersDataResponse()
    update_response.ParseFromString(response.content)

    print('Operation completed with the following:')
    print(f'\tHTTP Status code: {response.status_code}')
    status_value = gen.cookie_bulk_upload_pb2.ErrorCode.Name(
        update_response.status)
    print(f'\tUpdateUsersDataResponse.status: {status_value}')
    print(f'\tUpdateUsersDataResponse.errors: {update_response.errors}')
    print('\tUpdateUsersDataResponse.notifications: '
          f'{update_response.notifications}')
    n_status_value = gen.cookie_bulk_upload_pb2.NotificationStatus.Name(
        update_response.notification_status)
    print(f'\tUpdateUsersDataResponse.notification_status: {n_status_value}')


if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description=('A sample demonstrating usage of the Authorized Buyers '
                     'bulk uploader service.'))
    parser.add_argument('-n', '--account_nid',
                        required=True, help='The Account NID.')
    parser.add_argument('-u', '--user_id',
                        required=True, help='The User ID to be added.')
    parser.add_argument('-l', '--user_list_id', type=int, required=True,
                        help='The user list that the ID is being added to.')
    parser.add_argument('-t', '--user_id_type', type=int, required=True,
                        help=('The type of user ID being added. See '
                              '"UserIdType" enum for more details.'))
    args = parser.parse_args()

    main(args.account_nid, args.user_list_id, args.user_id, args.user_id_type)

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

उपयोगकर्ता के उस डेटा के लिए, असली उपयोगकर्ता की सहमति लेना ज़रूरी है जिसे इकट्ठा करने के लिए, Google की ईयू उपयोगकर्ता की सहमति से जुड़ी नीति (https://www.google.com/about/company/user-consent-policy/ देखें) या अन्य स्थानीय कानूनों के तहत सहमति लेना ज़रूरी है. इसके लिए, पार्टनर को असली उपयोगकर्ता की सहमति लेनी होगी और process_consent=True सेट करके, इकट्ठा की गई सहमति की जानकारी देनी होगी.

उपयोगकर्ता के उस डेटा के लिए, पार्टनर को यह बताना ज़रूरी है कि सहमति की ज़रूरत नहीं है. इसके लिए, उन्हें process_consent=True सेटिंग का इस्तेमाल करना होगा.

जिन अनुरोधों में process_consent मौजूद नहीं है उन्हें फ़िल्टर कर दिया जाएगा और इनमें गड़बड़ी का यह मैसेज दिखेगा:

status: MISSING_CONSENT_WILL_BE_DROPPED

जिन अनुरोधों में process_consent को false पर सेट किया गया है उन्हें फ़िल्टर कर दिया जाएगा और इनके लिए यह गड़बड़ी दिखेगी:

status: MISSING_CONSENT