El ingreso vive en el deal del CRM. El gasto vive en la plataforma de anuncios. Casi nadie une las dos cosas, y por eso casi nadie puede decir cuánto cuesta de verdad una venta traída por una creatividad concreta.
Para poder elaborar un informe así es importante que hayas conectado las herramientas de ads a los scripts que trabajan con el informe. Puedes hacerlo con mi Paid Media MCP gratuito.
¿Por qué casi ningún dashboard llega al coste por venta?
Porque el dato de ingreso y el dato de gasto viven en sitios distintos y con formas distintas.
En un CRM como HubSpot, el ingreso está en el deal. El origen de la campaña está en el contacto. Son dos objetos separados, y unirlos obliga a decidir qué contacto manda cuando un deal tiene varios asociados. Es una decisión de negocio disfrazada de decisión técnica, y por eso la mayoría de integraciones estándar no la toman.
En la plataforma de anuncios pasa lo contrario. Sabes exactamente cuánto has gastado por creatividad, pero el dato se detiene en la conversión que la plataforma ve, que casi siempre es el lead.
El resultado es que casi todos los informes se paran en el coste por lead. Cuando alguien pregunta cuánto cuesta una venta traída por un anuncio concreto, la respuesta honesta suele ser una exportación manual y un par de días de trabajo. Y como cuesta dos días, la pregunta deja de hacerse.

¿Qué conecta el dashboard y por qué está ahí cada fuente?
Cada fuente cubre un tramo del recorrido y ninguna lo cubre entero. El dashboard existe para pegar los tramos, no para sustituir ninguna herramienta.
| Fuente | Qué aporta | Dónde se queda corta |
|---|---|---|
| Google, Meta, TikTok y LinkedIn Ads | Gasto, impresiones, clics y conversiones de plataforma, hasta nivel de creatividad | No sabe nada de lo que pasa después del lead |
| GA4 | Comportamiento en el sitio, landing de entrada, sesiones, contenido del blog | Su atribución no coincide con la del CRM y nunca coincidirá |
| HubSpot | Etapas del embudo, deal, ingreso cerrado y fecha de cada cambio de etapa | No conoce el coste de adquisición de nada |
| Search Console | Consultas y clics orgánicos por URL | Sin coste y sin conexión con el embudo |
El orden de carga importa más de lo que parece. Yo cargo primero el CRM, porque es quien define qué es un lead y qué es una venta. Todo lo demás se ajusta a esa definición. Si lo haces al revés y dejas que la plataforma defina la conversión, acabas con un dashboard que le da la razón a la plataforma.
¿Cómo se arma el dashboard, y por qué carga al instante?
El truco no es sofisticado, y prefiero contarlo tal cual. Una vez al día, un proceso descarga los datos de todas las fuentes, los ordena y guarda una foto completa en un servidor. Dentro del servidor hay una aplicación construida para mostrar los datos de la base de datos de forma visual. Cuando abres el dashboard, no llama a Google ni a Meta. Lee esa foto que ya está hecha, así que el tiempo de carga es mil veces menor.
Es la diferencia entre cocinar el plato cuando el comensal se sienta y tenerlo ya emplatado. Por eso el informe abre en un par de segundos en lugar de esperar a que respondan cuatro plataformas, y por eso no se cae cuando una de ellas va lenta.
Por dentro son dos piezas separadas que no se pisan: una se encarga solo de recoger y guardar. La otra se encarga solo de enseñar. Mantenerlas separadas es lo que hace que enseñar sea siempre rápido, pase lo que pase con la recogida.

