बल्क अपलोडर एपीआई का इस्तेमाल करके, Authorized Buyers की उपयोगकर्ता सूचियों में विज्ञापन आईडी जोड़े और हटाए जा सकते हैं. ऐसा टारगेटिंग के लिए किया जाता है.
यहां एचटीटीपीएस बल्क अपलोडर एपीआई यूआरएल का एक उदाहरण दिया गया है:
https://cm.g.doubleclick.net/upload?nid={GoogleNetworkId}
एंडपॉइंट, एचटीटीपीएस पोस्ट अनुरोधों को स्वीकार करता है.
GoogleNetworkId एट्रिब्यूट के लिए दी गई वैल्यू, आपका कुकी मैचिंग नेटवर्क आईडी (एनआईडी) होना चाहिए. यह बल्क अपलोडर और कुकी मैचिंग के लिए, आपके खाते की यूनीक पहचान करता है.
एचटीटीपीएस POST अनुरोध का पेलोड, एन्कोड किया गया प्रोटोकॉल बफ़र होता है. इसमें उन सूचियों के बारे में जानकारी होती है जिनमें बदलाव करना है. 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 उपयोगकर्ता आईडी अपलोड करने का तरीका यहां दिया गया है:
- Google के साथ कुकी मैचिंग सेट अप करें और मैच टेबल को होस्ट करें.
- अपनी मैच टेबल का इस्तेमाल करके, अपने यूज़र आईडी को Google यूज़र आईडी में बदलें.
- उपयोगकर्ताओं की सूची में 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
}
पार्टनर की ओर से दिए गए आईडी अपलोड करना
पार्टनर के दिए गए आईडी, पार्टनर के अपने डोमेन के आईडी होते हैं. पार्टनर से मिला आईडी अपलोड करने का तरीका यहां बताया गया है:
Google के साथ कुकी मैचिंग सेट अप करें. साथ ही, Google को अपनी मैच टेबल होस्ट करने की अनुमति दें.
पार्टनर से मिले आईडी को उपयोगकर्ता सूची में अपलोड करें.
उदाहरण के लिए, अगर आपके डोमेन के लिए सेट किया गया यूज़र आईडी
123456है, तो कुकी मैचिंग की मदद से, इसे Google की होस्ट की गई मैच टेबल में भरा जा सकता है. आपके मैच टैग में,google_hmपैरामीटर को असाइन किए गए आईडी का वेब-सुरक्षित base64-encoded वर्शन शामिल होना चाहिए. जैसे:https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cmइसके बाद, पार्टनर की ओर से दिए गए आईडी को
UpdateUsersDataRequestके साथ उपयोगकर्ता सूची में अपलोड किया जा सकता है:ops { user_id: "123456" user_list_id: 123 delete: false user_id_type: PARTNER_PROVIDED_ID }इसके बाद, Google पार्टनर से मिले आईडी वाली उपयोगकर्ता सूची को Google उपयोगकर्ता आईडी में बदलता है. साथ ही, इन आईडी को आपकी उपयोगकर्ता सूची में जोड़ता है.
आईडीएफ़ए या Android विज्ञापन आईडी अपलोड करना
डिवाइस आईडी भी अपलोड किए जा सकते हैं.
UpdateUsersDataRequestके साथ डिवाइस आईडी अपलोड करें:ops { user_id: "2024D65F-EBBD-11FF-23AB-823FC255913A" user_list_id: 111 delete: false user_id_type: IDFA }इसके बाद, Google डिवाइस आईडी वाली उपयोगकर्ता सूची को Google के User-ID में बदलता है. साथ ही, इन आईडी को आपकी उपयोगकर्ता सूची में जोड़ता है.
वर्कफ़्लो
बल्क अपलोडर के सभी अनुरोध और जवाब के उदाहरण, टेक्स्ट फ़ॉर्मैट में लिखे गए हैं. आपको उन्हें क्रम से लगाए गए प्रोटोकॉल बफ़र मैसेज के तौर पर, बल्क अपलोडर एपीआई एंडपॉइंट पर भेजना होगा.
उदाहरण के लिए, उपयोगकर्ता सूची 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 मैसेज को पेलोड के तौर पर इस्तेमाल करके, एचटीटीपीएस POST अनुरोध भेजें.
अगर सभी कार्रवाइयां पूरी हो जाती हैं, तो आपको यह 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