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.

Descripción general de los conectores

BigQuery Data Transfer Service para el conector de Facebook Ads admite las siguientes opciones para la transferencia de datos.

Opciones de transferencia de datos Asistencia
Informes admitidos BigQuery Data Transfer Service para Facebook Ads admite la transferencia de los siguientes informes de Facebook Ads:
  • AdAccounts
  • 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 informes de anuncios de Facebook.

Frecuencia de repetición El conector de anuncios de Facebook admite transferencias de datos diarias.

De forma predeterminada, las transferencias de datos se programan en el momento en que se crean. Puedes configurar la hora de la transferencia de datos cuando configures la transferencia de datos.
Ventana de actualización El conector de anuncios de Facebook obtiene datos de anuncios de Facebook de hasta 30 días en el momento en que se ejecuta la transferencia de datos. No puede configurar la ventana de actualización de este conector.

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.

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 de 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 hasta 30 días 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 las particiones de otras fechas no se verán afectadas.

En el caso de las tablas AdInsights y AdInsightsActions, 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.

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.

Para recuperar datos fuera del periodo de actualización, como el historial de datos, o para recuperar datos de interrupciones o brechas de transferencia, puedes iniciar o programar una reposición.

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úrate de tener la siguiente información de anuncios de Facebook cuando crees una transferencia de datos de anuncios de Facebook.

Parámetros de Facebook Ads Descripción
clientID El nombre del ID de 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álidos 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 de Google Cloud . El token de acceso de usuario de larga duración ahora se incluye en la configuración de 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 cuando crees 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 de datos de BigQuery Data Transfer Service, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Administrador de BigQuery (roles/bigquery.admin) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

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

Permisos obligatorios

Para crear una transferencia de datos de BigQuery Data Transfer Service, se necesitan los siguientes permisos:

  • Permisos de BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Permisos de BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

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

Para obtener más información, consulta Conceder acceso a bigquery.admin.

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:

    • En ID de cliente, introduce el ID de la aplicación.
    • En Secreto de cliente, introduce el secreto de la aplicación.
    • En Token de actualización, introduce el ID del token de acceso de usuario de larga duración haciendo clic en Autorizar. Si ya tienes un token de actualización o un token de usuario del sistema, puedes introducirlo directamente en este campo. Para obtener información sobre cómo obtener un token de acceso de usuario de larga duración, consulta los requisitos previos de los anuncios de Facebook.
    • Para transferir objetos de anuncios de Facebook, especifica los informes u objetos de anuncios de Facebook que quieras incluir en esta transferencia.
    • Seleccione Obtener datos solo de cuentas publicitarias autorizadas para obtener datos solo de las cuentas publicitarias que tengan autorización para acceder a su aplicación de Facebook. Puede consultar las cuentas publicitarias autorizadas en Configuración de la aplicación > Avanzada y en la sección Cuentas publicitarias.
    • En ActionsCollections, especifique una o varias colecciones de acciones.
    • En Desgloses genéricos, seleccione los desgloses genéricos de sus datos de estadísticas. Estos desgloses determinan cómo se organizan los datos transferidos en las tablas AdInsights y AdInsightsActions. Anuncios de Facebook solo permite determinadas combinaciones de desgloses. Para obtener más información sobre las combinaciones de desgloses permitidas, consulta Combinar desgloses.
    • En Desglose de acciones, seleccione los desgloses de acciones de los datos de sus estadísticas. Estos desgloses determinan cómo se organizan los datos transferidos en la tabla AdInsightsActions. Para obtener información sobre cómo combinar desgloses, consulta Combinar desgloses.
    • En Periodo de actualización, especifica la duración del periodo de actualización.
  5. En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que haya 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 ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, seleccione Personalizada. 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 las transferencias 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): su ID de 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.
    • connector.authorizedAdAccountsOnly: Si se define como true, el conector solo recupera datos de las cuentas publicitarias que tienen autorización para acceder a tu aplicación de Facebook. Puedes encontrar tus cuentas publicitarias autorizadas en Configuración de la aplicación > Avanzada y en la sección Cuentas avanzadas.
    • connector.actionCollections: las colecciones de acciones son objetos que especifican los diferentes tipos de acciones que han realizado los usuarios en respuesta a tu anuncio. Para ver una lista completa de los valores de actionCollections, consulta Colecciones de acciones.
    • connector.genericBreakdowns: especifica los desgloses genéricos de los datos de tus estadísticas. Estos desgloses determinan cómo se organizan los datos transferidos en las tablas AdInsights y AdInsightsActions. Anuncios de Facebook solo permite determinadas combinaciones de desgloses. Para obtener más información sobre las combinaciones de desgloses permitidas, consulta Combinar desgloses.
    • actionBreakdowns: especifica los desgloses de acciones de los datos de tus estadísticas. Estos desgloses determinan cómo se organizan los datos transferidos en las tablas AdInsights y AdInsightsActions. Para obtener información sobre cómo combinar desgloses, consulta Combinar desgloses.

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",
    "connector.authorizedAdAccountsOnly":true,
    "connector.actionCollections":["Actions", "Conversions"],
    "connector.genericBreakdowns":["PublisherPlatform", "PlatformPosition"],
    "connector.actionBreakdowns":["ActionDevice", "ActionType"]}'

