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
yAdInsightsActions
. Cuando crea una transferencia de datos que incluye las tablasAdInsights
yAdInsightsActions
, 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
yAdInsightsActions
. 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:
- Crea una aplicación de desarrollador de Facebook
con el tipo de aplicación
Business
. - 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:
En la Google Cloud consola, sigue los pasos para crear una transferencia de Facebook Ads.
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.
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.
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.
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.
Selecciona la aplicación de desarrollador de Facebook para autorizar la cuenta que se conecta con BigQuery Data Transfer Service.
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
ybusiness_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
- Comprueba que has completado todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Crea un conjunto de datos de BigQuery para almacenar tus datos.
- Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, asegúrate de que tienes el permiso de
pubsub.topics.setIamPolicy
Gestión de Identidades y Accesos (IAM). Si solo configuras notificaciones por correo electrónico, no se necesitan permisos de Pub/Sub. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.
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
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en
Crear transferencia.En la sección Tipo de fuente, en Fuente, selecciona Anuncios de Facebook.
En la sección Detalles de la fuente de datos, haga lo siguiente:
- En Client ID (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.
En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que ha creado para almacenar sus datos.
En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos.
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.
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.
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
ybusiness_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
- Más información sobre BigQuery Data Transfer Service
- Consulta más información sobre cómo trabajar con transferencias, como ver las configuraciones y el historial de ejecuciones.
- Consulta cómo cargar datos con operaciones entre nubes.