MAISON CODE .
/ Data · CDP · Reverse ETL · Measurement · Architecture

El CDP Composable: Por qué su almacén es la fuente de la verdad

Deje de pagarle al segmento €100 mil al año. Una guía técnica para la pila CDP componible: Snowflake, dbt y Hightouch (ETL inverso).

AB
Alex B.
El CDP Composable: Por qué su almacén es la fuente de la verdad

La industria de la “Plataforma de datos del cliente” (CDP) es uno de los mayores escándalos de SaaS. Herramientas como Segment, mParticle o Salesforce CDP le cobran en función de los “Usuarios con seguimiento mensual” (MTU). Si un usuario visita su sitio una vez, usted paga. Si tienes 10 millones de correos electrónicos polvorientos en tu base de datos de 2015, pagas. Las facturas empresariales a menudo superan los €200 000/año solo por almacenar los datos que ya posee.

En 2025, los mejores equipos de ingeniería están acabando con el CDP monolítico. Se están trasladando al CDP componible. La lógica es simple: Su almacén de datos (Snowflake/BigQuery) es el CDP. Es barato, escalable y usted es dueño de él. Solo necesita una tubería para mover los datos fuera del almacén a sus herramientas de marketing (Klaviyo/Meta). Esa tubería es ETL inverso (Hightouch).

Por qué Maison Code habla de esto

En Maison Code Paris, actuamos como la conciencia arquitectónica de nuestros clientes. A menudo heredamos stacks “modernos” construidos sin una comprensión fundamental de la escala.

Discutimos este tema porque representa un punto de inflexión crítico en la madurez de la ingeniería. Implementarlo correctamente diferencia un MVP frágil de una plataforma resistente de nivel empresarial.

1. La Arquitectura: Segmento de Desagregación

El CDP monolítico hace tres cosas:

  1. Colección de eventos: analytics.track()
  2. Resolución de identidad: fusionar user_123 con cookie_abc.
  3. Activación: Envío de audiencias a Facebook Ads.

El CDP Composable divide esto:

  1. Colección: Rudderstack (código abierto) o Snowplow.
  2. Almacenamiento: Copo de nieve (almacenamiento económico).
  3. Transformación: dbt (lógica SQL).
  4. Activación: Hightouch (El “ETL inverso”).
gráfico LR
    subgrafo Fuentes
        Tienda[Shopify] -->|Fivetran| almacén
        Web[Eventos web] -->|Rudderstack| almacén
    fin
    
    subgrafo Almacén[Copo de nieve]
        Sin procesar[Tablas sin procesar] -->|dbt| Oro[Tabla de clientes Gold]
    fin
    
    Activación del subgrafo
        Oro -->|Alto toque| FB[Anuncios de Facebook]
        Oro -->|Alto toque| Correo electrónico[Klaviyo]
    fin

2. El poder de SQL: resolución de identidad

En Segment, estás atrapado con su lógica de Gráfico de identidad. En Snowflake, escribes la lógica en SQL (dbt). Tienes una flexibilidad infinita.

Escenario: desea vincular “Compras en tiendas sin conexión” con “Navegación web en línea”. El segmento tiene problemas con esto si el correo electrónico no coincide perfectamente. En dbt, puedes escribir lógica de coincidencia difusa.

--modelos/oro/dim_users.sql
CON usuarios_web COMO (
    SELECCIONE correo electrónico DISTINTO, cookie_id DE raw.web_events
),
pos_usuarios AS (
    SELECCIONE correo electrónico, teléfono, tarjeta de fidelidad DE raw.pos_transactions
)
SELECCIONAR
    COALESCE(w.email, p.email) como master_email,
    w.cookie_id,
    p.tarjeta_fidelidad,
    -- Lógica personalizada: si compraron en la tienda, son VIP
    CASO CUANDO p.loyalty_card NO ES NULO ENTONCES 'VIP' MÁS FINAL 'Estándar' como segmento
DE usuarios_web w
UNIÓN EXTERNA COMPLETA pos_users p ON w.email = p.email

Ahora tiene una tabla gold.dim_users que es la fuente única de verdad para toda la empresa.

3. Activación: Sincronización con Edge

Las herramientas de marketing (Klaviyo) son bases de datos tontas. Necesitan que les digamos a quién enviar un correo electrónico. En lugar de crear un script de Python personalizado snowflake_to_klaviyo.py (que se rompe cada semana), usamos Hightouch. Hightouch simplemente consulta su Gold Table y mapea los campos.

Consulta:

SELECCIONE correo electrónico, nombre, color_favorito
DE usuarios_dim
DONDE segmento = 'VIP' AND last_purchase_date < AHORA() - INTERVALO '90 DÍAS'

Mapeo:

  • correo electrónico -> Klaviyo correo electrónico
  • color_favorito -> Klaviyo propiedades_personalizadas.color

Hightouch ejecuta esto cada 15 minutos. Maneja límites de velocidad, reintentos y cambios de API.

4. Análisis operativo: alertas de holgura

Los CDP suelen ser “sólo de marketing”. Pero el CDP Composable también sirve para Ingeniería y Ventas. Podemos usar Hightouch para enviar datos a Slack.

Caso de uso: fallas de alto valor Si un usuario con LTV > €5000 recibe un error de Pago fallido. Flujo estándar: el usuario ve un error. Hojas. Perdemos un VIP. Flujo componible:

  1. modelos dbt failures_last_hour.
  2. Hightouch sincroniza esto con el canal de Slack #vip-support.
  3. El agente de soporte ve: “VIP Alex falló en el pago. Teléfono: 555-0199”.
  4. El agente llama a Alex inmediatamente. “¿Puedo ayudarte a completar el pedido?”

Esto es Activación de datos. Convierte una base de datos masiva en ingresos procesables.