API

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

Cuando guardas la configuración de la transferencia, el conector de anuncios de Facebook activa automáticamente una ejecución de la transferencia según la opción de programación que hayas elegido. En cada ejecución de la transferencia, el conector de Facebook Ads transfiere todos los datos disponibles de Facebook Ads a BigQuery.

Para ejecutar manualmente una transferencia de datos fuera de tu programación habitual, puedes iniciar una ejecución de rellenado.

Para obtener información sobre cómo se asignan los datos transferidos a los campos de la API de Meta, consulta Transformación de informes de anuncios de Facebook.

Colecciones de acciones

Las colecciones de acciones son objetos que especifican los diferentes tipos de acciones que han realizado los usuarios en respuesta a tu anuncio. Puedes especificar colecciones de acciones al configurar la transferencia.

Las colecciones de acciones representan los campos del tipo list<AdsActionStats> que están presentes en la respuesta del endpoint Ad Account, Insights.

Cuando se completa una transferencia, estas colecciones de acciones se rellenan en la AdInsightsActionstabla.

A continuación, se muestra una lista de las colecciones de acciones admitidas en una transferencia de datos de anuncios de Facebook:

  • ActionValues
  • Actions
  • AdClickActions
  • AdImpressionActions
  • CatalogSegmentActions
  • CatalogSegmentValue
  • CatalogSegmentValueMobilePurchaseRoas
  • CatalogSegmentValueOmniPurchaseRoas
  • CatalogSegmentValueWebsitePurchaseRoas
  • ConversionValues
  • Conversions
  • ConvertedProductQuantity
  • ConvertedProductValue
  • CostPer15_secVideoView
  • CostPer2SecContinuousVideoView
  • CostPerActionType
  • CostPerAdClick
  • CostPerConversion
  • CostPerOneThousandAdImpression
  • CostPerOutboundClick
  • CostPerThruplay
  • CostPerUniqueActionType
  • CostPerUniqueConversion
  • CostPerUniqueOutboundClick
  • InteractiveComponentTap
  • MobileAppPurchaseRoas
  • OutboundClicks
  • OutboundClicksCtr
  • PurchaseRoas
  • UniqueActions
  • UniqueConversions
  • UniqueOutboundClicks
  • UniqueOutboundClicksCtr
  • UniqueVideoView15_sec
  • Video15_secWatchedActions
  • Video30_secWatchedActions
  • VideoAvgTimeWatchedActions
  • VideoContinuous2SecWatchedActions
  • VideoP100_watchedActions
  • VideoP25WatchedActions
  • VideoP50WatchedActions
  • VideoP75WatchedActions
  • VideoP95WatchedActions
  • VideoPlayActions
  • VideoPlayCurveActions
  • VideoPlayRetentionGraphActions
  • VideoTimeWatchedActions
  • WebsiteCtr
  • WebsitePurchaseRoas

Combinar desgloses

Anuncios de Facebook tiene restricciones sobre qué columnas se pueden seleccionar juntas. Si se usan estas combinaciones restringidas, la transferencia de datos fallará.

Para obtener más información sobre qué desgloses se pueden combinar, consulta Combinar desgloses.

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. Puedes comprobar los permisos de tu token de acceso de usuario de larga duración introduciendo el siguiente enlace en tu navegador:

    https://graph.facebook.com/me/permissions?access_token=TOKEN
    

    TOKEN es el valor del token de acceso de usuario de larga duración.

    Si no tienes los permisos necesarios, genera un token de acceso de usuario de larga duración siguiendo los pasos que se indican en la sección Requisitos previos de Facebook Ads.

  • 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. También puede aparecer este error con el mensaje This combination of action and generic breakdowns is not allowed.. Para obtener información sobre las combinaciones de desgloses válidas, consulte Combinar desgloses.
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

Para obtener información sobre los precios de las transferencias de anuncios de Facebook, consulta los precios de Data Transfer Service.

Siguientes pasos