Este proceso es comparable al que utilizan aplicaciones como Supermetrics, Dataslayer o Funnel.io: descarga diaria de los datos en una base de datos (las empresas grandes suelen conectar servicios de base de datos en cloud tipo BigQuery) y volcado de los datos sobre un informe con las métricas y dimensiones que tú decidas.
La capa de normalización: donde se decide si el dashboard sirve o no
Si mi reporte se rompe, no lo hace por culpa de una API mal configurada. Lo hace por las nomenclaturas.
Son cuatro decisiones y ninguna es técnica. Las cuatro hay que tomarlas antes de escribir una línea de código, porque rehacerlas después obliga a recargar el histórico entero.
1. Nomenclatura de campañas
Una convención por segmentos, donde cada segmento es un campo que un script puede leer. Estas son las dos que uso:
Google Ads: ES_ES_S_Brand_Pure
idioma_país_tipo_categoría_subcategoría
Meta Ads: ES_ES_Website Leads_Scaling_Seguro Coche
idioma_país_objetivo_fase_categoríaSin esto, comparar canales significa mapear nombres a mano cada mes, para siempre. Con esto, el filtro por país o por categoría funciona igual en las cuatro plataformas sin tocar nada.
2. Nomenclatura de fuentes
HubSpot ya trae propiedades que se rellenan con el nombre de la fuente de la que proviene el lead (Facebook Ads, Paid Search, LinkedIn). Las plataformas, obviamente, no tienen una dimensión llamada fuente rellenada con "google" o con "meta".
La dimensión se crea manualmente en la base de datos de cada plataforma y se usa el mismo nombre en todos los canales. Si pones "google" en la base de datos de Google Ads, tienes que tener "google" en la de HubSpot.
3. Granularidad temporal
Generalmente vamos a querer trabajar con datos día a día, así que las bases de datos de todas las plataformas tienen que descargarse en formato diario.
El tema aquí está en asegurarse de que el formato de fecha es el mismo en Ads, en GA4 y en HubSpot. Por ejemplo, HubSpot descarga por defecto los leads generados con fecha, hora y zona horaria, mientras que Google Ads solamente usa la fecha. Hay que generar reglas que normalicen la dimensión y agrupen por fechas.
4. Definición de lead
En una cuenta de generación de leads con la que trabajo hay cinco etapas: lead crudo, prequalificado, cualificado, oportunidad abierta y venta. Hay que decidir cuál cuenta como "lead" en el dashboard, y escribirlo donde todo el mundo lo vea.
Si no lo haces, cada persona de la reunión usa su propia definición y la discusión se convierte en semántica en lugar de presupuesto. Ten en cuenta que cada empresa va a usar nombres diferentes para cada etapa.

