Cargar datos de Facebook Ads en BigQuery

Puede cargar datos de Facebook Ads en BigQuery mediante el conector BigQuery Data Transfer Service para Facebook Ads. Con BigQuery Data Transfer Service, puedes programar tareas de transferencia periódicas que añadan los datos más recientes de Facebook Ads a BigQuery.

Informes admitidos

BigQuery Data Transfer Service para Facebook Ads admite la transferencia de los siguientes informes de Facebook Ads:

  • Ads
  • AdInsights
  • AdInsightsActions

Para obtener información sobre cómo se transforman los informes de anuncios de Facebook en tablas y vistas de BigQuery, consulte el artículo Transformación de datos de anuncios de Facebook.

Opción de denuncia Asistencia
Frecuencia de repetición

Diariamente, a la hora en que se creó la transferencia de datos (opción predeterminada)

Puedes configurar la hora del día.

Ventana de actualización

Últimos 30 días

Se puede configurar hasta 30 días.

Limitaciones

Las transferencias de datos de anuncios de Facebook están sujetas a las siguientes limitaciones:

  • El intervalo mínimo entre transferencias de datos recurrentes de anuncios de Facebook es de 24 horas. El intervalo predeterminado de una transferencia de datos periódica es de 24 horas.
  • BigQuery Data Transfer Service para Facebook Ads solo admite un conjunto fijo de tablas. No se admiten informes personalizados.
  • Las transferencias de datos de Anuncios de Facebook tienen una duración máxima de seis horas. Una transferencia falla si tarda más de lo que indica esta duración máxima.
  • No se admiten las transferencias incrementales en las tablas AdInsights y AdInsightsActions. Cuando crea una transferencia de datos que incluye las tablas AdInsights y AdInsightsActions, y especifica una fecha en Opciones de programación, se transfieren todos los datos disponibles para esa fecha.
  • BigQuery Data Transfer Service admite una ventana de actualización de un día para las tablas AdInsights y AdInsightsActions. La ventana de actualización es el número de días durante los que una transferencia de datos recuperará datos de origen. Cuando ejecutas una transferencia de datos por primera vez, esta recupera todos los datos de origen disponibles en la ventana de actualización.
  • El token de acceso de usuario de larga duración que se necesita para las transferencias de anuncios de Facebook caduca al cabo de 60 días.

    Si tu token de acceso de usuario de larga duración ha caducado, puedes obtener uno nuevo. Para ello, ve a los detalles de la transferencia de datos y haz clic en Editar. En la página de edición de la transferencia, sigue los mismos pasos que se indican en la sección Requisitos previos de los anuncios de Facebook para generar un nuevo token de acceso de usuario de larga duración.

  • Si la conexión de red configurada y la instancia de máquina virtual (VM) se encuentran en regiones diferentes, puede que haya movimiento de datos entre regiones al transferir datos de Anuncios de Facebook.

Ingestión de datos de transferencias de Facebook Ads

Cuando transfieres datos de Anuncios de Facebook 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.

En el caso de las tablas AdInsights y AdInsightsAction, la partición de la tabla en la que se cargan los datos corresponde a la fecha de la fuente de datos.

En el caso de las tablas AdAccounts, las instantáneas se hacen una vez al día y se almacenan en la partición de la fecha de la última ejecución de la transferencia. La ventana de actualización no se aplica a la tabla AdAccounts.

Antes de empezar

En las siguientes secciones se describen los pasos que debes seguir antes de crear una transferencia de datos de anuncios de Facebook.

Requisitos previos de Facebook Ads

Asegúrese de que tiene la siguiente información de Anuncios de Facebook cuando cree una transferencia de datos de Anuncios de Facebook.

Parámetros de Facebook Ads Descripción
clientID El nombre del ID de la aplicación del cliente de OAuth 2.0.
clientSecret El secreto de la aplicación del cliente de OAuth 2.0.
refreshToken El token de acceso de usuario de larga duración, también conocido como token de actualización.

Para obtener un clientID y un clientSecret, sigue estos pasos:

  1. Crea una aplicación de desarrollador de Facebook con el tipo de aplicación Business.
  2. En el panel de control de la aplicación de Facebook, haz clic en Configuración de la aplicación > Básico y busca el ID y el secreto de la aplicación.

