Cargar datos de Google Ad Manager en BigQuery
Puede cargar datos de Google Ad Manager en BigQuery mediante el conector BigQuery Data Transfer Service para Google Ad Manager. Con BigQuery Data Transfer Service, puedes programar tareas de transferencia periódicas que añadan tus datos más recientes de Google Ad Manager a BigQuery.
Descripción general de los conectores
BigQuery Data Transfer Service para el conector de Google Ad Manager admite las siguientes opciones para la transferencia de datos.
Opciones de transferencia de datos | Asistencia |
---|---|
Informes admitidos | El conector de Google Ad Manager admite la transferencia de datos de los siguientes informes:
Para obtener información sobre cómo se transforman los informes de Google Ad Manager en tablas y vistas de BigQuery, consulte Transformación de informes de Google Ad Manager. |
Frecuencia de repetición | El conector de Google Ad Manager admite transferencias de datos cada 4 horas. De forma predeterminada, las transferencias de datos de Google Ad Manager se repiten cada 8 horas. Puedes configurar la hora de la transferencia de datos cuando configures la transferencia de datos. |
Ventana de actualización | El conector de Google Ad Manager obtiene datos de Google Ad Manager de hasta 2 días en el momento en que se ejecuta la transferencia de datos.
Para obtener más información, consulta Actualizar ventanas. |
Disponibilidad de los datos de reposición | Ejecuta un rellenado automático de datos para recuperar datos que no estén incluidos en la transferencia de datos programada. Puedes recuperar datos de hace tanto tiempo como permita la política de conservación de datos de tu fuente de datos. Para obtener información sobre la política de conservación de datos de Google Ad Manager, consulte el artículo Informes de Data Transfer de Google Ad Manager. |
Ingestión de datos de transferencias de Google Ad Manager
Cuando transfieres datos de Google Ad Manager a BigQuery, los datos se cargan en tablas de BigQuery que están particionadas por fecha. La partición de la tabla en la que se cargan los datos corresponde a la fecha de la fuente de datos. Si programa varias transferencias para la misma fecha, BigQuery Data Transfer Service sobrescribirá la partición de esa fecha con los datos más recientes. Si se realizan varias transferencias el mismo día o se ejecutan rellenados, no se duplicarán los datos y no se verán afectadas las particiones de otras fechas.Actualizar ventanas
Una ventana de actualización es el número de días durante los que una transferencia de datos recupera datos cuando se produce una transferencia de datos. Por ejemplo, si la ventana de actualización es de tres días y se produce una transferencia diaria, BigQuery Data Transfer Service recupera todos los datos de la tabla de origen de los últimos tres días. En este ejemplo, cuando se produce una transferencia diaria, BigQuery Data Transfer Service crea una partición de tabla de destino de BigQuery con una copia de los datos de la tabla de origen del día actual y, a continuación, activa automáticamente ejecuciones de relleno para actualizar las particiones de tabla de destino de BigQuery con los datos de la tabla de origen de los dos días anteriores. Las ejecuciones de relleno automático sobrescribirán o actualizarán de forma incremental tu tabla de destino de BigQuery, en función de si el conector de BigQuery Data Transfer Service admite o no las actualizaciones incrementales.
Cuando ejecutas una transferencia de datos por primera vez, esta recupera todos los datos de origen disponibles en la ventana de actualización. Por ejemplo, si la ventana de actualización es de tres días y ejecutas la transferencia de datos por primera vez, BigQuery Data Transfer Service recuperará todos los datos de origen en un plazo de tres días.
Los periodos de actualización se asignan al campo de la API TransferConfig.data_refresh_window_days
.
Para recuperar datos que no estén dentro del periodo de actualización (por ejemplo, datos históricos) o para recuperar datos de interrupciones o brechas en la transferencia, puedes iniciar o programar una reposición.
Actualizaciones de los archivos de Data Transfer
Las tablas que se crean a partir de archivos de transferencia de datos de Google Ad Manager (Google Ad Manager DT) se pueden actualizar de forma incremental. Google Ad Manager añade los archivos de transferencia de datos de Google Ad Manager al segmento de Cloud Storage. A continuación, una ejecución de transferencia carga de forma incremental los nuevos archivos de DT de Google Ad Manager desde el contenedor de Cloud Storage a la tabla de BigQuery sin volver a cargar los archivos que ya se hayan transferido a la tabla de BigQuery.
Por ejemplo, Google Ad Manager añade file1
al segmento a las 01:00 y file2
a las 02:00. Una ejecución de transferencia empieza a las 03:30 y carga file1
y file2
en BigQuery. A continuación, Google Ad Manager añade file3
a las 5:00 y file4
a las 6:00. Se inicia una segunda transferencia a las 7:30 y se añaden file3
y file4
a BigQuery, en lugar de sobrescribir la tabla cargando los cuatro archivos.
Actualizaciones de las tablas de coincidencias
Las tablas de coincidencias proporcionan un mecanismo de búsqueda para los valores sin procesar contenidos en los archivos de Data Transfer. Para ver una lista de tablas de coincidencias, consulte Transformación de informes de Google Ad Manager. Las distintas tablas de coincidencias se actualizan con diferentes métodos de ingestión. Las tablas de coincidencias y sus métodos de ingesta se indican en la siguiente tabla:
Método de ingestión | Descripción | Tabla de coincidencias |
---|---|---|
Actualización incremental | Las actualizaciones incrementales se añaden en cada ejecución. Por ejemplo, la primera ejecución de transferencia del día carga todos los datos modificados antes de la ejecución de la transferencia, mientras que la segunda ejecución de transferencia del mismo día carga los datos modificados después de la ejecución anterior y antes de la actual. | Company , Order , Placement , LineItem y AdUnit |
Actualización de toda la tabla | La opción de actualización de toda la tabla carga la tabla completa una vez al día. Por ejemplo, la primera ejecución de transferencia del día carga todos los datos disponibles de una tabla. Si se ejecuta una segunda transferencia el mismo día, no se cargarán estas tablas. | AdCategory , AudienceSegmentCategory , BandwidthGroup , Browser , BrowserLanguage ,
DeviceCapability , DeviceCategory , DeviceManufacturer , GeoTarget , MobileCarrier ,
MobileDevice , MobileDeviceSubmodel , OperatingSystem , OperatingSystemVersion ,
ThirdPartyCompany , TimeZone , User , ProgrammaticBuyer
|
Sobrescribir toda la tabla | Toda la tabla se sobrescribe con cada ejecución de la transferencia. | AudienceSegment |
Antes de empezar
Antes de crear una transferencia de datos de Google Ad Manager, debes hacer lo siguiente:
- Comprueba que has completado todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Crea un conjunto de datos de BigQuery para almacenar los datos de Google Ad Manager.
-
Asegúrate de que tu organización tenga acceso a los archivos de Data Transfer de Google Ad Manager (DT de Google Ad Manager). El equipo de Google Ad Manager entrega estos archivos en un segmento de Cloud Storage. Para obtener acceso a los archivos de Data Transfer de Google Ad Manager, consulte el artículo Informes de Data Transfer de Ad Manager. Es posible que el equipo de Google Ad Manager aplique cargos adicionales.
Una vez completado este paso, recibirás un segmento de Cloud Storage similar al siguiente:
gdfp-12345678
El equipo Google Cloud NO puede generar ni conceder acceso a archivos DT de Google Ad Manager en tu nombre. Ponte en contacto con el equipo de Asistencia de Google Ad Manager para acceder a los archivos DT de Google Ad Manager.
- Habilita el acceso a la API en tu red de Google Ad Manager.
- Si quieres configurar notificaciones de transferencia de datos, debes tener permisos de
pubsub.topics.setIamPolicy
para Pub/Sub. No es necesario tener permisos de Pub/Sub si solo configura las notificaciones por correo electrónico. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.
Permisos obligatorios
BigQuery asegúrate de que la persona que crea la transferencia de datos tenga los siguientes permisos en BigQuery:
- Permisos de
bigquery.transfers.update
para crear la transferencia de datos - Permisos
bigquery.datasets.get
ybigquery.datasets.update
en el conjunto de datos de destino
El rol predefinido de gestión de identidades y accesos
bigquery.admin
incluye los permisosbigquery.transfers.update
,bigquery.datasets.update
ybigquery.datasets.get
. Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery Data Transfer Service, consulta Control de acceso.- Permisos de
Google Ad Manager: acceso de lectura a los archivos de Data Transfer de Google Ad Manager almacenados en Cloud Storage. El equipo de Google Ad Manager gestiona los permisos de los archivos DT de Google Ad Manager. Además de los archivos de Data Transfer de Google Ad Manager, la persona que cree la transferencia de datos debe añadirse a la red de Google Ad Manager con acceso de lectura a todas las entidades necesarias para crear las distintas tablas de coincidencias (línea de pedido, pedido, bloque de anuncios, etc.). Para ello, debe añadir al usuario de Ad Manager que autenticó la transferencia de datos al equipo Todas las entidades de Ad Manager.
Configurar una transferencia de Google Ad Manager
Para configurar una transferencia de datos de BigQuery para Google Ad Manager, se necesita lo siguiente:
Segmento de Cloud Storage: el URI del segmento de Cloud Storage de tus archivos de datos de transferencia de Google Ad Manager, tal como se describe en la sección Antes de empezar. El nombre del segmento debe tener el siguiente formato:
gdfp-12345678
Código de red: encontrará el código de red de Google Ad Manager en la URL cuando haya iniciado sesión en su red. Por ejemplo, en la URL
https://admanager.google.com/2032576#delivery
,2032576
es su código de red. Para obtener más información, consulte el artículo Empezar a usar Google Ad Manager.
Para crear una transferencia de datos de BigQuery Data Transfer Service para Google Ad Manager, siga estos pasos:
Consola
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en
Crear una transferencia.En la página Crear transferencia, haz lo siguiente:
- En la sección Tipo de fuente, en Fuente, elija Google Ad Manager (antes DFP).
- En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos; por ejemplo,
My Transfer
. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si necesitas modificarla más adelante.
- En la sección Configuración de destino, en Conjunto de datos, elija el conjunto de datos que haya creado para almacenar sus datos.
- En la sección Detalles de la fuente de datos, haz lo siguiente:
- En Segmento de Cloud Storage, introduce el nombre del segmento de Cloud Storage que almacena los archivos de transferencia de datos. Cuando introduzcas el nombre del segmento, no incluyas
gs://
. - En Código de red, introduce tu código de red.
- En Segmento de Cloud Storage, introduce el nombre del segmento de Cloud Storage que almacena los archivos de transferencia de datos. Cuando introduzcas el nombre del segmento, no incluyas
En el menú Cuenta de servicio, selecciona una cuenta de servicio de las cuentas de servicio asociadas a tu proyecto Google Cloud . Puedes asociar una cuenta de servicio a tu transferencia en lugar de usar tus credenciales de usuario. Para obtener más información sobre cómo usar cuentas de servicio con transferencias de datos, consulta el artículo Usar cuentas de servicio.
Si has iniciado sesión con una identidad federada, se necesita una cuenta de servicio para crear una transferencia. Si has iniciado sesión con una cuenta de Google, no es obligatorio tener una cuenta de servicio para la transferencia. La cuenta de servicio debe tener los permisos necesarios.(Opcional) En la sección Opciones de notificación:
- Haz clic en el interruptor para habilitar las notificaciones por correo electrónico. Si habilitas esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
- Haz clic en el interruptor para habilitar las notificaciones de Pub/Sub sobre la transferencia. En Selecciona un tema de Cloud Pub/Sub, elige el nombre del tema o haz clic en Crear un tema. Esta opción configura las notificaciones de Pub/Sub sobre la transferencia.
Haz clic en Guardar.
bq
Introduce el comando bq mk
y proporciona la marca de creación de transferencia —
--transfer_config
. También se necesitan las siguientes marcas:
--data_source
--target_dataset
--display_name
--params
Marcas posibles
--service_account_name
: especifica una cuenta de servicio que se usará para la autenticación de la transferencia de Google Ad Manager en lugar de tu cuenta de usuario.
bq mk --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source \ --service_account_name=service_account_name
Donde:
- project_id es el ID del proyecto.
- dataset es el conjunto de datos de destino de la configuración de transferencia.
- name es el nombre visible de la configuración de transferencia de datos. El nombre de la transferencia puede ser cualquier valor que te permita identificar la transferencia de datos si necesitas modificarla más adelante.
- parameters contiene los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
. En Google Ad Manager, debe proporcionar los parámetrosbucket
ynetwork_code
.bucket
: el segmento de Cloud Storage que contiene los archivos DT de Google Ad Manager.network_code
: código de redload_match_tables
: indica si se deben cargar las tablas de coincidencias. El valor predeterminado esTrue
.
- data_source es la fuente de datos:
dfp_dt
(Google Ad Manager). - service_account_name es el nombre de la cuenta de servicio que se usa para autenticar la transferencia de datos. La cuenta de servicio debe ser propiedad del mismo
project_id
que se usó para crear la transferencia y debe tener todos los permisos necesarios.
También puedes usar la marca --project_id
para especificar un proyecto concreto. Si no se especifica --project_id
, se usa el proyecto predeterminado.
Por ejemplo, el siguiente comando crea una transferencia de datos de Google Ad Manager llamada My Transfer
con el código de red 12345678
, el segmento de Cloud Storage gdfp-12345678
y el conjunto de datos de destino mydataset
. La transferencia de datos se crea en el proyecto predeterminado:
bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket": "gdfp-12345678","network_code": "12345678"}' \
--data_source=dfp_dt
Después de ejecutar el comando, recibirás un mensaje como el siguiente:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Sigue las instrucciones y pega el código de autenticación en la línea de comandos.
API
Usa el método projects.locations.transferConfigs.create
y proporciona una instancia del recurso TransferConfig
.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Solucionar problemas de configuración de transferencias de Google Ad Manager
Si tienes problemas para configurar la transferencia de datos, consulta la sección Problemas con la transferencia de Google Ad Manager del artículo Solucionar problemas con las configuraciones de transferencia.
Consultar tus datos
Cuando tus datos se transfieren a BigQuery, se escriben en tablas con particiones por hora de ingestión. Para obtener más información, consulta el artículo Introducción a las tablas particionadas.
Si consultas tus tablas directamente en lugar de usar las vistas generadas automáticamente, debes usar la pseudocolumna _PARTITIONTIME
en tu consulta. Para obtener más información, consulta Consultar tablas con particiones.
Consultas de ejemplo
Puede usar las siguientes consultas de ejemplo de Google Ad Manager para analizar los datos transferidos. También puedes usar las consultas en una herramienta de visualización, como Looker Studio. Estas consultas se proporcionan para ayudarte a empezar a consultar tus datos de Google Ad Manager con BigQuery. Si tienes más preguntas sobre lo que puedes hacer con estos informes, ponte en contacto con tu representante técnico de Google Ad Manager.
En cada una de las siguientes consultas, sustituye las variables, como dataset, por tus valores. Por ejemplo, sustituye network_code por tu código de red de Google Ad Manager.
Impresiones y usuarios únicos por ciudad
La siguiente consulta de ejemplo de SQL analiza el número de impresiones y usuarios únicos por ciudad durante los últimos 30 días.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT City, _DATA_DATE AS Date, count(*) AS imps, count(distinct UserId) AS uniq_users FROM `dataset.NetworkImpressions_network_code` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY City, Date
Impresiones y usuarios únicos por tipo de línea de pedido
La siguiente consulta SQL de ejemplo analiza el número de impresiones y usuarios únicos por tipo de línea de pedido durante los últimos 30 días.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT MT.LineItemType AS LineItemType, DT._DATA_DATE AS Date, count(*) AS imps, count(distinct UserId) AS uniq_users FROM `dataset.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT ON DT.LineItemId = MT.Id WHERE DT._DATA_DATE BETWEEN start_date AND end_date GROUP BY LineItemType, Date ORDER BY Date desc, imps desc
Impresiones por bloque de anuncios
La siguiente consulta SQL de ejemplo analiza el número de impresiones por unidad publicitaria durante los últimos 30 días.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT MT.AdUnitCode AS AdUnitCode, DT.DATA_DATE AS Date, count(*) AS imps FROM `dataset.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableAdUnit_network_code` AS MT ON DT.AdUnitId = MT.Id WHERE DT._DATA_DATE BETWEEN start_date AND end_date GROUP BY AdUnitCode, Date ORDER BY Date desc, imps desc
Impresiones por línea de pedido
La siguiente consulta SQL de ejemplo analiza el número de impresiones por línea de pedido de los últimos 30 días.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT MT.Name AS LineItemName, DT._DATA_DATE AS Date, count(*) AS imps FROM `dataset.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT ON DT.LineItemId = MT.Id WHERE DT._DATA_DATE BETWEEN start_date AND end_date GROUP BY LineItemName, Date ORDER BY Date desc, imps desc