Cómo programar una transferencia de Facebook Ads

El Servicio de transferencia de datos de BigQuery para el conector de Facebook Ads te permite programar y administrar de forma automática los trabajos de carga recurrentes de Facebook Ads en BigQuery.

Limitaciones

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

  • El tiempo de intervalo mínimo entre las transferencias de datos recurrentes de Facebook Ads es 24 horas. El intervalo predeterminado para una transferencia de datos recurrente es de 24 horas.
  • El Servicio de transferencia de datos de BigQuery para Facebook Ads solo admite un conjunto fijo de tablas. No se admiten los informes personalizados.
  • Las transferencias de datos de Facebook Ads tienen una duración máxima de seis horas. Una transferencia falla si lleva más de esta duración máxima.
  • Las transferencias incrementales no son compatibles con las tablas AdInsights y AdInsightsActions. Cuando creas una transferencia de datos que incluye las tablas AdInsights y AdInsightsActions, y especificaste una fecha en Opciones de programación, se transfieren todos los datos disponibles para esa fecha.
  • El Servicio de transferencia de datos de BigQuery admite un período de actualización de un día para las tablas AdInsights y AdInsightsActions. El período de actualización se refiere a la cantidad de días a partir de los cuales una transferencia de datos recuperará los datos de origen. 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.
  • El token de acceso de usuario de larga duración que se requiere para las transferencias de Facebook Ads vence después de 60 días.

    Si tu token de acceso de usuario de larga duración está vencido, puedes obtener el nuevo; para ello, ve a los detalles de la transferencia de datos y haz clic en Editar. En la página para editar la transferencia, sigue los mismos pasos en Requisitos previos de Facebook Ads para generar un token de acceso de usuario de larga duración nuevo.

Transferencia de datos desde transferencias de Facebook Ads

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

En 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.

Para las tablas AdAccounts, las instantáneas se toman una vez al día y se almacenan en la partición de la última fecha de ejecución de la transferencia. El período de actualización no se aplica a la tabla AdAccounts.

Antes de comenzar

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

Requisitos previos de Facebook Ads

Asegúrate de tener la siguiente información de Facebook Ads cuando crees una transferencia de datos de Facebook Ads.

Parámetros de Facebook Ads Descripción
clientID El nombre del ID de la app para el cliente de OAuth 2.0.
clientSecret El secreto de la app para el 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 app para desarrolladores de Facebook con el tipo de app Business.
  2. En el panel de la app de Facebook, haz clic en Configuración de la app > Básico y busca el ID de la app y el secreto de la app que correspondan a la app.

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 consola de Google Cloud, continúa con los pasos para crear una transferencia de Facebook Ads.

  2. En la sección Detalles de la fuente de datos, copia el URI de redireccionamiento que se muestra después del campo Token de actualización.

    Copia el URI de redireccionamiento

  3. Haz clic en el panel de la app de Facebook y, luego, en Configurar en la sección Acceso con Facebook para empresas.

    Establece la configuración del Acceso con Facebook para empresas

  4. En la página Configuración, ingresa la URL de redireccionamiento en el campo URI de redireccionamiento de OAuth válidos y haz clic en Guardar.

  5. Regresa a la consola de Google Cloud. En la sección Detalles de la fuente de datos, haz clic en Autorizar. Se te redireccionará a la página de autenticación de Facebook.

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

  6. Selecciona la app de desarrollador de Facebook para autorizar la cuenta que se conecta con el Servicio de transferencia de datos de BigQuery.

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

Los tokens de acceso de usuario de larga duración vencen después de 60 días. Para obtener información sobre cómo obtener un nuevo token de acceso de usuario de larga duración, consulta Limitaciones.

Actualiza alternativas de token

Como alternativa, puedes proporcionar un token de actualización cuando creas una transferencia de datos si obtuviste uno mediante uno de los siguientes métodos:

  • Genera un token de acceso de usuario de larga duración con la API de Graph. Se requieren los permisos ads_management, ads_read y business_management para un token válido de la transferencia de datos.
  • Genera un token de usuario del sistema. Un token de usuario del sistema te permite agregar recursos, como cuentas de anuncios, de forma manual para que se incluyan en la transferencia de datos. Si un token de usuario del sistema venció, debes actualizar de forma manual la configuración de la transferencia con credenciales nuevas. También tienes la opción de crear un token que no venza cuando creas un token de usuario del sistema. Para obtener más información, consulta Tokens de acceso admitidos.

Requisitos previos de BigQuery

Roles de BigQuery requeridos

Para obtener los permisos que necesitas para crear una transferencia, pídele a tu administrador que te otorgue el rol de IAM de administrador de BigQuery (roles/bigquery.admin). Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear una transferencia. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear una transferencia:

  • 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 o con otros roles predefinidos

Crea una transferencia de datos de Facebook Ads

Selecciona una de las siguientes opciones:

