Reklam kimliklerini kullanıcı listelerine yükleme

Hedefleme için Authorized Buyers kullanıcı listelerine reklam kimlikleri eklemek ve bunları kaldırmak için Bulk Yükleyici API'sini kullanabilirsiniz. Display & Video 360 kitle listelerini değiştirmek için Authorized Buyers Bulk Upload API'yi kullanamazsınız.

Aşağıda örnek bir HTTPS Bulk Yükleyici API URL'si verilmiştir:

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

Uç nokta, HTTPS POST isteklerini kabul eder.

GoogleNetworkId değeri, Toplu Yükleme Aracı ve Çerez Eşleme 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ına bakın. Her bir isteğin yükü 100 KB ile sınırlıdır.

Mesajları serileştirmek ve ayrıştırmak için cookie-bulk-upload.proto hizmetini derleme ve kullanma hakkında daha fazla bilgi edinmek üzere tercih ettiğiniz dil için eğiticiye bakı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ükleyin

Google kullanıcı kimlikleri, doubleclick.net alanına ait şifrelenmiş kimliklerdir.

Bir Google kullanıcı kimliğinin nasıl yükleneceği aşağıda açıklanmıştır:

  1. Google ile Çerez Eşleme'yi ayarlayın ve eşleşme tablosunu barındırın.
  2. Kullanıcı kimliklerinizi Google Kullanıcı Kimliklerine 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. İş ortağı tarafından sağlanan kimliği şu şekilde yükleyebilirsiniz:

  1. Google ile Çerez Eşleme'yi ayarlayın ve Google'ın eşleşme tablonuzu barındırmasına izin verin.

  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 bu kimliği Google'ın barındırılan eşleşme tablosunda Çerez Eşleştirme ile doldurabilirsiniz. Eşleme etiketiniz, google_hm parametresine atanan kimliğin web için güvenli base64 kodlamalı sürümünü aşağıdaki gibi içermelidir:

    https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
    
  3. Daha sonra, 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
    }
    
  4. Google, daha sonra 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.

  1. UpdateUsersDataRequest ile cihaz kimliğini 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.

İş akışı

Tüm Toplu Yükleyici istek ve yanıt örnekleri Metin Biçimi'nde yazılmıştır. Bu mesajları 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ını içeren 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ı olduysa yanıt, her başarısız işlem için bir hata içeren 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ı olmazsa yanıtta status öğesinin BAD_COOKIE değerine ayarlandığı bir UpdateUsersDataResponse bulunur:

status: BAD_COOKIE

Örnek

Bu, toplu yükleme aracını kullanarak bir kullanıcı listesini belirli bir kimlikle doldurmak için cookie-bulk-upload.proto tarafından oluşturulan kitaplığı nasıl kullanabileceğinizi gösteren örnek bir Python komut dosyasıdır:

  #!/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ı, kullanıcı verilerini Toplu Yükleme amacıyla Google ile paylaşmak için uygun yasal dayanakları olan "Process_consent" parametresini kullanarak belirtmelidir. Bu gereklilik tüm Toplu Yükleme istekleri için geçerlidir.

Google'ın AB Kullanıcı Rızası Politikası'nın (https://www.google.com/about/company/user-consent-policy/) veya diğer yerel yasaların gerektirdiği son kullanıcı izni gerektiren kullanıcı verileri için iş ortaklarının, process_consent=True'yi ayarlayarak son kullanıcılardan izin alması ve izin aldığını belirtmesi gerekir.

İş ortakları, son kullanıcı rızası şartlarına tabi olmayan kullanıcı verileri için process_consent=True özelliğini ayarlayarak izin gerekmediğini belirtmelidir.

process_consent öğesinin olmadığı istekler filtrelenir ve şu hatayı döndürür:

status: MISSING_CONSENT_WILL_BE_DROPPED

process_consent öğesinin false olarak ayarlandığı istekler filtrelenir ve şu hata döndürülür:

status: MISSING_CONSENT