Cada vez que he arrancado un reporte como este con clientes que tienen una cantidad grande de campañas, hemos dedicado alrededor de un día a entender el naming de campañas que queríamos usar y a ajustar tanto nombres de campañas como UTMs.
Con ello vamos cerrando el gap de leads de los que desconocemos la fuente, y ahora mismo mis clientes conocen una media del 90% del origen de los leads.
¿Qué muestra el dashboard y con qué granularidad?
- Coste por venta e ingreso atribuido, desglosado por fuente, por campaña y hasta por creatividad.
- El mismo desglose por día, por semana o por mes, sobre una base de datos que se actualiza a diario.
- Rendimiento del sitio y del blog, cruzando GA4 con Search Console en la misma vista.
La parte que antes era casi imposible es la de la creatividad. Para llegar ahí hay que unir el ingreso del deal al contacto, el contacto a la campaña, y la campaña a la creatividad, y hacerlo todos los días sin exportaciones. La mayoría de dashboards nunca dan ese último salto, así que la pregunta simplemente no se responde.
Lo que decidí no mostrar, y por qué
La primera versión tenía más paneles y se usaba menos. Estas son las cosas que quité a propósito:
- Atribución multi touch modelada. Genera discusiones sobre el modelo en lugar de sobre la decisión, y en cuentas de menos de tres canales no cambia el reparto de presupuesto.
- Métricas de vanidad. Nadie va a hacer nada distinto según suban o bajen, solamente ocupan espacio en la pantalla.
Cada panel que quité hizo que el dashboard fuera menos pesado. Esa es la única métrica de éxito que le pido a un informe.
Cómo cambia una reunión de revisión con cliente
El informe mensual que antes me llevaba entre 8 y 12 horas por cliente ahora me lleva alrededor de una. Además de eso, hablamos de visibilidad completa del rendimiento del negocio, al momento, para todos los involucrados. La diferencia no es el ahorro, es dónde se va ese tiempo.
Antes, la mitad de la reunión se iba en explicar de dónde salía cada número y por qué la plataforma decía una cosa y el CRM otra. Ahora la reunión empieza prácticamente en la decisión: qué campaña se para, dónde se mueve el presupuesto, de qué creatividad creamos variantes.
En la primera reunión en la que enseñé el dashboard a mi primer cliente, se quedó flipando. Uno de los fundadores es muy techie y pasamos un buen rato comentando cómo se construía el dashboard y de dónde venían los datos.
Al final de la reunión supimos exactamente cuáles eran las campañas con mejores conversiones de cualificado, cuánto tardaban los leads en pre-cualificar y cualificar, y cómo debíamos distribuir la inversión para maximizar la entrada de leads de calidad.
¿Cuándo no compensa montar esto?
No siempre compensa, y decirlo hace el resto del artículo más creíble.
- Un solo canal y ciclo de venta corto. Si vendes en el mismo día y solo inviertes en Google, el informe nativo ya te da casi lo mismo.
- Volumen bajo. El nivel de creatividad necesita suficientes ventas para que la comparación signifique algo. Por debajo de un puñado de ventas al mes estás mirando ruido con muchos decimales.
- CRM sin higiene. Si las etapas no se rellenan o se rellenan tarde, el dashboard hereda el problema y lo muestra con más autoridad. Ese caso se arregla antes en el CRM, no en el informe.
Puntos clave
- El coste por venta por creatividad es difícil porque el ingreso vive en el deal y el origen en el contacto, no por falta de conectores.
- Cuatro decisiones de normalización deciden el resultado: nomenclatura de campañas, de fuentes, granularidad y definición de lead.
- Carga primero el CRM: es quien define qué cuenta como lead y como venta.
- Quitar paneles hizo que el informe se usara más, no menos.
- Con volumen bajo o un solo canal, esto no compensa.
Qué hacer ahora
- Abre tu CRM y comprueba qué porcentaje de contactos tienen origen con campaña identificada. Ese número es tu techo real de atribución.
- Escribe la convención de nomenclatura en un documento de una página y aplícala a las campañas nuevas desde hoy, aunque el histórico quede como está.
- Fija qué etapa cuenta como lead y compártelo con quien mira el informe.
- Monta primero una única vista: coste por contacto por fuente. Si esa se usa cada semana, añade campaña. Después baja a otros pasos del embudo. Finalmente añade creatividad.
Las rutinas de auditoría y reconciliación que uso en este proceso están abiertas en github.com/Pauesome/claude-marketing-skills.
Opinión impopular
La mayoría de proyectos de dashboard fracasan por la nomenclatura de campañas, no por la herramienta elegida. Se discute durante semanas si Looker Studio o Power BI, y después se conectan cuatro cuentas con nombres inventados por tres personas distintas. La herramienta se cambia en una tarde. El histórico mal nombrado no se recupera.
Qué pasa si trabajamos juntos
Un dashboard de click a venta no es un proyecto de herramienta, es un proyecto de decisiones: qué cuenta como lead, cómo se llaman las campañas y qué contacto manda en cada deal.
Si quieres montar algo parecido en tus cuentas, lo primero que hago no es conectar una API. Reviso cómo están nombradas tus campañas, qué etapas tiene tu CRM y quién las rellena. Con eso encima de la mesa te digo qué parte se puede montar en dos semanas y qué parte hay que arreglar antes.
Cuéntame tu caso