Para obtener un token de acceso de usuario de larga duración, también conocido como token de actualización, sigue estos pasos:

  1. En la Google Cloud consola, sigue los pasos para crear una transferencia de Facebook Ads.

  2. En la sección Detalles de la fuente de datos, copie el URI de redirección que aparece después del campo Token de actualización.

    Copiar el URI de redirección

  3. Haga clic en el panel de control de la aplicación de Facebook y, a continuación, en Configurar en la sección Inicio de sesión de Facebook para empresas.

    Configurar los ajustes de Inicio de sesión con Facebook para empresas

  4. En la página Configuración, introduce la URL de redirección en el campo URIs de redirección de OAuth válidas y haz clic en Guardar.

  5. Vuelve a la consola de Google Cloud . En la sección Detalles de la fuente de datos, haga clic en Autorizar. Se te redirigirá a una página de autenticación de Facebook.

    Generar un token de acceso de usuario de larga duración

  6. Selecciona la aplicación de desarrollador de Facebook para autorizar la cuenta que se conecta con BigQuery Data Transfer Service.

  7. Cuando hayas terminado, haz clic en Entendido para volver a la consola Google Cloud . El token de acceso de usuario de larga duración ahora se incluye en la configuración de la transferencia.

Los tokens de acceso de usuario de larga duración caducan a los 60 días. Para obtener información sobre cómo obtener un nuevo token de acceso de usuario de larga duración, consulta Limitaciones.

Alternativas al token de actualización

También puede proporcionar un token de actualización al crear una transferencia de datos si ha obtenido uno mediante uno de los siguientes métodos:

  • Genera un token de acceso de usuario de larga duración con la API Graph. Los permisos ads_management, ads_read y business_management son necesarios para obtener un token válido para la transferencia de datos.
  • Genera un token de usuario del sistema. Un token de usuario del sistema te permite añadir manualmente recursos, como cuentas publicitarias, para que se incluyan en la transferencia de datos. Si un token de usuario del sistema ha caducado, debes actualizar manualmente la configuración de la transferencia con las nuevas credenciales. También tienes la opción de crear un token que no caduque al crear un token de usuario del sistema. Para obtener más información, consulta Tokens de acceso admitidos.

Requisitos previos de BigQuery

Roles de BigQuery necesarios

Para obtener los permisos que necesitas para crear una transferencia, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de BigQuery (roles/bigquery.admin). Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear una transferencia. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para crear una transferencia, se necesitan los siguientes permisos:

  • bigquery.transfers.update en el usuario
  • bigquery.datasets.get en el conjunto de datos de destino
  • bigquery.datasets.update en el conjunto de datos de destino

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Crear una transferencia de datos de anuncios de Facebook

Selecciona una de las opciones siguientes:

Consola

  1. Ve a la página Transferencias de datos de la Google Cloud consola.

    Ir a Transferencias de datos

  2. Haz clic en Crear transferencia.

  3. En la sección Tipo de fuente, en Fuente, selecciona Anuncios de Facebook.

  4. En la sección Detalles de la fuente de datos, haga lo siguiente:

  5. En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que ha creado para almacenar sus datos.

  6. En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos.

  7. En la sección Opciones de programación, haga lo siguiente:

    • En la lista Frecuencia de repetición, selecciona una opción para especificar con qué frecuencia se realiza esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizar. Si seleccionas Bajo demanda, la transferencia se realizará cuando la inicies manualmente.
    • Si procede, selecciona Empezar ahora o Empezar a una hora determinada y proporciona una fecha de inicio y un tiempo de ejecución.
  8. Opcional: En la sección Opciones de notificación, haz lo siguiente:

    • Para habilitar las notificaciones por correo, haz clic en el interruptor Notificación por correo. Si habilitas esta opción, el administrador de la transferencia recibirá una notificación por correo cuando falle una ejecución de transferencia.
    • Para habilitar las notificaciones de Pub/Sub sobre la transferencia de estos datos, haz clic en el interruptor Notificaciones de Pub/Sub. Puedes seleccionar el nombre del tema o hacer clic en Crear un tema para crear uno.
  9. Haz clic en Guardar.

Cuando se ejecuta esta transferencia de datos, BigQuery Data Transfer Service rellena automáticamente las siguientes tablas.

