Hedefleme için Authorized Buyers kullanıcı listelerine reklam kimliği eklemek ve bu listeleri kaldırmak üzere Bulk Upload API'yi kullanabilirsiniz.
Aşağıda örnek bir HTTPS Toplu Yükleyici API'si URL'si verilmiştir:
https://cm.g.doubleclick.net/upload?nid={GoogleNetworkId}
Uç nokta, HTTPS POST isteklerini kabul eder.
GoogleNetworkId
değeri, Toplu Yükleyici ve Çerez Eşleştirme için hesabınızı benzersiz şekilde tanımlayan Çerez Eşleştirme Ağ Kimliğiniz (NID) olmalıdır.
HTTPS POST isteğinin yükü, değiştirilecek listeleri açıklayan kodlanmış bir protokol arabelleğidir. cookie-bulk-upload-proto.txt dosyasında Toplu Yükleyici hizmetinin şemasını inceleyin. Her isteğin yükü 100 KB ile sınırlıdır.
Mesajları seri hâle getirmek ve ayrıştırmak için cookie-bulk-upload.proto
öğesini derleme ve kullanma hakkında daha fazla bilgi edinmek için tercih ettiğiniz dile yönelik eğiticiye göz atın.
Aşağıdaki tanımlayıcı türlerini yükleyebilirsiniz:
- Google kullanıcı kimliği
- İş ortağı tarafından sağlanan kimlik
- iOS IDFA
- Android reklam kimliği
- Roku kimliği
- Amazon Fire TV Kimliği
- Xbox veya Microsoft kimliği
Google kullanıcı kimliklerini yükle
Google kullanıcı kimlikleri, doubleclick.net
alanına ait şifrelenmiş kimliklerdir.
Google kullanıcı kimliğinin nasıl yükleneceği aşağıda açıklanmıştır:
- Google ile Çerez Eşleştirme'yi ayarlayın ve eşleşme tablosunu barındırın.
- Kullanıcı kimliklerinizi Google User-ID'lere dönüştürmek için eşleşme tablonuzu kullanın.
- Google Kullanıcı Kimliklerini kullanıcı listesine yükleyin.
Örneğin, Çerez Eşleştirme sırasında aşağıdakileri alırsanız:
https://ad.network.com/pixel?google_gid=CAESEHIV8HXNp0pFdHgi2rElMfk&google_cver=1
google_gid
parametresi, şifrelenmiş Google Kullanıcı Kimliğidir.
Bir kullanıcı listesine eklemek için listeyi UpdateUsersDataRequest
gövdesine kopyalayın:
ops {
user_id: "CAESEHIV8HXNp0pFdHgi2rElMfk"
user_list_id: 111
delete: false
user_id_type: GOOGLE_USER_ID
}
İş ortağı tarafından sağlanan kimlikleri yükleyin
İş ortağı tarafından sağlanan kimlikler, iş ortağının kendi alanı altındaki kimliklerdir. İş ortağı tarafından sağlanan kimliği şu şekilde yükleyebilirsiniz:
Google ile Çerez Eşleştirme'yi kurun ve Google'ın eşleşme tablonuzu barındırmasına izin verin.
İş ortağı tarafından sağlanan kimlikleri kullanıcı listesine yükleyin.
Örneğin, alanınız için
123456
olarak ayarlanmış bir kullanıcı kimliğiniz varsa bu kimliği Google'ın barındırılan eşleşme tablosunda Çerez Eşleştirme ile doldurabilirsiniz. Eşleşme etiketiniz,google_hm
parametresine atanan kimliğin web güvenli base64 kodlamalı bir sürümünü içermelidir. Örneğin:https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
Ardından, iş ortağı tarafından sağlanan kimliği
UpdateUsersDataRequest
içeren bir kullanıcı listesine yükleyebilirsiniz:ops { user_id: "123456" user_list_id: 123 delete: false user_id_type: PARTNER_PROVIDED_ID }
Daha sonra Google, kullanıcı listesini iş ortağı tarafından sağlanan kimliklerden Google kullanıcı kimliklerine çevirir ve kimlikleri kullanıcı listenize ekler.
IDFA veya Android reklam kimliklerini yükleyin
Cihaz kimliklerini de yükleyebilirsiniz.
Cihaz kimliğini
UpdateUsersDataRequest
ile yükleyin:ops { user_id: "2024D65F-EBBD-11FF-23AB-823FC255913A" user_list_id: 111 delete: false user_id_type: IDFA }
Google daha sonra kullanıcı listesini cihaz kimliklerinden Google kullanıcı kimliklerine çevirir ve kimlikleri kullanıcı listenize ekler.
İş akışı
Tüm Toplu Yükleyici isteği ve yanıt örnekleri Metin Biçimi'nde yazılır. Bunları Bulk Uploader API uç noktasına serileştirilmiş Protokol Arabelleği mesajları olarak göndermeniz gerekir.
Örneğin, 123
kullanıcı listesine IDFA ve iş ortağı tarafından sağlanan kimliği yüklemek için UpdateUsersDataRequest
oluşturun:
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
Ardından, yük olarak serileştirilmiş UpdateUsersDataRequest
mesajıyla bir HTTPS POST isteği gönderin.
Tüm işlemler başarılı olursa şunu elde edersiniz:
UpdateUsersDataResponse
:
status: NO_ERROR
Bazı işlemler başarılı olursa yanıt, başarısız her işlem için hata içeren bir UpdateUsersDataResponse
içerir:
status: PARTIAL_SUCCESS
errors {
user_id: "1234567"
error_code: UNKNOWN_ID
user_id_type: PARTNER_PROVIDED_ID
}
İşlemlerin hiçbiri başarılı değilse yanıt, status
öğesinin BAD_COOKIE
olarak ayarlandığı bir UpdateUsersDataResponse
içerir:
status: BAD_COOKIE
Örnek
Bu, toplu yükleyici hizmetini kullanarak kullanıcı listesini belirli bir kimlikle doldurmak için cookie-Bulk-upload.proto tarafından oluşturulan kitaplığı nasıl kullanabileceğinizi gösteren bir Python komut dosyası örneğidir:
#!/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)
İzni Toplu Yükleme İsteğinde İşle
Bulk Upload API'yi kullanan iş ortakları, transaction_consent parametresini kullanarak kullanıcı verilerini Toplu Yükleme amacıyla Google ile paylaşmak için uygun yasal gerekçeye sahip olduklarını belirtmelidir. Bu koşul, tüm Toplu Yükleme istekleri için geçerlidir.
Google'ın AB Kullanıcı Rızası Politikası uyarınca son kullanıcı izni gerektiren kullanıcı verileri için
(https://www.google.com/about/company/user-consent-policy/ adresini ziyaret edin.)
veya diğer yerel yasalar uyarınca iş ortaklarının, process_consent=True
ayarlayarak son kullanıcı iznini alması ve alınan izni belirtmesi gerekir.
Son kullanıcı izin şartlarına tabi olmayan kullanıcı verileri için iş ortaklarının process_consent=True
ayarlayarak izin gerekmediğini belirtmesi gerekir.
process_consent
öğesinin eksik olduğu istekler filtrelenir ve aşağıdaki hatayı döndürür:
status: MISSING_CONSENT_WILL_BE_DROPPED
process_consent
değerinin false
olarak ayarlandığı istekler filtrelenir ve aşağıdaki hatayı döndürür:
status: MISSING_CONSENT