Transferencias de Campaign Manager
El conector del Servicio de transferencia de datos de BigQuery para Campaign Manager te permite administrar y programar de manera automática trabajos de carga recurrentes de los datos de informes de Campaign Manager.
Informes compatibles
El Servicio de transferencia de datos de BigQuery para Campaign Manager (antes conocido como DoubleClick Campaign Manager) es compatible con las siguientes opciones de informes:
- Archivos de transferencia de datos v2 (Campaign Manager DTv2)
- Tablas de coincidencia de transferencia de datos v2 (Campaign Manager DTv2)
Para obtener más información sobre cómo se transforman los informes de Campaign Manager en vistas y tablas de BigQuery, consulta Transformaciones de informes de Campaign Manager.
Opción de informe | Asistencia |
---|---|
Frecuencia de repetición | Cada 8 horas, según la hora de creación No configurable |
Período de actualización | Últimos 2 días No configurable |
Duración máxima del reabastecimiento | Últimos 60 días Campaign Manager retiene los archivos de transferencia de datos hasta por 60 días. Campaign Manager borra los archivos de más de 60 días |
Transferencia de datos desde transferencias de Campaign Manager
Cuando transfieres datos de Campaign Manager a BigQuery, estos se cargan en tablas de BigQuery 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 programas varias transferencias para la misma fecha, el Servicio de transferencia de datos de BigQuery reemplaza la partición para esa fecha específica con los datos más recientes. Las transferencias múltiples en el mismo día o los reabastecimientos en ejecución no generan datos duplicados y las particiones para otras fechas no se ven afectadas.Períodos de actualización
El período de actualización se refiere a la cantidad de días durante los cuales una transferencia de datos recupera datos cuando se produce la transferencia. Por ejemplo, si el período de actualización es de tres días y se produce una transferencia diaria, el Servicio de transferencia de datos de BigQuery recuperará todos los datos de tu tabla de origen de los últimos tres días. En este ejemplo, cuando se produce una transferencia diaria, el Servicio de transferencia de datos de BigQuery crea una nueva partición de tabla de destino de BigQuery con una copia de los datos de la tabla de origen del día actual y, luego, activa automáticamente las ejecuciones de reabastecimiento para actualizar las particiones de la tabla de destino de BigQuery con los datos de la tabla de origen de los últimos dos días. Las ejecuciones de reabastecimiento activadas automáticamente reemplazarán o actualizarán de forma incremental tu tabla de destino de BigQuery, en base a si las actualizaciones incrementales son compatibles o no con el conector del Servicio de transferencia de datos de BigQuery.
Cuando ejecutas una transferencia de datos por primera vez, la transferencia de datos recupera todos los datos de origen disponibles dentro del período de actualización. Por ejemplo, si el período de actualización es de tres días y ejecutas la transferencia de datos por primera vez, el Servicio de transferencia de datos de BigQuery recupera todos los datos de origen en un plazo de tres días.
Las ventanas de actualización se asignan al campo de API TransferConfig.data_refresh_window_days
.
Para recuperar datos fuera del período de actualización, como datos históricos, o para recuperar datos de interrupciones o brechas de transferencia, puedes iniciar o programar una ejecución de reabastecimiento.
Antes de comenzar
Sigue estos pasos antes de crear una transferencia de datos de Campaign Manager:
- Verifica si completaste todas las acciones necesarias para habilitar el Servicio de transferencia de datos de BigQuery
- Crea un conjunto de datos de BigQuery para almacenar los datos de Campaign Manager.
Confirma que tu organización tenga acceso a la transferencia de datos de archivos v2 de Campaign Manager (Campaign Manager DTv2). El equipo de Campaign Manager envía estos archivos a un bucket de Cloud Storage. Para acceder a los archivos de Campaign Manager DTv2, el siguiente paso depende de si tienes un contrato directo con Campaign Manager. En ambos casos, se aplicarán cargos adicionales.
- Si tienes un contrato con Campaign Manager, comunícate con su servicio de asistencia de Campaign Manager para configurar los archivos de Campaign Manager DTv2.
- Si no tienes un contrato con Campaign Manager, tu agencia o distribuidor de Campaign Manager pueden tener acceso a los archivos de Campaign Manager DTv2. Comunícate con tu agencia o distribuidor para acceder a estos archivos.
Después de completar este paso, recibirás un nombre de depósito de Cloud Storage similar al siguiente:
dcdt_-dcm_account123456
Si quieres configurar las notificaciones de ejecución de transferencias para Pub/Sub, debes tener los permisos
pubsub.topics.setIamPolicy
. Para obtener más información, consulta la sección sobre notificaciones de ejecución del Servicio de transferencia de datos de BigQuery.
Permisos necesarios
BigQuery: Asegúrate de que la persona que crea la transferencia de datos tenga los siguientes permisos en BigQuery:
- Los permisos
bigquery.transfers.update
para crear la transferencia de datos - Los permisos
bigquery.datasets.get
ybigquery.datasets.update
en el conjunto de datos de destino
La función predefinida de IAM
bigquery.admin
incluye los permisosbigquery.transfers.update
,bigquery.datasets.update
ybigquery.datasets.get
. Para obtener más información sobre los roles de IAM en el Servicio de transferencia de datos de BigQuery, consulta Control de acceso.- Los permisos
Campaign Manager: acceso de lectura a los archivos de Campaign Manager DTv2 almacenados en Cloud Storage. La entidad que te entregó el depósito de Cloud Storage es la que administra el acceso.
Configura una transferencia de Campaign Manager
Para configurar una transferencia de datos de Campaign Manager se necesita lo siguiente:
Cloud Storage Bucket: la URI del depósito de Cloud Storage para tus archivos de Campaign Manager DTv2 como se describe en Antes de comenzar. El nombre del depósito debe parecerse a este:
dcdt_-dcm_account123456
ID de Campaign Manager: tu ID de Network, Advertiser o Floodlight de Campaign Manager. El ID de Network es el superior en la jerarquía.
Encuentra tu ID de Campaign Manager
Para recuperar tu ID de Campaign Manager, puedes usar la consola de Cloud Storage a fin de examinar los archivos en tu depósito de Cloud Storage de transferencia de datos de Campaign Manager. El ID de Campaign Manager se usa para encontrar coincidencias de archivos en el depósito de Cloud Storage proporcionado. El ID está incorporado en el nombre del archivo, no en el nombre del depósito 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.
Encuentra el prefijo de tu nombre de archivo
En raras ocasiones, tú o el equipo de servicios de Google Marketing Platform pueden configurar los archivos en tu bucket de Cloud Storage con nombres de archivo personalizados no estándar.
Por ejemplo:
- En un archivo llamado
dcm_account123456custom_activity_*
, el prefijo es dcm_account123456custom, todo lo que se encuentra antes de_activity
.
Comunícate con el servicio de asistencia de Campaign Manager si necesitas ayuda.
Crea una transferencia de datos para Campaign Manager
Console
Ve a la página Transferencia de datos en la consola de Google Cloud.
Haz clic en
Crear transferencia.En la página Crear transferencia, sigue estos pasos:
En la sección Tipo de fuente, en Fuente, selecciona Campaign Manager.
En la sección Nombre de la configuración de transferencia (Transfer config name), en Nombre visible, ingresa el nombre de la transferencia de datos, como
My Transfer
. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si es necesario hacerle modificaciones más tarde.En la sección Opciones de programa (Schedule options), en Programa, deja el valor predeterminado, Comenzar ahora (Start now), o haz clic en Comenzar a una hora determinada (Start at a set time).
En Repeticiones (Repeats), selecciona una opción para la frecuencia con la que se ejecutará la transferencia.
- Diaria (predeterminada)
- Semanal
- Mensual
- Personalizada
- Bajo demanda
Si eliges una opción que no sea Diaria (Daily), tendrás opciones adicionales. Por ejemplo, si eliges Semanal, aparece una opción para que selecciones el día.
En Fecha de inicio y hora de ejecución, ingresa la fecha y hora para iniciar la transferencia de datos. Si seleccionas Comenzar ahora (Start now), esta opción se inhabilitará.
En la sección Configuración de destino (Destination settings), en Conjunto de datos de destino (Destination dataset), selecciona el conjunto de datos que creaste para almacenar tus datos.
En la sección Detalles de fuente de datos (Data source details):
- En Depósito de Cloud Storage, ingresa o busca el nombre del depósito de Cloud Storage que almacena tus archivos de Transferencia de datos V2.0. Cuando ingreses el nombre del bucket, no incluyas
gs://
. - En DoubleClick ID (ID de DoubleClick), ingresa el ID de Campaign Manager que corresponda.
(Opcional) Si tus archivos tienen nombres estándar como estos ejemplos, deja el campo File name prefix (Prefijo del nombre del archivo) en blanco. Especifica un prefijo de nombre de archivo si los archivos de tu bucket de Cloud Storage tienen nombres de archivo personalizados.
- En Depósito de Cloud Storage, ingresa o busca el nombre del depósito de Cloud Storage que almacena tus archivos de Transferencia de datos V2.0. Cuando ingreses el nombre del bucket, no incluyas
(Opcional) En la sección Opciones de notificación:
- Haz clic en el botón de activación para habilitar las notificaciones por correo electrónico. Cuando habilitas esta opción, el administrador de transferencias recibe una notificación por correo electrónico cuando falla una ejecución de transferencia.
- En Seleccionar un tema de Cloud Pub/Sub (Select a Cloud Pub/Sub topic), elige el nombre de tu tema o haz clic en Crear un tema (Create a topic). Con esta opción, se configuran las notificaciones de ejecución de Pub/Sub para tu transferencia.
Haz clic en Guardar.
bq
Ingresa el comando bq mk
y suministra la marca de creación de transferencias --transfer_config
. También se requieren 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 para la configuración de transferencia de datos.
- 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 es necesario hacerle modificaciones más tarde.
- parameters contiene los parámetros para la configuración de la transferencia de datos creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
Para Campaign Manager, debes proporcionar los parámetrosbucket
ynetwork_id
.bucket
es el depósito de Cloud Storage que contiene tus archivos de Campaign Manager DTv2.network_id
es el ID de tu red, reflector o anunciante. - data_source es la fuente de datos:
dcm_dt
(Campaign Manager).
También puedes proporcionar la marca --project_id
para especificar un proyecto en particular. Si no se especifica --project_id
, se usa el proyecto predeterminado.
Por ejemplo, con el siguiente comando, se crea una transferencia de datos de Campaign Manager llamada My Transfer
mediante el ID de Campaign Manager 123456
, el bucket de Cloud Storage dcdt_-dcm_account123456
y el conjunto de datos de destino mydataset
. El parámetro file_name_prefix
es opcional y se usa solo para nombres de archivos excepcionales y personalizados.
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 instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Soluciona problemas de configuración de transferencia de Campaign Manager
Si tienes problemas con la configuración de tu transferencia, consulta Problemas de transferencia de datos de Campaign Manager en Solución de problemas de configuración de transferencia.
Consulta tus datos
Cuando tus datos se transfieren a BigQuery, se escriben en tablas particionadas por tiempo de transferencia. Para obtener más información, consulta Introducción a tablas con particiones.
Si consultas tus tablas directamente en lugar de usar las vistas generadas de manera automática, debes usar la seudocolumna _PARTITIONTIME
en tu consulta. Para obtener más información, visita la página Consulta tablas particionadas.
Consultas de muestra de Campaign Manager
Debes usar las siguientes consultas de muestra de Campaign Manager para analizar tus datos transferidos. También puedes usar las consultas en una herramienta de visualización, como Looker Studio. Estas consultas se proporcionan para ayudarte a comenzar a hacer consultas de tus datos de Campaign Manager con BigQuery. Si tienes más preguntas sobre lo que puedes hacer con estos informes, comunícate con tu representante técnico de Campaign Manager.
En cada una de las siguientes consultas, reemplaza las variables como dataset por tus valores.
Últimas campañas
La siguiente consulta de muestra en SQL recupera las últimas campañas.
SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE
Impresiones y usuarios distintos por campaña
La siguiente consulta de muestra en SQL analiza el número de impresiones y usuarios distintos 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 de muestra en SQL 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 distintos por campaña dentro de un período
En la siguiente consulta de muestra en SQL, se analiza el número de impresiones y usuarios distintos por campaña entre start_date y 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 distintos por campaña
La siguiente consulta de muestra en SQL analiza el número de impresiones, clics, actividades y usuarios distintos por campaña en los últimos 30 días. En esta consulta, reemplaza las variables como campaign_list por tus valores. Por ejemplo, reemplaza campaign_list con una lista separada por comas de todas las campañas de interés de Campaign Manager dentro del alcance 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 muestra en SQL analiza la actividad de campaña en los últimos 30 días. En esta consulta, reemplaza las variables como campaign_list por tus valores. Por ejemplo, reemplaza campaign_list con una lista separada por comas de todas las campañas de interés de Campaign Manager dentro del alcance 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