Transferencias de Campaign Manager
El conector BigQuery Data Transfer Service para Campaign Manager te permite programar y gestionar automáticamente tareas de carga periódicas de los datos registrados en Campaign Manager.
Informes admitidos
BigQuery Data Transfer Service para Campaign Manager (antes conocido como DoubleClick Campaign Manager) admite las siguientes opciones de informes:
- Archivos de Transferencia de datos v2 (DTv2 de Campaign Manager)
- Tablas de coincidencias de Data Transfer v2 (DTv2 de Campaign Manager)
Para obtener información sobre cómo se transforman los informes de Campaign Manager en tablas y vistas de BigQuery, consulte el artículo Transformación de informes de Campaign Manager.
Opción de denuncia | Asistencia |
---|---|
Frecuencia de repetición | Cada 8 horas, según la hora de creación. No se pueden configurar. |
Actualizar ventana | Últimos 2 días No se pueden configurar. |
Duración máxima de relleno | Últimos 60 días Campaign Manager conserva los archivos de Data Transfer durante un máximo de 60 días. Campaign Manager elimina los archivos con más de 60 días. |
Ingestión de datos de transferencias de Campaign Manager
Cuando transfiere datos de Campaign 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.
Antes de empezar
Antes de crear una transferencia de datos de Campaign Manager, debe 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 Campaign Manager.
Asegúrate de que tu organización tiene acceso a los archivos de la versión 2 de Data Transfer de Campaign Manager (DTv2 de Campaign Manager). El equipo de Campaign Manager entrega estos archivos en un segmento de Cloud Storage. Para obtener acceso a los archivos de DTv2 de Campaign Manager, el siguiente paso depende de si tiene un contrato directo con Campaign Manager. En ambos casos, podrían aplicarse cargos adicionales.
- Si tiene un contrato con Campaign Manager, póngase en contacto con el equipo de Asistencia de Campaign Manager para configurar los archivos DTv2 de Campaign Manager.
- Si no tiene un contrato con Campaign Manager, es posible que su agencia o su distribuidor de Campaign Manager tengan acceso a los archivos de DTv2 de Campaign Manager. Ponte en contacto con tu agencia o distribuidor para acceder a estos archivos.
Una vez completado este paso, recibirás un nombre de segmento de Cloud Storage similar al siguiente:
dcdt_-dcm_account123456
Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, debes tener permisos de
pubsub.topics.setIamPolicy
. 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
Campaign Manager: acceso de lectura a los archivos de DTv2 de Campaign Manager almacenados en Cloud Storage. El acceso lo gestiona la entidad desde la que recibiste el segmento de Cloud Storage.
Configurar una transferencia de Campaign Manager
Para configurar una transferencia de datos de Campaign Manager, se necesita lo siguiente:
Segmento de Cloud Storage: el URI del segmento de Cloud Storage de tus archivos DTv2 de Campaign Manager, tal como se describe en la sección Antes de empezar. El nombre del segmento debe tener el siguiente formato:
dcdt_-dcm_account123456
ID de Campaign Manager: su ID de red, anunciante o Floodlight de Campaign Manager. El ID de red es el elemento principal de la jerarquía.
Buscar tu ID de Campaign Manager
Para obtener tu ID de Campaign Manager, puedes usar la consola de Cloud Storage para examinar los archivos de tu segmento de Cloud Storage de Transferencia de Datos de Campaign Manager. El ID de Campaign Manager se usa para asociar archivos en el segmento de Cloud Storage proporcionado. El ID está insertado en el nombre del archivo, no en el nombre del segmento de Cloud Storage.
Por ejemplo:
- En un archivo llamado
dcm_account123456_activity_*
, el ID es 123456. - En un archivo llamado
dcm_floodlight7890_activity_*
, el ID es 7890. - En un archivo llamado
dcm_advertiser567_activity_*
, el ID es 567.
Buscar el prefijo del nombre de archivo
En raras ocasiones, los archivos de tu segmento de Cloud Storage pueden tener nombres de archivo personalizados y no estándar que haya configurado el equipo de servicios de Google Marketing Platform.
Por ejemplo:
- En un archivo llamado
dcm_account123456custom_activity_*
, el prefijo es dcm_account123456custom, es decir, todo lo que hay antes de_activity
.
Si necesitas ayuda, ponte en contacto con el equipo de Asistencia de Campaign Manager.
Crear una transferencia de datos para Campaign Manager
Consola
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en
Crear transferencia.En la página Crear transferencia, haz lo siguiente:
En la sección Tipo de fuente, en Fuente, elija Campaign Manager.
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 Opciones de programación, en Programación, deja el valor predeterminado (Empezar ahora) o haz clic en Empezar a una hora determinada.
- En Se repite, elige una opción para determinar la frecuencia con la que se ejecutará la transferencia. Si eliges una opción que no sea Diario, tendrás otras opciones disponibles. Por ejemplo, si elige Semanalmente, aparecerá una opción para seleccionar el día de la semana.
- En Fecha de inicio y tiempo de ejecución, introduce la fecha y la hora en las que quieres que empiece la transferencia de datos. Si eliges Empezar ahora, esta opción estará inhabilitada.
En la sección Configuración de destino, en Conjunto de datos de destino, selecciona el conjunto de datos que has creado para almacenar los datos.
En la sección Detalles de la fuente de datos:
- En Segmento de Cloud Storage, introduce o busca el nombre del segmento de Cloud Storage que almacena tus archivos de Transferencia de datos V2.0. Cuando introduzcas el nombre del segmento, no incluyas
gs://
. - En ID de DoubleClick, introduzca el ID de Campaign Manager correspondiente.
- (Opcional) Si tus archivos tienen nombres estándar como estos ejemplos, deja en blanco el campo Prefijo de nombre de archivo. Especifica un prefijo de nombre de archivo si los archivos de tu segmento de Cloud Storage tienen nombres de archivo personalizados.
- En Segmento de Cloud Storage, introduce o busca el nombre del segmento de Cloud Storage que almacena tus archivos de Transferencia de datos V2.0. Cuando introduzcas el nombre del segmento, no incluyas
(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.
- En Selecciona un tema de Pub/Sub, elige el 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
bq mk --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
Donde:
- project_id es el ID del proyecto.
- dataset es el conjunto de datos de destino de la configuración de Data Transfer.
- 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 identificarla si necesitas modificarla más adelante.
- parameters contiene los parámetros de la configuración de transferencia de datos creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
. En el caso de Campaign Manager, debe proporcionar los parámetrosbucket
ynetwork_id
.bucket
es el segmento de Cloud Storage que contiene tus archivos de DTv2 de Campaign Manager.network_id
es su ID de red, de Floodlight o de anunciante. - data_source es la fuente de datos:
dcm_dt
(Gestor de Campañas).
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 Campaign Manager llamada My Transfer
con el ID de Campaign Manager 123456
, el segmento de Cloud Storage dcdt_-dcm_account123456
y el conjunto de datos de destino mydataset
. El parámetro file_name_prefix
es opcional y solo se usa para nombres de archivo personalizados poco frecuentes.
La transferencia de datos se crea en el proyecto predeterminado:
bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket": "dcdt_-dcm_account123456","network_id": "123456","file_name_prefix":"YYY"}' \
--data_source=dcm_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 Campaign Manager
Si tienes problemas para configurar la transferencia de datos, consulta la sección Problemas con la transferencia de Campaign 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 de Campaign Manager
Puede usar las siguientes consultas de ejemplo de Campaign 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 Campaign Manager con BigQuery. Si tiene alguna pregunta más sobre lo que puede hacer con estos informes, póngase en contacto con su representante técnico de Campaign Manager.
En cada una de las siguientes consultas, sustituya las variables, como dataset, por sus valores.
Últimas campañas
La siguiente consulta de ejemplo en SQL obtiene las campañas más recientes.
SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE
Impresiones y usuarios únicos por campaña
La siguiente consulta de ejemplo de SQL analiza el número de impresiones y usuarios únicos por campaña en los últimos 30 días.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY Campaign_ID, Date
Últimas campañas ordenadas por campaña y fecha
La siguiente consulta SQL de ejemplo analiza las últimas campañas de los últimos 30 días, ordenadas por campaña y fecha.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT Campaign, Campaign_ID, Date FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ORDER BY Campaign_ID, Date
Impresiones y usuarios únicos por campaña en un periodo
La siguiente consulta de ejemplo de SQL analiza el número de impresiones y de usuarios únicos por campaña entre el start_date y el end_date.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, imp.count AS imp_count, imp.du AS imp_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ) AS base LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY Campaign_ID, Date ) AS imp ON base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date WHERE base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date ORDER BY base.Campaign_ID, base.Date
Impresiones, clics, actividades y usuarios únicos por campaña
La siguiente consulta SQL de ejemplo analiza el número de impresiones, clics, actividades y usuarios únicos por campaña en los últimos 30 días. En esta consulta, sustituye las variables, como campaign_list, por tus valores. Por ejemplo, sustituya campaign_list por una lista separada por comas de todas las campañas de Campaign Manager que le interesen en el ámbito de la consulta.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, imp.count AS imp_count, imp.du AS imp_du, click.count AS click_count, click.du AS click_du, activity.count AS activity_count, activity.du AS activity_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) ) ) AS base LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS imp ON base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.click_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS click ON base.Campaign_ID = click.Campaign_ID AND base.Date = click.Date LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.activity_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS activity ON base.Campaign_ID = activity.Campaign_ID AND base.Date = activity.Date WHERE base.Campaign_ID IN campaign_list AND (base.Date = imp.Date OR base.Date = click.Date OR base.Date = activity.Date) ORDER BY base.Campaign_ID, base.Date
Actividad de la campaña
La siguiente consulta de ejemplo de SQL analiza la actividad de las campañas de los últimos 30 días. En esta consulta, sustituya las variables, como campaign_list, por sus valores. Por ejemplo, sustituya campaign_list por una lista separada por comas de todas las campañas de Campaign Manager que le interesen en el ámbito de la consulta.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, activity.count AS activity_count, activity.du AS activity_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT mt_at.Activity_Group, mt_ac.Activity, mt_ac.Activity_Type, mt_ac.Activity_Sub_Type, mt_ac.Activity_ID, mt_ac.Activity_Group_ID FROM `dataset.match_table_activity_cats_campaign_manager_id` AS mt_ac JOIN ( SELECT Activity_Group, Activity_Group_ID FROM `dataset.match_table_activity_types_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ) AS mt_at ON mt_at.Activity_Group_ID = mt_ac.Activity_Group_ID WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ) AS base LEFT JOIN ( SELECT Campaign_ID, Activity_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.activity_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Activity_ID, Date ) AS activity ON base.Campaign_ID = activity.Campaign_ID AND base.Activity_ID = activity.Activity_ID AND base.Date = activity.Date WHERE base.Campaign_ID IN campaign_list AND base.Activity_ID = activity.Activity_ID ORDER BY base.Campaign_ID, base.Activity_Group_ID, base.Activity_ID, base.Date