Cómo subir los IDs de anuncios a las listas de usuarios

Puedes usar la API de Bulk Uploader para agregar y quitar IDs de anuncios a las listas de usuarios de Authorized Buyers para la segmentación. No puedes usar la API de carga masiva de Authorized Buyers para modificar las listas de público de Display & Video 360.

A continuación, se muestra un ejemplo de la URL de la API de HTTPS Bulk Uploader:

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

El extremo acepta solicitudes POST HTTPS.

El valor de GoogleNetworkId debe ser tu ID de red de concordancia de cookies (NID), que identifica de forma única tu cuenta para la carga masiva y la concordancia de cookies.

La carga útil de la solicitud POST HTTPS es un búfer de protocolo codificado que describe las listas que se modificarán. Consulta el esquema del servicio de carga masiva en cookie-bulk-upload-proto.txt. La carga útil de cada solicitud está limitada a 100 KB.

Si quieres obtener más información sobre cómo compilar y usar cookie-bulk-upload.proto para serializar y analizar mensajes, consulta el instructivo para tu lenguaje preferido.

Puedes subir los siguientes tipos de identificadores:

  • ID de usuario de Google
  • ID proporcionado por el socio
  • IDFA de iOS
  • ID de publicidad de Android
  • ID de Roku
  • ID de Amazon Fire TV
  • ID de Xbox o Microsoft

Subir los IDs de usuario de Google

Los IDs de usuario de Google son IDs encriptados del dominio doubleclick.net.

A continuación, te indicamos cómo subir un ID de usuario de Google:

  1. Configura la Concordancia de Cookies con Google y aloja la tabla de coincidencias.
  2. Utiliza tu tabla de coincidencias para convertir tus IDs de usuario en IDs de usuario de Google.
  3. Sube los IDs de usuario de Google a la lista de usuarios.

Por ejemplo, si recibes lo siguiente durante la Concordancia de Cookies:

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

El parámetro google_gid es el ID de usuario de Google encriptado.

Para agregarlo a una lista de usuarios, cópialo en el cuerpo de UpdateUsersDataRequest:

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

Sube los IDs proporcionados por los socios

Los IDs proporcionados por el socio son IDs que pertenecen a su propio dominio. Sigue estos pasos para subir un ID proporcionado por el socio:

  1. Configura la Concordancia de cookies con Google y permite que Google aloje tu tabla de coincidencias.

  2. Sube los IDs proporcionados por el socio a la lista de usuarios.

    Por ejemplo, si tienes un ID de usuario para el dominio configurado como 123456, puedes propagarlo en la tabla de coincidencias alojada de Google con la concordancia de cookies. La etiqueta de coincidencia debe incluir una versión codificada en base64 segura para la Web del ID asignado al parámetro google_hm, como la siguiente:

    https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
    
  3. Luego, puedes subir el ID proporcionado por el socio a una lista de usuarios con UpdateUsersDataRequest:

    ops {
     user_id: "123456"
     user_list_id: 123
     delete: false
     user_id_type: PARTNER_PROVIDED_ID
    }
    
  4. Luego, Google traduce la lista de usuarios de los ID proporcionados por los socios a los ID de usuario de Google y los agrega a tu lista de usuarios.

Subir IDFA o ID de publicidad de Android

También puedes subir IDs de dispositivos.

  1. Sube el ID de dispositivo con UpdateUsersDataRequest:

    ops {
     user_id: "2024D65F-EBBD-11FF-23AB-823FC255913A"
     user_list_id: 111
     delete: false
     user_id_type: IDFA
    }
    
  2. Luego, Google traduce la lista de usuarios de los IDs de dispositivos a los de Google y los agrega a tu lista de usuarios.

Flujo de trabajo

Todos los ejemplos de solicitudes y respuestas de Bulk Uploader están escritos en Formato de texto. Debes enviarlos como mensajes de búfer de protocolo serializados al extremo de la API de Bulk Uploader.

Por ejemplo, para subir un IDFA y un ID proporcionado por el socio a la lista de usuarios 123, crea un 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

Luego, envía una solicitud POST HTTPS con el mensaje UpdateUsersDataRequest serializado como carga útil.

Si todas las operaciones se realizan de forma correcta, obtendrás el siguiente UpdateUsersDataResponse:

status: NO_ERROR

Si algunas de las operaciones se realizaron de forma correcta, la respuesta incluirá un UpdateUsersDataResponse con un error para cada operación con errores:

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

Si ninguna de las operaciones se realizó correctamente, la respuesta incluirá un UpdateUsersDataResponse con status establecido en BAD_COOKIE:

status: BAD_COOKIE

Ejemplo

Este es un ejemplo de una secuencia de comandos de Python que demuestra cómo puedes usar la biblioteca generada por cookie-bulk-upload.proto para propagar una lista de usuarios con un ID determinado mediante el servicio de carga masiva:

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


Los socios que usan la API de carga masiva deben indicar que tienen la base jurídica para compartir los datos del usuario con Google con fines de carga masiva mediante el parámetro process_consent. Este requisito se aplica a todas las solicitudes de carga masiva.

En el caso de los datos del usuario que requieren el consentimiento del usuario final de conformidad con la Política de Consentimiento de Usuarios de la UE de Google (consulta https://www.google.com/about/company/user-consent-policy/) o por otras leyes locales, los socios deben obtener el consentimiento del usuario final y, luego, indicarlo mediante la configuración de process_consent=True.

En el caso de los datos del usuario que no están sujetos a requisitos de consentimiento del usuario final, los socios deben indicar que no se requiere el consentimiento mediante la configuración de process_consent=True.

Las solicitudes en las que falta process_consent se filtrarán y mostrarán el siguiente error:

status: MISSING_CONSENT_WILL_BE_DROPPED

Las solicitudes en las que process_consent se establezca como false se filtrarán y mostrarán el siguiente error:

status: MISSING_CONSENT