Nombre de la tabla Descripción
AdAccounts Las cuentas publicitarias disponibles para un usuario.
AdInsights Informe de estadísticas de anuncios de todas las cuentas publicitarias.
AdInsightsActions Informe de acciones de estadísticas de anuncios de todas las cuentas publicitarias.

bq

Introduce el comando bq mk y proporciona la marca de creación de transferencia --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Donde:

  • PROJECT_ID (opcional): el ID de tu proyecto Google Cloud . Si no se proporciona --project_id para especificar un proyecto concreto, se usará el proyecto predeterminado.
  • DATA_SOURCE: la fuente de datos (por ejemplo, facebook-ads).
  • DISPLAY_NAME: 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.
  • DATASET: el conjunto de datos de destino de la configuración de transferencia de datos.
  • PARAMETERS: los parámetros de la configuración de transferencia de datos creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}'. Estos son los parámetros de una transferencia de anuncios de Facebook:
    • connector.authentication.oauth.clientId: nombre del ID de la aplicación del cliente de OAuth 2.0.
    • connector.authentication.oauth.clientSecret: el secreto de la aplicación del cliente de OAuth 2.0.
    • connector.authentication.oauth.refreshToken: el ID del token de larga duración.

Por ejemplo, el siguiente comando crea una transferencia de datos de anuncios de Facebook en el proyecto predeterminado con todos los parámetros obligatorios:

bq mk
--transfer_config
--target_dataset=mydataset
--data_source=facebook_ads
--display_name='My Transfer'
--params='{"connector.authentication.oauth.clientId": "1650000000",
    "connector.authentication.oauth.clientSecret":"TBA99550",
    "connector.authentication.oauth.refreshToken":"abcdef"}'

API

Usa el método projects.locations.transferConfigs.create y proporciona una instancia del recurso TransferConfig.

Solucionar problemas de configuración de transferencias

Si tienes problemas para configurar una transferencia de datos de anuncios de Facebook, prueba a seguir estos pasos:

  • Comprueba si tu token de acceso de usuario ha caducado con el depurador de tokens de acceso de Facebook. Los tokens de acceso de usuario de larga duración caducan al cabo de 60 días. Si tu token de acceso de usuario de larga duración ha caducado, ve a los detalles de la transferencia y haz clic en Editar para modificar la configuración de la transferencia. En la página de edición de la transferencia, sigue los mismos pasos que se indican en la sección Requisitos previos de los anuncios de Facebook para generar uno nuevo.
  • Comprueba que el token de acceso de usuario de larga duración se haya generado con los permisos necesarios: ads_management, ads_read y business_management. Si no es así, sigue los pasos que se indican en la sección Requisitos previos de los anuncios de Facebook para generar un nuevo token de acceso de usuario de larga duración.
  • Consulta la pestaña Acciones necesarias del panel de control de la aplicación de Facebook para ver los elementos que requieren tu atención.

Es posible que aparezcan los siguientes mensajes de error relacionados con los errores de límite de frecuencia de la API de Meta:

Error: There have been too many calls from this ad-account. Wait a bit and try again.
Solución: Comprueba que no haya flujos de trabajo paralelos que usen las mismas aplicaciones o credenciales. Si estos errores persisten, prueba a actualizar tus permisos a Acceso avanzado para obtener más cuota de limitación de frecuencia. Para obtener más información, consulta Limitación de la frecuencia de la API Marketing.

Mensajes de métricas de monitorización habituales

También puede consultar las métricas de monitorización de BigQuery Data Transfer Service para determinar la causa de un fallo en la transferencia de datos. En la siguiente tabla se enumeran algunos mensajes ERROR_CODE habituales para las transferencias de datos de anuncios de Facebook.

Error Descripción
INVALID_ARGUMENT La configuración proporcionada no es válida
PERMISSION_DENIED Las credenciales no son válidas
UNAUTHENTICATED Se requiere autenticación
SERVICE_UNAVAILABLE El servicio no puede gestionar esta transferencia de datos temporalmente
DEADLINE_EXCEEDED La transferencia de datos no ha finalizado en el plazo máximo de seis horas
NOT_FOUND No se encuentra un recurso solicitado
INTERNAL El conector ha fallado por otro motivo
RESOURCE_EXHAUSTED Se ha alcanzado el límite o la cuota de una fuente de datos

Precios

La transferencia de datos de Facebook Ads a BigQuery no tiene ningún coste mientras esta función esté en vista previa.

Siguientes pasos