AT

Marketing Hub

ArreglaTodo · Iniciar sesión

Cargando datos...

Ads · Performance

Métricas del período

Gasto ads vs Revenue real · este mes
Gasto ads
Revenue
Conversiones diarias · Ads
Desglose de gasto por anuncio · Meta Ads
Anuncio Campaña RubroGastoClicsImpr.Conv. CTRCPCCPA
Ticket promedio y tasa de cierre por rubro
Rubro VentasGMVTicket prom.Fee prom.Tasa cierre
Budget pacing · este mes
% Mix Budget est. Rubro / Campaña Gastado Gasto rubro Días mes Corridos % Gasto
Tendencia mensual · Revenue (ads)
Mix de gasto por canal
Cargando datos...
Gasto por canal · histórico
CTR por canal
Cargando datos...
Performance por rubro · este mes
Rubro GastoClicsConv. ads CTRCPCCPA ads
Gasto por rubro
Conversiones por rubro
Cargando datos...
Performance por campaña · Marzo 2026
Campaña CanalRubroGastoClics Conv.CTRCPCCPA
Performance por ad group · Google Ads
Campaña Ad Group GastoClicsConv. CTRCPCCPA
Performance por anuncio · Meta Ads
Anuncio Campaña RubroGastoClicsConv. CTRCPCCPA
Cargando publicaciones...
Budget optimizer · próximo mes

Ingresá el objetivo de conversiones (leads a WhatsApp) por rubro. El sistema calcula el budget basado en CPA histórico de Google Ads.

RubroCPA histórico Objetivo conv. Budget sug. CPA proyect.
Manual de métricas

KPIs de Ads (Google + Meta)

Gasto total adsSuma del spend de Google Ads + Meta Ads en el período seleccionado.
Clics totalesTotal de clicks en anuncios. CTR = clics / impresiones.
Conversiones adsConversiones declaradas por las plataformas (click a WhatsApp, landing page view). No son ventas reales.
CPA combinadoGasto total / conversiones declaradas. Lo que las plataformas dicen que cuesta cada conversión.

Métricas de Negocio (cruce ads + Finanzas AT)

Revenue (ads)Ingreso AT + IVA de las ventas atribuidas a ads. Solo se cuentan ventas donde el teléfono del cliente matchea con un lead que llegó por el widget de ads.
GMV (ads)Valor bruto de las transacciones (columna "Transacción total") de ventas atribuidas a ads. Es lo que paga el cliente final.
ROAS realRevenue (ads) / Gasto en ads. Cuántos dólares de ingreso AT genera cada dólar invertido en publicidad. >1x = rentable.
CACGasto en ads / clientes únicos adquiridos (teléfonos únicos en ventas matcheadas). Costo de adquirir un cliente.
CPVGasto en ads / ventas reales confirmadas. Diferente al CPA: el CPA usa conversiones declaradas por la plataforma, el CPV usa ventas reales de Finanzas AT.
Margen netoRevenue (ads) - Gasto en ads. Si es positivo, la inversión publicitaria es rentable.
Tasa de cierreVentas reales / conversiones declaradas por plataformas (Google Ads + Meta Ads). Qué porcentaje de conversiones termina comprando.

Por Rubro

Ticket promedioGMV / cantidad de ventas del rubro. Valor promedio que paga el cliente final por servicio.
Fee promedioRevenue / cantidad de ventas del rubro. Ingreso promedio de AT por servicio (comisión).
Tasa de cierreVentas del rubro / conversiones ads del rubro (declarado por plataformas). Qué tan bien convierte cada rubro.

Gasto vs Revenue por Rubro

Barra azulGasto en ads para ese rubro (lo que se invirtió).
Barra naranjaRevenue real de AT para ese rubro (lo que entró por ventas atribuidas a ads).
ROAS realRevenue / Gasto del rubro. >1x = el rubro genera más de lo que se invierte.
CPAGasto / conversiones declaradas del rubro.

Pacing de Presupuesto

