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.
A continuación, se muestra un ejemplo de URL de la API del cargador masivo HTTPS:
https://cm.g.doubleclick.net/upload?nid={GoogleNetworkId}
El extremo acepta solicitudes POST HTTPS.
El valor de GoogleNetworkId
debe ser el ID de red de coincidencia de cookies (NID) que identifica de forma exclusiva tu cuenta para el cargador masivo y la coincidencia 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 Bulk Uploader en cookie-bulk-upload-proto.txt. La carga útil de cada solicitud se limita a 100 KB.
Para obtener más información sobre cómo compilar y usar cookie-bulk-upload.proto
para serializar y analizar mensajes, consulta el instructivo de 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
Sube los IDs de usuario de Google
Los IDs de usuario de Google son IDs encriptados del dominio doubleclick.net
.
Sigue estos pasos para subir un ID de usuario de Google:
- Configura la coincidencia de cookies con Google y aloja la tabla de coincidencias.
- Usa tu tabla de coincidencias para convertir tus IDs de usuario en IDs de usuario de Google.
- Sube los IDs de usuario de Google a la lista de usuarios.
Por ejemplo, si recibes lo siguiente durante la coincidencia 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 el socio
Los IDs que proporciona el socio son IDs que se encuentran en su propio dominio. A continuación, te mostramos cómo subir un ID proporcionado por un socio:
Configura la coincidencia de cookies con Google y permite que Google aloje tu tabla de coincidencias.
Sube los IDs que te proporcionó tu socio a la lista de usuarios.
Por ejemplo, si tienes un ID de usuario para tu dominio configurado como
123456
, puedes propagarlo en la tabla de coincidencias alojada de Google con la concordancia de cookies. Tu etiqueta de coincidencia debe incluir una versión codificada en base64 segura para la Web del ID asignado al parámetrogoogle_hm
, como la siguiente:https://cm.g.doubleclick.net/pixel?google_nid=cookie-monster&google_hm=MTIzNDU2&google_cm
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 }
Luego, Google traduce la lista de usuarios de los IDs proporcionados por el socio a los IDs de usuario de Google y los agrega a tu lista de usuarios.
Sube IDFA o IDs de publicidad de Android
También puedes subir IDs de dispositivos.
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 }
Luego, Google traduce la lista de usuarios de los IDs de dispositivos a los IDs de usuario de Google y los agrega a tu lista de usuarios.
Flujo de trabajo
Todos los ejemplos de solicitudes y respuestas del cargador masivo 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 correctamente, obtendrás el siguiente UpdateUsersDataResponse
:
status: NO_ERROR
Si algunas de las operaciones se realizaron correctamente, la respuesta incluye un UpdateUsersDataResponse
con un error para cada operación que no se realizó correctamente:
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 incluye un UpdateUsersDataResponse
con status
establecido en BAD_COOKIE
:
status: BAD_COOKIE
Ejemplo
Este es un ejemplo de secuencia de comandos de Python que muestra cómo puedes usar la biblioteca que genera 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)
Cómo procesar el consentimiento en la solicitud de carga masiva
Los socios que usan la API de Bulk Upload deben indicar que tienen la base legal adecuada para compartir datos del usuario con Google para la 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, según lo exige 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, configurar process_consent=True
para indicar que se obtuvo.
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 configurando 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
esté configurado como false
se filtrarán y mostrarán el siguiente error:
status: MISSING_CONSENT