Definición
ETL son las siglas de Extract, Transform, Load (Extraer, Transformar, Cargar). Es el proceso mediante el cual una empresa recopila datos desde múltiples fuentes, los limpia y normaliza para que sean consistentes, y finalmente los deposita en un almacén central (data warehouse, lago de datos o CRM analítico) listo para consultas, dashboards y modelos predictivos.
En el contexto DTC (Direct-to-Consumer) y eCommerce, el ETL es el motor silencioso que alimenta métricas como LTV, CAC, ROAS, tasa de recompra o margen por SKU. Sin un ETL bien diseñado, tu Shopify, Meta Ads, Klaviyo, tu ERP y tu pasarela de pago viven en silos que nunca se hablan entre sí.
En español latinoamericano y de España se usa indistintamente "ETL" o "proceso ETL". También verás **ELT** (Extract, Load, Transform), habitual en stacks modernos como BigQuery o Snowflake.
Analogía: la cocina de un restaurante de alto volumen
Imagina que tu eCommerce es un restaurante con 3.000 pedidos diarios:
- Extract = recibir la materia prima de distintos proveedores (Shopify trae pedidos, Meta trae impresiones, tu 3PL trae envíos).
- Transform = el chef limpia, corta, sazona y unifica formatos: una fecha en DD/MM/YYYY de tu ERP debe convertirse a YYYY-MM-DD para casar con Shopify.
- Load = emplatar y servir en el pase: los datos ya cocinados llegan al data warehouse para que el equipo de growth consulte el ROAS real por canal a las 9:00 a.m.
Si el chef (Transform) no limpia bien, servirás un plato con ingredientes crudos: reportes con duplicados, SKUs huérfanos y atribuciones infladas.
Fórmula / Estructura técnica
Un pipeline ETL típico se puede expresar como una función compuesta:
D_warehouse = Load( Transform( Extract(S_1, S_2, ..., S_n) ) )
Donde:
- S_i = fuente i-ésima (Shopify, Meta Ads, Google Analytics 4, Stripe, ERP, Klaviyo…)
- Extract = extracción incremental o full refresh
- Transform = reglas de negocio, deduplicación, joins, normalización
- Load = inserción en destino (append, upsert o merge)
Ejemplo numérico real (DTC de cosmética, 2024):
- Fuentes: 6 (Shopify, Meta, TikTok Ads, Klaviyo, Stripe, NetSuite)
- Registros diarios extraídos: 48.500
- Registros descartados tras Transform (duplicados + bots): 3.120 → 6,4 %
- Registros cargados en BigQuery: 45.380
- Latencia objetivo del pipeline: < 15 minutos cada hora
Tabla comparativa: ETL vs ELT vs Reverse ETL
| Criterio | ETL clásico | ELT moderno | Reverse ETL |
|---|---|---|---|
| Orden | Extract → Transform → Load | Extract → Load → Transform | Warehouse → Herramientas |
| Motor de transformación | Servidor ETL (Informatica, Talend) | Motor del warehouse (BigQuery, Snowflake) | APIs salientes (Hightouch, Census) |
| Volumen ideal | < 1 TB/día | > 1 TB/día | Cualquiera |
| Latencia típica | 1–6 h batch | 5–30 min micro-batch | 15 min – 1 h |
| Coste relativo | Alto (licencias) | Medio (compute) | Bajo-medio |
| Caso DTC típico | Reporte financiero nocturno | Atribución multicanal near real-time | Enviar LTV a Klaviyo para segmentos |
| Skill requerido | Ingeniero ETL | Analytics Engineer (SQL/dbt) | Growth/Martech |
Aplicación en DTC / eCommerce
1. Atribución multicanal unificada
Cruzas pedidos de Shopify con gasto de Meta, Google y TikTok para calcular ROAS blended real. Sin ETL, cada plataforma se atribuye el 100 % de la conversión.
2. Cohortes de LTV y recompra
Cargas pedidos históricos + eventos de Klaviyo en un warehouse y calculas LTV a 90 días por cohorte mensual. Ejemplo: cohorte enero 2024 = LTV 90d de 62,40 € vs cohorte junio 2024 = 71,80 € (+15,1 %).
3. Sincronización de inventario
Tu 3PL reporta stock cada 30 min. El ETL lo carga y actualiza la disponibilidad en la web, evitando overselling. En Black Friday, un pipeline mal configurado puede costarte ~4.200 €/hora en pedidos cancelados.
4. Segmentación RFM automatizada
Recencia, Frecuencia y Valor Monetario se recalculan nightly y se envían vía Reverse ETL a Klaviyo para campañas de win-back.
5. Unit economics por SKU
Margen bruto real = Precio – COGS – Coste de envío – Comisión pasarela – CAC atribuido. Todo eso vive en 4 sistemas distintos; el ETL los une.
Errores comunes (y cómo evitarlos)
1. No definir una clave única de cliente. Si Shopify usa customer_id y Klaviyo usa email, tendrás duplicados. Solución: crear un master_customer_id.
2. Ignorar zonas horarias. Un pedido de las 23:50 en Madrid pertenece a otro día en UTC. Normaliza siempre a UTC o a la TZ del negocio.
3. Full refresh cuando basta incremental. Recargar 3 años de pedidos cada hora dispara el coste de BigQuery. Usa updated_at como cursor.
4. Transformar sin tests. Un cambio de esquema en Meta Ads puede romper tu pipeline silenciosamente. Implementa tests de frescura y volumen (dbt tests, Great Expectations).
5. No documentar linaje. Cuando el CFO pregunta "¿por qué el revenue de ayer cambió?", necesitas saber qué tabla y qué regla lo generó.
6. Confundir ETL con reporting. El ETL prepara datos; el BI los visualiza. Mezclarlos genera deuda técnica.
7. Olvidar el RGPD. Datos personales en el warehouse requieren tokenización y políticas de retención.
Términos relacionados
- ELT (Extract, Load, Transform) — variante moderna con transformación dentro del warehouse.
- Reverse ETL — devolver datos del warehouse a herramientas operativas (CRM, ads, email).
- Data Warehouse — destino analítico estructurado (BigQuery, Snowflake, Redshift).
- Data Lake — almacenamiento crudo y flexible (S3, GCS).
- Data Lakehouse — híbrido con gobierno tipo warehouse (Databricks, Iceberg).
- CDC (Change Data Capture) — captura incremental de cambios en bases operacionales.
- dbt (data build tool) — estándar de facto para transformaciones SQL versionadas.
- Orquestación — Airflow, Dagster o Prefect para programar y monitorizar pipelines.
- Atribución multicanal — modelo que reparte el mérito de una conversión entre canales.
- CDP (Customer Data Platform) — capa que unifica perfiles de cliente en tiempo real.
Conclusión
En un negocio DTC, el ETL no es un "proyecto de IT": es la infraestructura que decide si tu equipo toma decisiones con datos fiables o con intuición disfrazada de métrica. Un pipeline bien diseñado te da una sola versión de la verdad — pedidos, clientes, márgenes y campañas — en menos de 15 minutos. Uno mal diseñado te da dashboards bonitos y decisiones caras.