Reklam kimliklerini kullanıcı listelerine yükleme

Authorized Buyers'a reklam kimlikleri eklemek ve kaldırmak için Toplu Yükleyici API'sini kullanabilirsiniz kullanıcı listeleri oluşturmak için kullanın.

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, Çerez Eşleştirme Ağ Kimliğiniz (NID) olmalıdır Bu, Toplu Yükleyici için hesabınızı benzersiz şekilde tanımlar ve Çerez Eşleştirme.

HTTPS POST isteğinin yükü kodlanmış bir protokol arabelleğinde bulunur. Toplu Yükleyici hizmetinin şemasını şu adreste görebilirsiniz: cookie-bulk-upload-proto.txt. Her birinin yükü istek 100 KB ile sınırlıdır.

cookie-bulk-upload.proto öğesini derleme ve kullanma hakkında daha fazla bilgi ve ayrıştırmak için tercih ettiğiniz dil'e dokunun.

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:

  1. Google ile Çerez Eşleştirme özelliğini kurun ve eşleşme tablosunu kullanın.
  2. Kullanıcı kimliklerinizi Google User-ID'lere dönüştürmek için eşleşme tablonuzu kullanın.
  3. 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. Bunu nasıl yapacağınız aşağıda açıklanmıştır: iş ortağı tarafından sağlanan bir kimlik yükleyin:

  1. Google ile Çerez Eşleştirme'yi kurun ve Eşleşme tablonuzu Google'da barındıracak.

  2. İş 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 şunları yapabilirsiniz: Google'ın barındırılan eşleşme tablosunda Çerez Eşleştirme ile doldurmasını sağlayın. Eşleşmeniz etiketinde web için güvenli bir base64 kodlu sürümü google_hm parametresine atanan kimlik. Örneğin:

    https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
    
  3. Ardından, iş ortağı tarafından sağlanan kimliği şu özelliklere sahip bir kullanıcı listesine yükleyebilirsiniz: UpdateUsersDataRequest:

    ops {
     user_id: "123456"
     user_list_id: 123
     delete: false
     user_id_type: PARTNER_PROVIDED_ID
    }
    
  4. Google, kullanıcı listesini iş ortağı tarafından sağlanan kimliklerden Google'a çevirir yer alır ve kimlikleri kullanıcı listenize ekler.

IDFA veya Android reklam kimliklerini yükleyin

Cihaz kimliklerini de yükleyebilirsiniz.

  1. 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
    }
    
  2. Google daha sonra kullanıcı listesini cihaz kimliklerinden Google kullanıcı kimliklerine çevirir ve kimlikleri kullanıcı listenize ekler.

ziyaret edin.

İş akışı

Tüm Toplu Yükleyici istek ve yanıt örnekleri Metin Biçim. Şunları göndermeniz gerekiyor Protokol Arabelleği mesajları olarak toplu e-postaya Yükleyici API uç noktası.

Örneğin, 123 kullanıcı listesine IDFA ve iş ortağı tarafından sağlanan kimlik 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, serileştirilmiş UpdateUsersDataRequest ile bir HTTPS POST isteği gönderin mesajı da yükleyebilirsiniz.

Tüm işlemler başarılı olursa aşağıdakileri elde edersiniz: UpdateUsersDataResponse:

status: NO_ERROR

Bazı işlemler başarılı olursa yanıtta bir Her başarısız işlemde bir hata ile UpdateUsersDataResponse:

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

İşlemlerin hiçbiri başarılı olmadıysa yanıtta bir status öğesine sahip UpdateUsersDataResponse, BAD_COOKIE olarak ayarlandı:

status: BAD_COOKIE

Örnek

Bu, kitaplığı nasıl kullanabileceğinizi gösteren bir Python komut dosyası örneğidir cookie-bulk-upload.proto tarafından oluşturulan bir dosyayı toplu yükleyici hizmetini kullanarak belirli bir kimliğe sahip kullanıcı listesi:

  #!/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)

Bulk Upload API'yi kullanan iş ortakları, aşağıdaki amaçlarla kullanıcı verilerini Toplu Yükleme amacıyla Google ile paylaşmanın yasal gerekçesi transaction_consent parametresini değiştirebilirsiniz. Bu koşul, tüm Toplu Yükleme işlemleri için geçerlidir. kabul edersiniz.

Google'ın AB'nin gerektirdiği şekilde son kullanıcı izni gerektiren kullanıcı verileri için Kullanıcı Rızası Politikası (https://www.google.com/about/company/user-consent-policy/ sayfasını inceleyin.) veya diğer yerel yasalar uyarınca iş ortaklarının, son kullanıcı iznini belirtin ve toplanan izni belirtin process_consent=True ayarlayarak.

Son kullanıcı izni şartlarına tabi olmayan kullanıcı verileri için iş ortaklarının, rızanın process_consent=True ayarlamak için gereklidir.

process_consent öğesinin eksik olduğu istekler filtrelenir ve döndürülür şu hata oluştu:

status: MISSING_CONSENT_WILL_BE_DROPPED

process_consent değerinin false olarak ayarlandığı istekler filtrelenir ve şu hatayı döndürür:

status: MISSING_CONSENT