Upload ID iklan ke daftar pengguna

Anda dapat menggunakan Bulk Uploader API untuk menambahkan dan menghapus ID iklan ke Authorized Buyers daftar pengguna untuk penargetan.

Berikut ini contoh URL API Pengupload Massal HTTPS:

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

Endpoint menerima permintaan POST HTTPS.

Nilai untuk GoogleNetworkId harus berupa ID Jaringan Pencocokan Cookie (NID) Anda yang secara unik mengidentifikasi akun Anda untuk Pengunggah Massal dan Pencocokan Cookie.

Payload permintaan POST HTTPS dienkodekan buffering protokol yang mendeskripsikan daftar yang akan diubah. Lihat skema untuk layanan Pengunggah Massal di cookie-bulk-upload-proto.txt. Payload masing-masing permintaan dibatasi hingga 100 KB.

Untuk mempelajari lebih lanjut cara mengompilasi dan menggunakan cookie-bulk-upload.proto untuk membuat serial dan mengurai pesan, lihat tutorial untuk pesan pilihan Anda bahasa.

Anda dapat mengupload jenis ID berikut:

  • ID Pengguna Google
  • ID yang disediakan partner
  • IDFA iOS
  • ID iklan Android
  • ID Roku
  • ID Amazon Fire TV
  • ID Xbox atau Microsoft

Upload ID pengguna Google

ID pengguna Google adalah ID yang dienkripsi dari domain doubleclick.net.

Berikut cara mengupload ID pengguna Google:

  1. Siapkan Pencocokan Cookie dengan Google dan hosting tabel pencocokan.
  2. Gunakan tabel pencocokan untuk mengonversi ID pengguna menjadi ID Pengguna Google.
  3. Upload ID Pengguna Google ke daftar pengguna.

Misalnya, jika Anda menerima hal berikut selama Pencocokan Cookie:

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

Parameter google_gid adalah ID Pengguna Google yang dienkripsi.

Untuk menambahkannya ke daftar pengguna, salin ke isi UpdateUsersDataRequest:

ops {
  user_id: "CAESEHIV8HXNp0pFdHgi2rElMfk"
  user_list_id: 111
  delete: false
  user_id_type: GOOGLE_USER_ID
}

Upload ID yang diberikan partner

ID yang diberikan partner adalah ID dengan domain partner itu sendiri. Berikut cara mengupload ID yang diberikan partner:

  1. Siapkan Pencocokan Cookie dengan Google, dan izinkan Google untuk menghosting tabel pencocokan Anda.

  2. Upload ID yang diberikan partner ke daftar pengguna.

    Misalnya, jika memiliki ID pengguna untuk domain yang disetel sebagai 123456, Anda dapat mengisinya di tabel pencocokan yang dihosting Google dengan Pencocokan Cookie. Kecocokan Anda harus menyertakan tag versi yang dienkode base64 dari ID yang ditetapkan ke parameter google_hm, seperti berikut:

    https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
    
  3. Anda kemudian dapat mengupload ID yang diberikan partner ke daftar pengguna dengan UpdateUsersDataRequest:

    ops {
     user_id: "123456"
     user_list_id: 123
     delete: false
     user_id_type: PARTNER_PROVIDED_ID
    }
    
  4. Google kemudian menerjemahkan daftar pengguna dari ID yang diberikan partner ke Google ID pengguna, dan menambahkan ID ke daftar pengguna.

Upload IDFA atau ID iklan Android

Anda juga dapat mengupload ID perangkat.

  1. Upload ID perangkat dengan UpdateUsersDataRequest:

    ops {
     user_id: "2024D65F-EBBD-11FF-23AB-823FC255913A"
     user_list_id: 111
     delete: false
     user_id_type: IDFA
    }
    
  2. Google kemudian menerjemahkan daftar pengguna dari ID perangkat menjadi ID pengguna Google, dan menambahkan ID ke daftar pengguna Anda.

Alur kerja

Semua contoh respons dan permintaan Uploader Massal ditulis dalam Teks Format. Anda harus mengirimkan pesan tersebut sebagai pesan Protocol Buffer berseri ke pesan Bulk Endpoint API Uploader.

Misalnya, untuk mengupload IDFA dan ID yang diberikan partner ke daftar pengguna 123, buat 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

Kemudian, kirim permintaan POST HTTPS dengan UpdateUsersDataRequest yang diserialisasi sebagai payload.

Jika semua operasi berhasil, Anda akan mendapatkan hal berikut UpdateUsersDataResponse:

status: NO_ERROR

Jika beberapa operasi berhasil, responsnya mencakup UpdateUsersDataResponse dengan error untuk setiap operasi yang gagal:

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

Jika tidak ada operasi yang berhasil, responsnya akan menyertakan UpdateUsersDataResponse dengan status ditetapkan ke BAD_COOKIE:

status: BAD_COOKIE

Contoh

Ini adalah contoh skrip Python yang menunjukkan cara menggunakan library dibuat oleh cookie-bulk-upload.proto untuk mengisi daftar pengguna dengan ID tertentu menggunakan layanan uploader massal:

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

Partner yang menggunakan Bulk Upload API harus menunjukkan bahwa mereka memiliki dasar hukum untuk membagikan data pengguna kepada Google untuk tujuan Upload Massal menggunakan parameter process_consent. Persyaratan ini berlaku untuk semua Upload Massal permintaan.

Untuk data pengguna yang memerlukan izin pengguna akhir seperti yang diwajibkan oleh Uni Eropa Kebijakan Izin Pengguna (lihat https://www.google.com/about/company/user-consent-policy/) atau menurut hukum setempat lainnya, partner diwajibkan untuk mendapatkan persetujuan pengguna akhir dan menunjukkan persetujuan yang dikumpulkan dengan menyetel process_consent=True.

Untuk data pengguna yang tidak tunduk pada persyaratan izin pengguna akhir, partner wajib menunjukkan bahwa izin tidak yang diperlukan dengan menyetel process_consent=True.

Permintaan yang tidak memiliki process_consent akan difilter dan ditampilkan error berikut:

status: MISSING_CONSENT_WILL_BE_DROPPED

Permintaan dengan process_consent ditetapkan ke false akan difilter dan tampilkan pesan {i>error<i} berikut:

status: MISSING_CONSENT