5. Privacidad y Gobernanza (GDPR)

En un CDP monolítico, eliminar un usuario es una pesadilla. Tienes que pedirle a Segment que lo elimine y luego esperar que lo propaguen. En Composable, eliminas la fila en Snowflake. Hightouch detecta la eliminación (diff) y envía una solicitud “ELIMINAR” a Facebook, Google y Klaviyo automáticamente. Una consulta aplica el RGPD en toda su pila.

6. El Apocalipsis de las Galletas (ITP 2.5)

Apple (Safari) elimina las cookies del lado del cliente después de 7 días (ITP). Si un usuario visita el lunes y regresa el próximo miércoles, Segment cree que es un nuevo usuario. Tu atribución está rota. El seguimiento del lado del servidor soluciona este problema. Como controlamos el dominio (data.maisoncode.paris), podemos configurar cookies HttpOnly que duran 2 años. Rudderstack se encarga de esto desde el primer momento. Esto recupera 20% de la atribución perdida para clientes con alto tráfico de Apple (Moda/Lujo).

7. Algoritmos de resolución de identidad

¿Cómo sabes que “usuario_123” es “alex@gmail.com”? Hay dos estrategias:

  1. Determinista: Coincidencia exacta. (Correo electrónico = Correo electrónico). Precisión 100%. tasa de coincidencia 40%.
  2. Probabilístico: “Misma IP + Mismo modelo de dispositivo + Misma ubicación”. Precisión 80%. tasa de coincidencia 90%. Para CDP, preferimos Determinista. No queremos enviar un correo electrónico a la persona equivocada. Sin embargo, para Orientación de anuncios, marcamos Probabilístico. Está bien si el 10% de las personas ven el anuncio equivocado, si eso significa duplicar su alcance. Snowflake te permite ejecutar ambos gráficos simultáneamente.

8. La ecuación del costo

Comparemos un cliente con 500k MTU.

Segmento (Plan de Negocios):

  • Protocolo: Incluido
  • Personas: Complemento
  • Total: ~€60,000 / año.

Pila componible:

  • Rudderstack (Código abierto): €0 (Alojado en AWS).
  • Copo de nieve: €500/mes (Almacenamiento + Cómputo).
  • Alto toque: €800/mes.
  • Total: ~€15,000 / año.

Ahorro: 75%. Además, eres dueño de los datos. Si cancelas Hightouch, aún tendrás tus mesas Snowflake. Si cancelas Segmento, pierdes tu gráfico.

7. El mito del “tiempo real”

A los especialistas en marketing les encanta gritar: “¡Necesitamos personalización en tiempo real!” Los ingenieros deben preguntar: “¿De verdad?” Escenario A: El usuario abandona el carrito.

  • Necesidad: Enviar correo electrónico en 1 hora.
  • Herramienta: Almacén (Lote). Suficiente. Escenario B: El usuario hace clic en “Zapatos rojos”. Homepage Hero debería cambiar a “Zapatos rojos” inmediatamente.
  • Necesidad: < 200 ms de latencia.
  • Herramienta: Edge Middleware (Vercel/Cloudflare). El Almacén es para Datos Estratégicos (correo electrónico, anuncios, análisis). The Edge es para Datos tácticos (Personalización de la interfaz de usuario). No intente obligar a Snowflake a realizar consultas en menos de un segundo. Ese no es su trabajo.

8. La trampa de costos de los análisis “gratuitos”

Google Analytics 4 (GA4) es gratuito. Pero está muestreado. Y la exportación de BigQuery puede resultar costosa (€0,05 por GB consultado). Pero en comparación con Adobe Analytics (€100k+), es una ganga. La Trampa: Almacenar todo. Los ingenieros tienden a registrar “mouse_move”, “scroll_profundidad_10%”, “scroll_profundidad_20%”. Esto crea “pantanos de datos”. Miles de millones de filas de ruido. Regla: realice un seguimiento de un evento únicamente si tiene una Pregunta comercial adjunta. “Si hacemos un seguimiento de la profundidad del desplazamiento, ¿qué decisión cambiaremos?” Si la respuesta es “Ninguno”, elimine el código de seguimiento. Guarde los bytes.

9. Conclusión

Los datos son gravedad. Cuantos más datos introduzca en un SaaS (Segmento/Salesforce) propietario, más difícil será abandonarlo. La Base de Datos es la única tecnología que ha sobrevivido 40 años. Apuesta por SQL. Apuesta por el Almacén. Construya tuberías, no silos.


¿Reducir el gasto en datos?

¿Está pagando por “MTU” que no se convierten?

Crear una pila componible. Lea sobre Atribución SQL y Etiquetado del lado del servidor.

“Pero Segment es en tiempo real. Snowflake es por lotes”. Verdadero. Los almacenes de datos tienen latencia (carga de datos + compilación de dbt). Generalmente entre 15 y 30 minutos. Si necesita personalización en menos de un segundo (por ejemplo, mostrar una ventana emergente basada en el clic que acaban de hacer hace 1 segundo), el CDP componible es demasiado lento. Solución: Utilice la personalización perimetral del lado del cliente (Middleware perimetral) para la ruta “activa”. Utilice CDP componible para la ruta “fría” (correo electrónico, anuncios, retención).

8. Conclusión

Los datos son gravedad. Cuantos más datos introduzca en un SaaS (Segmento/Salesforce) propietario, más difícil será abandonarlo. La Base de Datos es la única tecnología que ha sobrevivido 40 años. Apuesta por SQL. Apuesta por el Almacén. Construya tuberías, no silos.

¿Reducir el gasto en datos?

¿Está pagando por “MTU” que no se convierten?

Crear una pila componible. Contrate a nuestros arquitectos.