Budget diarioPresupuesto diario configurado en Google Ads para cada campaña.
Budget mesBudget diario × días del período.
Pace% gastado / % del tiempo transcurrido. >1.1x = gastando más rápido (over). <0.9x = subejecutando (under). 0.9-1.1x = on track.

Cómo funciona el cruce de datos

1. El widget de ToChat captura leads (teléfono + UTM de la campaña).

2. Esos leads quedan registrados en la tabla opportunity de Supabase (canal, campaña/UTM y rubro).

3. Finanzas AT registra ventas en "Tabla Ingresos" con el teléfono del cliente.

4. El dashboard cruza opportunity (leads) con "Tabla Ingresos" (ventas) por teléfono normalizado (ignora el 0 de más y unifica el código de país; los extranjeros se dejan enteros). El teléfono que se muestra/exporta es el de la tabla customer.

5. El canal del lead se infiere de channel_type / UTM / referrer de la opportunity (gclid → Google, fbclid → Meta).

Filtro de canal

Combinado: muestra datos de ambos canales + todas las ventas matcheadas.

Google: solo ads de Google + ventas de leads con gclid o sin UTM.

Meta: solo ads de Meta + ventas de leads con fbclid.

Bitácora de founders

Noticias

Los resúmenes que Máximo y Lorenzo publican al cierre de cada trimestre: qué pasó, qué aprendimos y hacia dónde vamos. Cada entrada es un reporte completo, escrito en HTML.

Cargando datos...

Cross-canal · Negocio

Principal

🧠 IA · Motivos de cancelación · este mes

Tocá Analizar con IA para categorizar los motivos de cancelación del período con Gemini.

Costo operativo · P&L del período · este mes

Calculando…

LTV por canal de adquisición · histórico

Cargando…

Tiempo de cierre por cohorte · este mes

Cargando…

📐 Criterios de atribución
  • Canal de adquisición (LTV): el del lead vigente cuando el cliente hizo su primera compra. Si ya compraba antes de que existiera ese lead, no lo adquirió esa campaña → queda en Orgánico. Sin ningún lead previo, también Orgánico (o el origin declarado del cliente).
  • Clientes únicos: deduplicados por teléfono. Una misma persona con varias filas en customer cuenta como un solo cliente (si no, el LTV sale más bajo de lo real).
  • Tiempo de cierre: del lead a su primera venta posterior al lead, no a la primera venta de toda la historia del teléfono. Un cliente que ya había comprado antes y vuelve a comprar a los 2 días cuenta como cierre en ≤1-3 días, no como "sin cerrar".
  • Solicitudes y ventas por canal (del período): cada una se asigna al canal del impacto vigente en su fecha. Un impacto posterior a la venta no la pudo causar, así que no la atribuye.
  • El P&L cierra: la columna Ingreso AT + IVA reparte todas las ventas del período (works_done, el número que cierra con Finanzas) entre los canales, una venta a un solo canal: el del último impacto anterior a la venta (lead vigente → origin declarado del cliente → Orgánico). Por eso las filas suman exactamente el ingreso de arriba, y el Margen y el ROAS de cada fila salen de ese reparto.
  • El "sección: US$ x" mide otra cosa: es lo que reporta la pestaña de ese canal — influencia, no reparto (Google / Meta / MercadoLibre / Orgánico desde la planilla Tabla Ingresos cruzada con los leads del canal; WhatsApp desde la atribución de broadcasts; Mail desde el embudo de Brevo; Automatizaciones desde su resumen). Esas atribuciones se solapan entre sí — una misma venta puede estar contada por Google y también por un broadcast — y dejan afuera las ventas sin lead, así que sumarlas no da el total. Sirven para juzgar el canal, no para cuadrar el P&L. Cuando una fila difiere mucho de su sección, lo que hay que revisar es la atribución de esa sección.
  • Cliente nuevo: su primera compra histórica cae dentro del período (dedup por teléfono). Revenue: Ingreso AT + IVA en USD ÷ 40.
