Integración con Meta
En esta página, se describen las configuraciones necesarias para incorporar datos de Meta (Facebook e Instagram Ads) como fuente de datos de la carga de trabajo de marketing de la Fundación de datos de Framework de Cortex.
Meta es una empresa de tecnología que posee varias plataformas en línea populares. Cortex Framework integra datos de anuncios de Instagram y Facebook para analizarlos, combinarlos con otras fuentes de datos y usar la IA para obtener estadísticas más detalladas y optimizar tu estrategia de marketing.
En el siguiente diagrama, se describe cómo los datos de marketing de Meta están disponibles a través de la carga de trabajo de marketing de Cortex Framework Data Foundation:
Archivo de configuración
El archivo config.json
configura los parámetros necesarios para conectarse a fuentes de datos y transferir datos desde varias cargas de trabajo. Este archivo contiene los siguientes parámetros para Meta:
"marketing": {
"deployMeta": true,
"Meta": {
"deployCDC": true,
"datasets": {
"cdc": "",
"raw": "",
"reporting": "REPORTING_Meta"
}
}
}
En la siguiente tabla, se describe el valor de cada parámetro de marketing:
Parámetro | Significado | Valor predeterminado | Descripción |
marketing.deployMeta
|
Meta de implementación | true
|
Ejecuta la implementación para la fuente de datos de Meta. |
marketing.Meta.deployCDC
|
Implementa secuencias de comandos de CDC para Meta | true
|
Genera secuencias de comandos de procesamiento de Meta CDC para ejecutarlas como DAG en Cloud Composer. |
marketing.Meta.datasets.cdc
|
Conjunto de datos de CDC para Meta | Conjunto de datos de CDC para Meta | |
marketing.Meta.datasets.raw
|
Conjunto de datos sin procesar para Meta | Conjunto de datos sin procesar de Meta | |
marketing.Meta.datasets.reporting
|
Conjunto de datos de informes para Meta | "REPORTING_Meta"
|
Conjunto de datos de informes de Meta. |
Modelo de datos
En esta sección, se describe el modelo de datos de Meta con el diagrama de relaciones de entidades (ERD).
Vistas básicas
Estos son los objetos azules del ERE y son vistas en tablas de CDC con transformaciones mínimas para descomprimir estructuras de datos complejas. Consulta las secuencias de comandos en src/marketing/src/Meta/src/reporting/ddls
.
Vistas de informes
Estos son los objetos verdes del ERE y son vistas de informes que contienen métricas agregadas. Consulta las secuencias de comandos en src/marketing/src/Meta/src/reporting/ddls
.
Conexión a la API
Las plantillas de transferencia de Cortex Framework para Meta usan la API de Meta Marketing para recuperar atributos y métricas de informes. Las plantillas actuales usan la versión v21.0.
Meta impone un límite de frecuencia dinámico cuando se consulta la API de Marketing. Cuando se alcanza el límite de frecuencia, es posible que los DAG de transferencia de datos de origen a sin procesar no se completen correctamente. En esos casos, puedes ver mensajes de error relevantes en el registro, y la siguiente ejecución de los DAG cargaría de forma retroactiva los datos faltantes.
La API de Meta Marketing tiene dos niveles de acceso: básico y estándar. El nivel estándar ofrece un límite mucho más alto y se recomienda si planeas usar la transferencia de fuente a sin procesar de forma extensa. Para obtener más detalles sobre estos límites y cómo obtener un nivel de acceso más alto, consulta la documentación de Meta.
Si tienes acceso al nivel estándar, puedes disminuir el valor del parámetro de configuración next_request_delay_sec
en src/Meta/src/raw/pipelines/config.ini
para obtener tiempos de carga más rápidos.
Acceso a la API y token de acceso
Los siguientes pasos son obligatorios en el Administrador de Negocio de Meta y en Play Console para transferir datos de Meta a Cortex Framework de forma correcta.
- Identifica una app para usar. Puedes crear una app nueva que esté conectada a la cuenta de la empresa. Asegúrate de que tu app sea del tipo
Business
. - Configura los permisos de la app. Debes ser asignado a la app como administrador para poder crear tokens con ella. Consulta la documentación sobre los roles de las apps. Asegúrate de asignar los recursos (cuentas) relevantes a tu app.
Crea un token de acceso. Los tokens de acceso son necesarios para acceder a la API de Meta Marketing y siempre se asocian con una app y un usuario. Puedes crear el token con un usuario del sistema o con tu propio acceso.
- Crea un usuario del sistema de administrador.
- Genera un token. Asegúrate de anotar el token en cuanto se genere, ya que no podrás volver a recuperarlo una vez que salgas de la página.
- Otorga los permisos
ads_read
ybusiness_management
a tu token para acceder a los objetos compatibles.
Sigue la documentación de Cloud Composer para habilitar Secret Manager en Cloud Composer. Luego, crea un secreto llamado
cortex_meta_access_token
y almacena el token que generaste en el paso anterior como contenido.
Actualización y demora de los datos
Como regla general, la actualización de los datos de las fuentes de datos de Cortex Framework se limita a lo que permite la conexión upstream, así como a la frecuencia de la ejecución de tu DAG. Ajusta la frecuencia de ejecución de tu DAG para alinearla con la frecuencia upstream, las restricciones de recursos y las necesidades de tu empresa.
Con la API de Meta Marketing, la mayoría de los datos (excepto las conversiones) están disponibles casi en tiempo real, aunque se pueden ajustar hasta 28 días después del evento.
Permisos de conexiones de Cloud Composer
Crea las siguientes conexiones en Cloud Composer. Consulta más detalles en la documentación para administrar conexiones de Airflow.
Nombre de la conexión | Purpose |
meta_raw_dataflow
|
Para la API de Meta Marketing > BigQuery Raw Dataset |
meta_cdc_bq
|
Para Conjunto de datos sin procesar > Transferencia de conjuntos de datos de CDC |
meta_reporting_bq
|
Para el conjunto de datos de los CDC > Transferencia de conjuntos de datos de informes |
Permisos de la cuenta de servicio de Cloud Composer
Otorga permisos de Dataflow a la cuenta de servicio que se usa en
Cloud Composer (como se configuró en la conexión meta_raw_dataflow
).
Consulta las instrucciones en la documentación de Dataflow. La cuenta de servicio también requiere el permiso Secret Manager Secret Accessor
. Consulta los detalles en la documentación de control de acceso.
parámetros de solicitud
El directorio src/Meta/config/request_parameters
contiene un archivo de especificación de solicitud de API para cada entidad que se extrae de la API de Meta Marketing. Cada archivo de solicitud contiene una lista de campos para recuperar de la API de Meta Marketing, un campo por fila. Obtén más información en la Referencia de la API de Meta Marketing.
Configuración de transferencia
Controla las canalizaciones de datos Source to Raw
y Raw to CDC
a través de la configuración del archivo src/Meta/config/ingestion_settings.yaml
.
En esta sección, se describen los parámetros de cada canalización de datos.
De fuente a tablas sin procesar
Esta sección tiene entradas que controlan qué entidades recuperan las APIs y cómo. Cada entrada corresponde a una entidad de la API de Meta Marketing. En función de esta configuración, Cortex Framework crea DAG de Airflow que ejecutan canalizaciones de Dataflow para recuperar datos con las APIs de Meta Marketing.
El archivo src/Meta/src/raw/pipelines/config.ini
controla algunos comportamientos del DAG de Cloud Composer y cómo se consumen las APIs de Meta Marketing.
Busca descripciones para cada parámetro en el archivo.
Los siguientes parámetros controlan la configuración de Source to Raw
para cada entrada:
Parámetro | Descripción |
base_table
|
Es la tabla del conjunto de datos sin procesar en la que se almacenan los datos recuperados (por ejemplo, customer ).
|
load_frequency
|
La frecuencia con la que se ejecuta un DAG para recuperar datos de Meta Para obtener más información sobre los valores posibles, consulta la documentación de Airflow. |
object_endpoint
|
Es la ruta de acceso del extremo de la API (por ejemplo, campaigns para el extremo /{account_id}/campaigns ).
|
entity_type
|
Es el tipo de tabla (debe ser fact , dimension o addaccount) ).
|
object_id_column
|
Son las columnas (separadas por comas) que forman un registro único para esta tabla. Solo es obligatoria cuando entity_type es fact .
|
breakdowns
|
Opcional: Columnas de desglose (separadas por comas) para los extremos de estadísticas Solo es aplicable cuando entity_type es fact .
|
action_breakdowns
|
Opcional: Columnas de desglose de acciones (separadas por comas) para los extremos de estadísticas Solo es aplicable cuando entity_type es fact .
|
partition_details
|
Opcional: Si deseas que esta tabla se particione por motivos de rendimiento. Para obtener más información, consulta Partición de tablas. |
cluster_details
|
Opcional: Si deseas que esta tabla se agrupe por motivos de rendimiento. Para obtener más información, consulta Configuración del clúster. |
De tablas sin procesar a tablas de CDC
En esta sección, se describen las entradas que controlan cómo se mueven los datos de las tablas sin procesar a las tablas de CDC. Cada entrada corresponde a una tabla sin procesar (que, a su vez, corresponde a la entidad de la API de Meta, como se mencionó).
Los siguientes parámetros controlan la configuración de Raw to CDC
para cada entrada:
Parámetro | Descripción |
base_table
|
Es la tabla en la que se replicaron los datos sin procesar. Una tabla con el mismo nombre en el conjunto de datos de CDC almacena los datos sin procesar después de la transformación de CDC (por ejemplo, campaign_insights ).
|
row_identifiers
|
Son las columnas (separadas por comas) que forman un registro único para esta tabla. |
load_frequency
|
La frecuencia con la que se ejecuta un DAG para esta entidad para propagar la tabla de CDC Para obtener más información sobre los valores posibles, consulta la documentación de Airflow. |
partition_details
|
Opcional: Si deseas que esta tabla se particione por motivos de rendimiento. Para obtener más información, consulta Partición de tablas. |
cluster_details
|
Opcional: Si deseas que esta tabla se agrupe por motivos de rendimiento. Para obtener más información, consulta Configuración del clúster. |
Esquema de la tabla de CDC
En el caso de Meta, todos los campos se almacenan en formato de cadena en la capa sin procesar. En la capa de CDC, los tipos primitivos se convierten en tipos de datos empresariales relevantes, y todos los tipos complejos se almacenan en formato JSON de BigQuery.
Para habilitar esta conversión, el directorio src/Meta/config/table_schema
contiene un archivo de esquema para cada entidad especificada en la sección raw_to_cdc_tables
que explica cómo traducir correctamente cada tabla de BigQueryraw a la tabla de CDC.
Cada archivo de esquema contiene tres columnas:
SourceField
: Es el nombre del campo de la tabla sin procesar de esta entidad.TargetField
: Es el nombre de la columna en la tabla de CDC de esta entidad.DataType
: Es el tipo de datos de cada campo de la tabla de cdc.
Configuración de informes
Puedes configurar y controlar cómo Cortex genera datos para la capa de informes final de Meta con el archivo de configuración de informes (src/Meta/config/reporting_settings.yaml
). Este archivo controla cómo se generan los objetos de BigQuery de la capa de informes (tablas, vistas, funciones o procedimientos almacenados).
Para obtener más información, consulta Cómo personalizar el archivo de configuración de informes.
Próximos pasos
- Para obtener más información sobre otras fuentes de datos y cargas de trabajo, consulta Fuentes de datos y cargas de trabajo.
- Para obtener más información sobre los pasos para la implementación en entornos de producción, consulta los requisitos previos para la implementación de Data Foundation de Cortex Framework.