Un dashboard para ecommerce que sirve cabe en una pantalla: arriba, cuatro cifras del periodo con su comparación; debajo, una tabla de canales y campañas con pedidos, gasto y margen después de captación; al lado, los productos ordenados por margen. Los datos salen de la tienda, de GA4 exportado a BigQuery y de las plataformas de anuncios.
Es para quien lleva una tienda en Shopify o WooCommerce, gasta en Google Ads o Meta y abre cada lunes cuatro pestañas para saber cómo va. Vas a encontrar qué filas y columnas lleva la pantalla, de dónde sale cada número, cómo se unen, qué filtros merecen estar y qué decisiones permite.
Montamos paneles de Power BI y BigQuery para marketing con una regla: si una cifra no cambia una decisión, no va en la pantalla principal. El cálculo línea a línea del margen por producto está explicado aparte; aquí va el diseño de la pantalla que lo usa.
¿Qué tiene que responder un dashboard de ecommerce?
Tres preguntas, en este orden: cuánto margen ha dejado la tienda en el periodo después de pagar los anuncios, qué canales y campañas lo han traído y cuáles lo han consumido, y qué productos lo generan. Si la pantalla responde a las tres en menos de un minuto, sirve para la reunión del lunes; si hay que hacer clic para encontrarlas, no.
La facturación no está entre las preguntas, y es deliberado. La tienda ya la enseña en su propio inicio, y es la cifra que más engaña: sube con descuentos agresivos, con campañas que venden a pérdida y con productos que se devuelven. El panel la incluye como columna, no como titular.
El orden importa porque es el orden en que se decide. Primero, si el periodo ha ido bien o mal en dinero que queda; después, dónde está la causa por canal y campaña; por último, qué producto hay detrás. Es la lógica de datos para decidir en marketing aplicada a una tienda: una pregunta por bloque, pocos números por bloque y todos con comparación.
¿Qué filas y qué columnas lleva la pantalla?
Lleva tres bloques. Una fila de cuatro cifras: ingreso neto, margen de contribución, gasto en anuncios y margen después de captación. Una tabla con los canales en las filas, desplegables a campaña, y en columnas pedidos, clientes nuevos, ingreso, gasto, coste por cliente nuevo y margen después de captación. Y una lista de productos ordenada por margen.
| Columna de la tabla de canales | Qué es | Para qué sirve |
|---|---|---|
| Pedidos | Pedidos pagados en el periodo, sin cancelados | Volumen |
| Clientes nuevos | Pedidos de clientes sin compras anteriores | Saber qué canal capta y cuál recoge a quien ya compraba |
| Ingreso neto | Importe sin IVA, con descuentos y menos devoluciones | Base del margen |
| Margen de contribución | Ingreso neto menos coste de producto, envío neto y comisiones | Lo que deja la venta antes de pagar el anuncio |
| Gasto | Lo pagado a la plataforma en el periodo | Coste del canal |
| Coste por cliente nuevo | Gasto entre clientes nuevos | Comparar canales que captan |
| Margen después de captación | Margen de contribución menos gasto | La columna con la que se decide |
| Variación | Cambio de la columna anterior frente al periodo previo | Saber si algo se ha movido esta semana |
Las filas son los canales como los agrupa GA4: búsqueda de pago, social de pago, búsqueda orgánica, email, directo y referencias. Más una que casi nadie pone: pedidos sin origen. Son los que la tienda registró y GA4 no vio, por rechazo de cookies, bloqueadores o etiquetas que fallan. Esconderlos hace que la tabla sume menos que la tienda; enseñarlos dice cuánto ruido hay en la medición.
La lista de productos tiene menos columnas: unidades, ingreso neto, margen después de captación y margen por unidad. Se ordena por margen, no por ingresos, y enseña los quince o veinte primeros; el resto va a una segunda página. La fila de cuatro cifras lleva siempre dos comparaciones, con el periodo anterior y con el mismo periodo del año pasado, porque una tienda tiene temporadas y comparar noviembre con octubre engaña.
¿De dónde sale cada dato?
De cuatro sitios. La tienda da pedidos, líneas, descuentos, devoluciones y coste por artículo; GA4, exportado a BigQuery, da el canal y la campaña de cada compra; Google Ads y Meta Ads dan el gasto por campaña y día; y una hoja mantenida a mano da los costes que no están en ningún sistema, como el embalaje o el transporte hasta tu almacén.
En Shopify, la API de Shopify (en inglés) expone cada pedido con sus líneas, impuestos, descuentos, envío cobrado y reembolsos, y el coste por artículo del inventario si se ha rellenado. En WooCommerce, la API REST da lo equivalente. La tienda es la fuente de verdad de cuántos pedidos hubo y cuánto se cobró, porque registra el pedido aunque el cliente rechazara las cookies.
GA4 aporta lo que la tienda no sabe: de dónde vino la compra. La exportación de GA4 a BigQuery envía cada día los eventos en bruto a la tabla events_YYYYMMDD, con un límite de un millón de eventos diarios en las propiedades estándar, y el evento purchase lleva el identificador de transacción que permite cruzarlo con el pedido. Existe una exportación en streaming, más rápida, pero la propia documentación avisa de que no incluye la atribución de los usuarios nuevos; para el panel se usa la diaria.
El gasto llega de Google Ads y Meta Ads por conectores, por campaña y día. Para cruzarlo con GA4, la campaña tiene que llamarse igual en los dos sitios. Google Ads lo resuelve con el etiquetado automático; en Meta y en el resto depende de que las UTM se pongan con un criterio fijo. Es el punto más frágil del panel: una campaña mal etiquetada aparece como tráfico social sin gasto asignado.
| Dato | Fuente | Cómo llega | Frecuencia |
|---|---|---|---|
| Pedidos, líneas, descuentos, devoluciones | Shopify o WooCommerce | API de la tienda, por conector o flujo de n8n | Diaria |
| Coste por artículo | Inventario de la tienda o ERP | Misma carga, o una hoja si no está rellenado | Cuando cambia |
| Canal y campaña de cada compra | GA4 | Exportación diaria a BigQuery | Diaria |
| Gasto por campaña y día | Google Ads, Meta Ads | Conector gestionado | Diaria |
| Comisiones de pago | Pasarela | Transacciones o informe de la pasarela | Diaria o semanal |
| Envío pagado | Transportista | Factura cargada como archivo | Mensual |
Por qué conviene cargar todo en un almacén y no conectar cada fuente al panel está en BigQuery para pymes. La razón corta: el cruce entre pedido y campaña se hace una vez, con SQL, y el panel solo lee el resultado.
¿Cómo se unen pedidos, campañas y gasto?
Se unen en dos pasos. Primero, cada pedido de la tienda se cruza con su compra en GA4 por el identificador de transacción y hereda el canal y la campaña. Después, el gasto de cada campaña se reparte entre los pedidos que trajo. Lo que no cruza se queda en la fila de pedidos sin origen, a la vista, y no se reparte entre los demás canales.
El reparto es una regla, no una verdad, y se escribe en una página. La nuestra toma la campaña de la sesión de compra que da GA4 y aplica la misma regla a todos los canales, porque lo que cada plataforma dice de sí misma se solapa: Google Ads y Meta pueden reclamar la misma venta. Por qué no se suma lo que dice cada una y cómo se compara con lo que facturó la tienda está en atribución honesta.
En Power BI, cada columna de la tabla es una medida y no un número guardado: el margen después de captación se calcula con los filtros que haya puestos. Si filtras por país o por categoría, el gasto que carga cada fila se recalcula con la misma regla. Es la diferencia entre un panel que responde y una hoja con cifras fijas que hay que rehacer cada vez que alguien pregunta otra cosa.
Dos comprobaciones antes de dar el panel por bueno. La suma de pedidos de la tabla, con la fila sin origen incluida, tiene que coincidir con los pedidos de la tienda en el mismo periodo. Y el gasto total tiene que coincidir con lo que facturaron las plataformas. Si no cuadra, no se enseña a dirección hasta que cuadre.
¿Qué filtros lleva y cuáles sobran?
Lleva cinco: periodo, con comparación; país o mercado, si vendes en más de uno; tipo de cliente, nuevo o recurrente; categoría de producto; y plataforma de anuncios. Sobran en la pantalla principal los de dispositivo, navegador, hora del día o ciudad. Son preguntas de análisis que se responden en una segunda página, no en la reunión del lunes.
El filtro de cliente nuevo o recurrente es el que más cambia la lectura. Un canal que solo trae a quien ya había comprado está cobrando por ventas que habrían llegado por email o por directo. Uno que trae clientes nuevos con poco margen en el primer pedido puede compensar si esos clientes repiten; para saberlo, la segunda página enseña la recompra a 90 días según el canal de la primera compra.
El de país solo aparece si vendes fuera. Con varios mercados, el envío y las comisiones cambian por destino, y una misma campaña puede dejar margen en un país y consumirlo en otro con ingresos parecidos.
El carrito abandonado va también en la segunda página, con el embudo de compra. La media que recoge Baymard (en inglés) es del 70,22 %, calculada sobre 50 estudios con cifras que van del 55,00 % al 84,27 %, y el propio Baymard advierte de que buena parte del abandono es gente que solo estaba mirando. Sirve como referencia, no como objetivo: lo que importa en tu panel es si tu tasa sube o baja de una semana a otra, y en qué paso.
¿Qué decisiones permite?
Permite decidir cada semana cuánto presupuesto mover entre plataformas, qué campaña parar porque su margen después de captación es negativo, qué campaña limitar a los productos que sí dejan margen y cuándo el problema no es de marketing sino de medición. Cada decisión se toma mirando una fila y se comprueba la semana siguiente en la misma fila.
| Lo que enseña el panel | Decisión | Qué se mira la semana siguiente |
|---|---|---|
| Campaña con buen retorno según la plataforma y margen después de captación negativo | Parar, o limitarla a productos con margen | Que los pedidos totales no caigan en proporción |
| Plataforma con coste por cliente nuevo alto y casi todo recurrentes | Bajar presupuesto y excluir a clientes actuales | Que los recurrentes sigan comprando por email o directo |
| Orgánico o email con margen alto y sin gasto | Proteger: contenido, flujos de email | Que el margen del canal se mantenga |
| Fila de pedidos sin origen que crece | Revisar banner, etiquetas y UTM antes de tocar presupuesto | Que la fila vuelva a su nivel |
| Margen total que cae con ingreso estable | Mirar descuentos, envío y devoluciones en la lista de productos | Que el margen por unidad se recupere |
La primera fila es la que más cuesta aceptar. La plataforma dice que la campaña devuelve varias veces lo invertido, porque calcula sobre ingresos y con su propia atribución; el panel dice que, restados coste de producto, envío y comisiones, cada venta pierde dinero. Antes de pararla se revisa el dato: coste de producto actualizado, regla de reparto, pedidos devueltos. Si el margen sigue negativo, se para o se limita a los productos que lo aguantan.
La regla de la reunión es la de cualquier panel: día fijo, media hora y una decisión apuntada al cerrar. Si en un mes no se ha parado ni movido nada, o la pantalla no responde a la pregunta correcta o nadie la está mirando. Es el panel que forma parte de lo que hacemos en marketing para ecommerce y marcas DTC, donde el anuncio y la logística pesan lo mismo en el margen.
Si quieres seguir por aquí, tienes más en nuestros artículos de datos para decidir.
Preguntas frecuentes
¿Shopify no trae ya un dashboard?
Trae informes de ventas, productos y canales de la propia tienda, y el beneficio bruto si has rellenado el coste por artículo. No resta el gasto en anuncios por campaña ni cruza con el origen de GA4 con tu regla de reparto, que es lo que hace falta para saber qué campaña deja margen.
¿Power BI o Looker Studio para un dashboard de ecommerce?
El del entorno de tu equipo: Power BI si trabajáis en Microsoft 365, Looker Studio (desde abril de 2026 ha vuelto a llamarse Data Studio) si vivís en Google Workspace. El cálculo del margen después de captación es más cómodo en las medidas de Power BI; en Looker Studio conviene hacerlo antes, en BigQuery.
¿Cuánto cuesta un dashboard así?
El panel parte de 1.400 euros y, con BigQuery como fuente única, margen por producto y atribución, de 2.900 euros; la auditoría de medición previa, de 490 euros. Las licencias de Power BI van aparte y el soporte del panel parte de 120 euros al mes.
¿Qué hago con los pedidos que GA4 no ve?
Enseñarlos en su propia fila, sin repartirlos entre los canales. Si esa fila es grande, primero se revisa el consentimiento y las etiquetas; si sigue siéndolo con todo bien montado, la medición desde el servidor es una opción que se valora con números.
—
Juan Martínez es el fundador de We Love SEO, en Zaragoza, ingeniero y data scientist. Monta paneles de datos para marketing con GA4, BigQuery, Power BI y Data Studio (antes Looker Studio). Más en el equipo.