Cargando…

Brevo · Email marketing

Mail · este mes

Detalle por campaña

Cargando…

Cargando…

Kapso · WhatsApp broadcasts

WhatsApp · este mes

Cargando…

N8N · Up-selling & Cross-selling

Automatizaciones · este mes

Rendimiento por automatización

Cargando…

Detalle por envío

Cargando…

días desde el envío (0 = cualquier acción posterior)
📐 Criterios de este cruce
  • Envíos: tabla automatic_contacts — el propio workflow de N8N registra cada template enviada (customer_id, phone, template, fecha). Se cuentan los envíos del período seleccionado.
  • Atribución last-touch por cliente (una vez sola): cada conversión se asigna al envío más reciente a ese customer_id anterior a la conversión, dentro de la ventana. Compiten también los envíos posteriores al período (hasta hoy): si el último toque fue de otro mes, la conversión es de ese mes y no se cuenta acá — así la misma venta no aparece en dos períodos.
  • Cuponera: nueva service_request con type = 'abono' (abono/cuponera de recurrencia de limpieza o jardinería).
  • Con descuento (50%): nueva solicitud que usa un cupón (fct_coupon_id), o un discount aplicado / fct_coupon usado tras el envío.
  • Solicitud: cualquier service_request nueva del cliente tras el envío (re-engagement; se excluyen is_test).
  • Convertidos: clientes únicos con cuponera o descuento. Ventas / Revenue: una venta = una solicitud (varios works_done del mismo service_request son una sola venta con el revenue sumado), atribuida por la fecha en que el cliente pidió el servicio y no por la de carga del trabajo. Revenue = Ingreso AT + IVA en USD ÷ 40; se excluyen los cancelados.
  • Botón tocado: respuesta real del cliente al template ("Me interesa" / "Tengo dudas" / "No, gracias"). Se matchea el envío con el log de Meta en arreglatodo-wa por el ID exacto del mensaje (context_message_id de la respuesta → whatsapp_message_id del envío), no por heurística de texto.
  • Regla del negocio: el flujo corre solo para clientes nuevos (primer servicio completado) y los re-considera a los 90 días.

Contenido · RRSS y campañas directas

Buscador de material real

Estado
Material
Rubro
Orden
Desde
Hasta
Buscando en las solicitudes…
📐 Cómo funciona esta búsqueda
  • Universo: todas las service_request históricas (se excluyen las de prueba). Se busca sobre el campo description — lo que el cliente pidió con sus palabras — y también sobre la dirección, así que "pocitos" o "ciudad de la costa" también funcionan.
  • Cómo matchea: no es un LIKE. Tolera plurales, conjugaciones y typos, y expande la consulta con sinónimos del rubro hogar: "pintar mi living" también trae "pintura del comedor" o "repintar la sala". Las palabras raras pesan más que las comunes (IDF), y sube el que matchea todos los términos, no el que repite uno.
  • 🧠 Ampliar con IA: opcional. Gemini agrega términos relacionados antes de buscar. Útil cuando la búsqueda es muy corta o muy coloquial.
  • Fotos y videos: salen de la conversación real de WhatsApp de ese teléfono (arreglatodo-wa). El chip DEL PEDIDO marca el material enviado dentro de los ±45 días de esa solicitud — es el que ilustra ese trabajo; el resto es historial del cliente.
  • Venta: si la solicitud tiene works_done, se muestra el Ingreso AT (comisión + IVA) y el GMV en USD (÷40).
  • Para campañas: los teléfonos van en formato 598XXXXXXXX, listo para pegar en Brevo, Kapso o el segmentador de Meta. El Excel trae una hoja aparte solo con los teléfonos seleccionados.
  • Buscar por teléfono: si escribís un número (6 dígitos o más) devuelve todas las solicitudes de ese cliente con todo su material.

Abrir original ↗

SEO · Orgánico

SEO · Resumen

Cargando datos de Search Console…
🧉
Lucas
CMO Advisor · ArreglaTodo