Compila una canalización de ELT para datos de análisis de marketing
En este instructivo, se muestra cómo configurar un flujo de trabajo de ELT que extrae, carga y transforma datos de análisis de marketing en BigQuery.
Un flujo de trabajo de ELT típico extrae periódicamente datos de clientes nuevos de tu fuente de datos y los carga en BigQuery. Luego, los datos no estructurados se procesan en métricas significativas. En este instructivo, crearás un flujo de trabajo de ELT configurando una transferencia de datos de análisis de marketing con el Servicio de transferencia de datos de BigQuery. Luego, programarás Dataform para que ejecute transformaciones periódicas en los datos.
En este instructivo, usarás Google Ads como fuente de datos, pero puedes usar cualquiera de las fuentes de datos compatibles con el Servicio de transferencia de datos de BigQuery.
Antes de comenzar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Roles obligatorios
Si quieres obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
- Administrador de BigQuery (
roles/bigquery.admin) - Administrador de Dataform (
roles/dataform.admin)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Programa transferencias de datos recurrentes
Para mantener BigQuery actualizado con los datos de marketing más recientes de tu fuente de datos, configura transferencias de datos recurrentes con el Servicio de transferencia de datos de BigQuery para extraer y cargar datos según una programación.
En este instructivo, usarás Google Ads como fuente de datos de ejemplo. Para obtener una lista completa de las fuentes de datos compatibles con el Servicio de transferencia de datos de BigQuery, consulta Fuentes de datos compatibles.
Ve a la página Transferencia de datos en la Cloud de Confiance consola de.
Haz clic en Crear transferencia.
En la sección Tipo de fuente, en Fuente, elige Google Ads.
En la sección Detalles de fuente de datos (Data source details):
- En ID de cliente, ingresa tu ID de cliente de Google Ads.
- En Tipo de informe, selecciona Estándar. El informe estándar incluye
el conjunto estándar de informes y campos, como se detalla en
Transformación de informes de Google Ads.
- En Período de actualización, ingresa
5.
- En Período de actualización, ingresa
En la sección Configuración de destino, en Conjunto de datos, selecciona el conjunto de datos que creaste para almacenar tus datos.
En la sección Nombre de configuración de la transferencia (Transfer config name), en Nombre visible (Display name), ingresa
Marketing tutorial.En la sección Opciones de programación , haz lo siguiente:
- En Frecuencia de repetición, selecciona Días.
- En A las, ingresa
08:00.
Haz clic en Guardar.
Después de guardar la configuración, el Servicio de transferencia de datos de BigQuery comienza la transferencia de datos. Según la configuración de la transferencia, la transferencia de datos se ejecuta una vez al día a las 8:00 a.m. UTC y extrae datos de Google Ads de los últimos cinco días.
Puedes supervisar los trabajos de transferencia en curso para verificar el estado de cada transferencia de datos.
Consultar datos de tablas
Cuando tus datos se transfieren a BigQuery, se escriben en tablas particionadas por tiempo de transferencia. Para obtener más información, consulta Introducción a tablas con particiones.
Si consultas tus tablas directamente en lugar de usar las vistas generadas de manera automática, debes usar la seudocolumna _PARTITIONTIME en tu consulta. Para obtener más información,
consulta tablas particionadas.
En las siguientes secciones, se muestran consultas de muestra que puedes usar para examinar los datos transferidos.
Rendimiento de la campaña
La siguiente consulta de muestra analiza el rendimiento de las campañas de Google Ads para los últimos 30 días.
Console
SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_impressions) AS Impressions, SUM(cs.metrics_interactions) AS Interactions, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost FROM `DATASET.ads_Campaign_CUSTOMER_ID` c LEFT JOIN `DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs ON (c.campaign_id = cs.campaign_id AND cs._DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)) WHERE c._DATA_DATE = c._LATEST_DATE GROUP BY 1, 2, 3 ORDER BY Impressions DESC
bq
bq query --use_legacy_sql=false ' SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_impressions) AS Impressions, SUM(cs.metrics_interactions) AS Interactions, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost FROM `DATASET.ads_Campaign_CUSTOMER_ID` c LEFT JOIN `DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs ON (c.campaign_id = cs.campaign_id AND cs._DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)) WHERE c._DATA_DATE = c._LATEST_DATE GROUP BY 1, 2, 3 ORDER BY Impressions DESC'
Reemplaza lo siguiente:
DATASET: Es el nombre del conjunto de datos que creaste para almacenar la tabla transferida.CUSTOMER_ID: Es tu ID de cliente de Google Ads.
Recuento de palabras clave
La siguiente consulta de muestra analiza las palabras clave por campaña, grupo de anuncios y estado de las palabras clave. Esta consulta usa la función KeywordMatchType. Los tipos de concordancia de palabras clave te ayudan a controlar cuáles son las búsquedas que activan la publicación de tu anuncio. Para obtener más información sobre las opciones de coincidencia de palabras clave, consulta Acerca de las opciones de concordancia de palabras clave.
Console
SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.ads_Keyword_CUSTOMER_ID` k JOIN `DATASET.ads_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.ads_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4
bq
bq query --use_legacy_sql=false ' SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.ads_Keyword_CUSTOMER_ID` k JOIN `DATASET.ads_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.ads_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4'
Reemplaza lo siguiente:
DATASET: Es el nombre del conjunto de datos que creaste para almacenar la tabla transferida.CUSTOMER_ID: Es tu ID de cliente de Google Ads.
Crea un repositorio de Dataform
Después de crear la configuración de transferencia de datos para transferir los datos más recientes de Google Ads, configura Dataform para transformar periódicamente tus datos de análisis de marketing. Dataform te permite programar transformaciones de datos periódicas y definirlas con SQL mientras colaboras con otros analistas de datos.
Crea un repositorio de Dataform para almacenar las consultas SQLX que componen tu código de transformación.
En la Cloud de Confiance consola de, ve a la página Dataform.
Haz clic en Crear repositorio.
En la página Crear repositorio, haz lo siguiente:
- En el campo ID del repositorio, ingresa
marketing-tutorial-repository. - En la lista Región, selecciona una región.
- Haz clic en Crear.
- En el campo ID del repositorio, ingresa
El repositorio marketing-tutorial-repository ahora aparece en tu lista de repositorios de Dataform.
Para obtener más información sobre los repositorios de Dataform, consulta Acerca de los repositorios de Dataform.
Crea e inicializa un espacio de trabajo de desarrollo de Dataform
Crea un espacio de trabajo de desarrollo de Dataform para poder trabajar en el código de transformación dentro de tu repositorio antes de confirmar y enviar los cambios al repositorio.
En la Cloud de Confiance consola de, ve a la página Dataform.
Haz clic en
marketing-tutorial-repository.Haz clic en Crear lugar de trabajo de desarrollo.
En la ventana Crear espacio de trabajo de desarrollo, haz lo siguiente:
- En el campo ID del lugar de trabajo, ingresa
marketing-tutorial-workspace. - Haz clic en Crear.
Aparecerá la página del espacio de trabajo de desarrollo.
- En el campo ID del lugar de trabajo, ingresa
Haz clic en Inicializar espacio de trabajo.
El espacio de trabajo de desarrollo marketing-tutorial-workspace ahora aparece en tu repositorio marketing-tutorial-repository en la pestaña Lugares de trabajo de desarrollo, junto con dos archivos de ejemplo en el directorio definitions llamados *first_view.sqlx y *second_view.sqlx.
Para obtener más información sobre los espacios de trabajo de desarrollo de Dataform, consulta Descripción general de los espacios de trabajo de desarrollo.
Declara tu tabla de Google Ads como fuente de la tabla
Para conectar tu tabla de Google Ads recién transferida a Dataform, declárala como fuente de datos. Para ello, sigue estos pasos:
Crea un archivo SQLX para la declaración de la fuente de datos
En Dataform, declaras un destino de fuente de datos creando un archivo SQLX en el directorio definitions/:
En la Cloud de Confiance consola de, ve a la página Dataform.
Selecciona
marketing-tutorial-repository.Selecciona
marketing-tutorial-workspace.En el panel Archivos, junto a
definitions/, haz clic en el menú Más.Haz clic en Crear archivo.
En el panel Crear un archivo nuevo, haz lo siguiente:
- En el campo Agregar una ruta de archivo, después de
definitions/, ingresa el nombredefinitions/googleads-declaration.sqlx. - Haz clic en Crear archivo.
- En el campo Agregar una ruta de archivo, después de
Declara una fuente de datos
Edita definitions/googleads-declaration.sqlx para declarar una tabla de Google Ads transferida como fuente de datos. En este ejemplo, se declara la tabla ads_Campaign como fuente de datos:
- En tu espacio de trabajo de desarrollo, en el panel Archivos, haz clic en tu archivo SQLX para la declaración de la fuente de datos.
En el archivo, ingresa el siguiente fragmento de código:
config { type: "declaration", database: "PROJECT_ID", schema: "DATASET", name: "ads_Campaign_CUSTOMER_ID", }
Define tu transformación
Para definir tus transformaciones de datos, crea un archivo SQLX en el directorio definitions/. En este instructivo, crearás una transformación diaria que agregue métricas como clics, impresiones, costos y conversiones con un archivo llamado daily_performance.sqlx.
Crea el archivo SQLX de transformación
- En el panel Archivos, junto a
definitions/, haz clic en el menú Más y, luego, selecciona Crear archivo. - En el campo Agregar una ruta de archivo, ingresa
definitions/daily_performance.sqlx. - Haz clic en Crear archivo.
Define el archivo SQLX de transformación
- En el panel Archivos, expande el directorio
definitions/. Selecciona
daily_performance.sqlxy, luego, ingresa la siguiente consulta:config { type: "table", schema: "reporting", tags: ["daily", "google_ads"] } SELECT date, campaign_id, campaign_name, SUM(clicks) AS total_clicks FROM `ads_Campaign_CUSTOMER_ID` GROUP BY date, campaign_id, campaign_name ORDER BY date DESC
Confirma y envía los cambios
Después de realizar los cambios en tu espacio de trabajo de desarrollo, puedes confirmarlos y enviarlos a tu repositorio. Para ello, sigue estos pasos:
- En el espacio de trabajo
marketing-tutorial-workspace, haz clic en Confirmar 1 cambio. - En el panel Confirmación nueva, ingresa una descripción de la confirmación en el campo Agregar un mensaje de confirmación.
- Haz clic en Confirmar todos los cambios.
- En el espacio de trabajo
marketing-tutorial-workspace, haz clic en Enviar a la rama predeterminada.
Una vez que los cambios se envíen correctamente al repositorio, aparecerá el mensaje El espacio de trabajo está actualizado.
Programa la transformación de datos
Después de definir el archivo de transformación de datos, programa las transformaciones de datos.
Crea un lanzamiento de producción
Un lanzamiento de producción en Dataform garantiza que tu entorno se actualice de manera coherente con los resultados de tus transformaciones de datos. En los siguientes pasos, se muestra cómo especificar la rama main del repositorio marketing-tutorial-repository para almacenar tus transformaciones de datos:
En la Cloud de Confiance consola de, ve a la página Dataform.
Selecciona
marketing-tutorial-repository.Haz clic en la pestaña Lanzamientos y programación.
Haz clic en Crear lanzamiento de producción.
En el panel Crear configuración de lanzamiento, establece la siguiente configuración:
- En el campo ID de lanzamiento, ingresa
transformations. - En el campo Git commitish, deja el valor predeterminado
main. - En la sección Frecuencia de programación, selecciona A pedido.
- En el campo ID de lanzamiento, ingresa
Haz clic en Crear.
Crea una configuración de flujo de trabajo
Una vez que hayas creado un lanzamiento de producción, podrás crear una configuración de flujo de trabajo que ejecute tus transformaciones de datos según una programación especificada en tu repositorio. En los siguientes pasos, se muestra cómo programar transformaciones diarias desde el archivo transformations:
En la Cloud de Confiance consola de, ve a la página Dataform.
Selecciona
marketing-tutorial-repository.Haz clic en la pestaña Lanzamientos y programación.
En la sección Configuración del flujo de trabajo, haz clic en Crear.
En el panel Crear configuración de flujo de trabajo, en el campo ID de configuración, ingresa
transformations.En el menú Configuración de lanzamiento, selecciona
transformations.En Autenticación, selecciona Ejecutar con las credenciales de usuario.
En la sección Frecuencia de programación, haz lo siguiente:
1. Select **Repeat**. 1. For **Repeats**, select `Daily`. 1. For **At time**, enter `10:00 AM`. 1. For **Timezone**, select `Coordinated Universal Time (UTC)`.Haz clic en Selección de etiquetas.
En el campo Seleccionar etiquetas para ejecutar, selecciona Diariamente.
Haz clic en Crear.
La configuración del flujo de trabajo que creaste ejecuta el resultado de la compilación más reciente que creó la configuración de lanzamiento de transformations.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu Cloud de Confiance cuenta por los recursos que usaste en esta página.
Borra el conjunto de datos creado en BigQuery
Para evitar que se generen cargos por los recursos de BigQuery, borra el conjunto de datos llamado dataform.
En la Cloud de Confiance consola de, ve a la BigQueryBigQuery.
En el panel Explorador, expande tu proyecto y selecciona
dataform.Haz clic en el menú Acciones y, luego, selecciona Borrar.
En el cuadro de diálogo Borrar conjunto de datos , ingresa
deleteen el campo y, luego, haz clic en Borrar.
Borra el espacio de trabajo de desarrollo y las configuraciones de Dataform
La creación de espacios de trabajo de desarrollo de Dataform no genera costos, pero para borrar el espacio de trabajo de desarrollo, puedes seguir estos pasos:
En la Cloud de Confiance consola de, ve a la página Dataform.
Haz clic en
quickstart-repository.Haz clic en la pestaña Lanzamiento y programación.
En la sección Configuración de lanzamiento, haz clic en el menú Más junto a la
productionconfiguración y, luego, en Borrar.En la sección Configuración del flujo de trabajo, haz clic en el menú Más junto a la
transformationsconfiguración y, luego, en Borrar.En la pestaña Lugares de trabajo de desarrollo, haz clic en el menú Más de
quickstart-workspacey, luego, selecciona Borrar.Para confirmar la acción, haz clic en Borrar.
Borra el repositorio de Dataform
La creación de repositorios de Dataform no genera costos, pero para borrar el repositorio, puedes seguir estos pasos:
En la Cloud de Confiance consola de, ve a la página Dataform.
Para las
quickstart-repository, haz clic en el Más menú, y, luego, selecciona Borrar.En la ventana Borrar repositorio, ingresa el nombre del repositorio para confirmar su eliminación.
Para confirmar la acción, haz clic en Borrar.