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

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

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

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

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

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

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

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

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

  • Google यूज़र आईडी
  • पार्टनर का दिया हुआ आईडी
  • iOS IDFA
  • Android का विज्ञापन आईडी
  • Roku आईडी
  • Amazon Fire TV आईडी
  • Xbox या Microsoft आईडी

Google यूज़र आईडी अपलोड करें

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

Google User-ID को अपलोड करने का तरीका:

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

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

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

google_gid पैरामीटर, एन्क्रिप्ट (सुरक्षित) किया गया Google User-ID है.

इसे किसी उपयोगकर्ता सूची में जोड़ने के लिए, इसे 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 User-ID में बदलकर, उपयोगकर्ता सूची को आपकी उपयोगकर्ता सूची में जोड़ देता है.

IDFA या Android विज्ञापन आईडी अपलोड करें

आपके पास डिवाइस आईडी अपलोड करने का विकल्प भी है.

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

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

वर्कफ़्लो

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

उदाहरण के लिए, उपयोगकर्ता सूची 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 के साथ उपयोगकर्ता का डेटा शेयर करने का सही कानूनी आधार है. यह शर्त, एक साथ कई फ़ाइल अपलोड करने के सभी अनुरोधों पर लागू होती है.

उपयोगकर्ता के जिस डेटा के लिए 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