Console

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

    Ir a Transferencias de datos

  2. Haz clic en Crear transferencia.

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

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

    • En ID de cliente, ingresa el ID de la app.
    • En Secreto del cliente, ingresa el secreto de la app.
    • En Refresh token, ingresa el ID del token de acceso de usuario de larga duración. Para ello, haz clic en Autorizar. De manera alternativa, si ya tienes un token de actualización o un token de usuario del sistema, puedes ingresar el token de actualización directamente en este campo.

      Para obtener información sobre cómo recuperar un token de acceso de usuario de larga duración, consulta Requisitos previos de Facebook Ads.

  5. En la sección Configuración de destino, en Conjunto de datos de destino, selecciona el conjunto de datos que creaste para almacenar tus datos.

  6. En la sección Nombre de configuración de la transferencia (Transfer config name), en Nombre visible (Display name), ingresa el nombre de la transferencia de datos.

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

    • En la lista Frecuencia de repetición, selecciona una opción para especificar la frecuencia con la que se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizada. Si seleccionas Según demanda, esta transferencia se ejecuta cuando activas la transferencia de forma manual.

    • Si corresponde, selecciona Comenzar ahora o Comenzar a una hora determinada y proporciona una fecha de inicio y una hora de ejecución.

  8. Opcional: En el menú Cuenta de servicio, selecciona una cuenta de servicio de las cuentas de servicio asociadas a tu proyecto de Google Cloud. La cuenta de servicio seleccionada debe tener los roles necesarios para ejecutar esta transferencia de datos.

    Si accediste con una identidad federada, se requiere una cuenta de servicio para crear una transferencia de datos. Si accediste con una Cuenta de Google, la cuenta de servicio para dicha transferencia de datos es opcional.

    Para obtener más información sobre el uso de cuentas de servicio con transferencias de datos, consulta Usa cuentas de servicio.

  9. Opcional: En la sección Opciones de notificación, haz lo siguiente:

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

Cuando se ejecuta esta transferencia de datos, el Servicio de transferencia de datos de BigQuery propaga automáticamente las siguientes tablas.

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

bq

Ingresa el comando bq mk y suministra la marca de creación de transferencias --transfer_config.

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

Aquí:

  • PROJECT_ID (opcional): Tu ID del proyecto de Google Cloud. Si no se proporciona --project_id para especificar un proyecto en particular, se usa el proyecto predeterminado.
  • DATA_SOURCE: es 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 con facilidad si es necesario hacerle modificaciones más tarde.
  • DATASET: el conjunto de datos de destino para la configuración de transferencia.
  • PARAMETERS: los parámetros de la configuración de transferencia de datos creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}' Los siguientes son los parámetros para una transferencia de Facebook Ads:
    • connector.authentication.oauth.clientId: El nombre del ID de la app para el cliente de OAuth 2.0.
    • connector.authentication.oauth.clientSecret: El secreto de la app para el 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 Facebook Ads en el proyecto predeterminado con todos los parámetros requeridos:

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 suministra una instancia del recurso TransferConfig.

Soluciona problemas con la configuración de una transferencia

Si tienes problemas para configurar una transferencia de datos de Facebook Ads, prueba los siguientes pasos para solucionar problemas:

  • Comprueba si el token de acceso del usuario venció con el depurador de tokens de acceso de Facebook. Los tokens de acceso de usuario de larga duración vencen después de 60 días. Si tu token de acceso de larga duración venció, navega a los detalles de tu transferencia y, luego, haz clic en Editar para modificar la configuración de tu transferencia. En la página para editar la transferencia, sigue los mismos pasos en Requisitos previos de Facebook Ads para generar uno nuevo.
  • Comprueba que el token de acceso de larga duración se genere con los permisos requeridos: ads_management, ads_read y business_management. Si no es así, sigue los pasos que se indican en los requisitos previos de Facebook Ads para generar un token de acceso de larga duración nuevo.
  • Revisa la pestaña Acciones requeridas en el panel de la app de Facebook para cualquier elemento que requiera atención.

Es posible que veas los siguientes mensajes de error relacionados con 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.
Resolución: Verifica que no haya flujos de trabajo paralelos que usen las mismas apps o credenciales. Si estos errores persisten, intenta actualizar tus permisos a Acceso avanzado para obtener más cuota de límite de frecuencia. Para obtener más información, consulta Límite de frecuencia de la API de Marketing.

Mensajes comunes de métricas de supervisión

También puedes verificar las métricas de supervisión del Servicio de transferencia de datos de BigQuery para determinar la causa de una falla de transferencia de datos. En la siguiente tabla, se mencionan algunos mensajes ERROR_CODE comunes para las transferencias de datos de Facebook Ads.

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 controlar esta transferencia de datos temporalmente
DEADLINE_EXCEEDED La transferencia de datos no finalizó en el plazo máximo de seis horas
NOT_FOUND No se encontró un recurso solicitado
INTERNAL Otro problema causó que el conector fallara
RESOURCE_EXHAUSTED Se agotó una cuota o un límite de fuente de datos

Precios

No se aplican costos por transferir datos de Facebook Ads a BigQuery mientras esta función está en vista previa.

¿Qué sigue?