Caso de uso real · agencia digital · Guadalajara

De 2 dias de trabajo a 20 minutos:
reportes de marketing automatizados

Una agencia de marketing digital en Guadalajara con 42 clientes activos genera reportes mensuales con graficos, tablas comparativas y branding por cliente. Antes tardaban 2 dias completos. Ahora un script lo resuelve en 20 minutos.

42
clientes activos
168
reportes/mes
<3s
por reporte generado
95%
menos tiempo

El problema: reportes manuales que drenan al equipo

Cada fin de mes, el equipo de la agencia Pulso Digital enfrentaba el mismo ciclo: abrir Google Analytics, Google Ads, Meta Ads Manager y las hojas de calculo internas de cada cliente. Copiar numeros. Pegar en un PowerPoint. Ajustar graficos. Repetir 42 veces.

El flujo anterior:

  1. Abrir las 3-4 plataformas de cada cliente y exportar CSVs.
  2. Consolidar datos en una hoja de calculo maestra.
  3. Copiar KPIs a un template de PowerPoint con el logo del cliente.
  4. Crear graficos manualmente (barras para gasto, lineas para conversiones).
  5. Escribir el resumen ejecutivo interpretando los numeros.
  6. Exportar a PDF y enviar por email al cliente.

Por cliente, el proceso tomaba entre 45 minutos y 1.5 horas. Con 42 clientes, eran 2 dias completos de trabajo del equipo solo en generar reportes. Dos personas a tiempo completo durante 2 dias cada mes.

La solucion: un JSON por cliente, un PDF completo

Con Reportia, el flujo se automatizo en 4 pasos:

1

Extraer metricas de las plataformas

Un script en Python usa las APIs de Google Ads, Meta Marketing API y Google Analytics Data API para extraer las metricas del mes: impresiones, clics, CPC, conversiones, ROAS, gasto total. Todo se consolida en un JSON por cliente.

2

Disenar la plantilla una vez en el builder

La agencia creo una plantilla base en el builder visual con secciones para: resumen ejecutivo, tabla de campanas, grafico de gasto vs conversiones, grafico de ROAS mensual, y recomendaciones. Variables como {{logo_url}} y {{color_primario}} permiten personalizar por cliente.

3

POST a /v1/render por cada cliente

El script itera la lista de clientes y hace un POST por cada uno. Reportia renderiza el HTML con los datos, incluyendo graficos SVG, y devuelve un PDF profesional de 4-6 paginas en menos de 3 segundos.

4

Enviar por email automatico

Cada PDF se envia al contacto del cliente con un email que incluye los 3 KPIs principales del mes. El cliente recibe su reporte profesional, con su logo, el 1ro de cada mes a las 9am.

Ejemplo de codigo: de las APIs al PDF

Asi se ve el script que consolida metricas de Google Ads y las envia a Reportia:

import requests
from google.ads.googleads.client import GoogleAdsClient

# 1. Extraer metricas de Google Ads del mes
ga_client = GoogleAdsClient.load_from_storage("google-ads.yaml")
query = """
    SELECT campaign.name, metrics.impressions, metrics.clicks,
           metrics.cost_micros, metrics.conversions
    FROM campaign
    WHERE segments.date DURING LAST_MONTH
"""
campaigns = []
response = ga_client.service.google_ads.search(
    customer_id="1234567890", query=query
)
for row in response:
    campaigns.append({
        "nombre": row.campaign.name,
        "impresiones": row.metrics.impressions,
        "clics": row.metrics.clicks,
        "gasto_usd": row.metrics.cost_micros / 1_000_000,
        "conversiones": int(row.metrics.conversions),
    })

# 2. Armar el JSON para Reportia
data = {
    "template": "reporte-marketing",
    "format": "pdf",
    "data": {
        "cliente": "Tienda MX Pro",
        "logo_url": "https://example.com/logo-tienda.png",
        "color_primario": "#2563eb",
        "mes": "Mayo 2026",
        "campanas": campaigns,
        "gasto_total": sum(c["gasto_usd"] for c in campaigns),
        "conversiones_total": sum(c["conversiones"] for c in campaigns),
        "roas": round(
            sum(c["conversiones"] for c in campaigns) * 45
            / max(sum(c["gasto_usd"] for c in campaigns), 1), 2
        ),
        "resumen": "El ROAS mejoro 18% vs abril. Recomendamos "
                   "aumentar budget en la campana 'Verano 2026'.",
    }
}

# 3. Generar el PDF con Reportia
resp = requests.post(
    "https://reportia.4l3.org/v1/render",
    json=data,
    timeout=15
)

# 4. Guardar y enviar
filename = f"reporte_{data['data']['cliente'].replace(' ','_')}_mayo2026.pdf"
with open(filename, "wb") as f:
    f.write(resp.content)

print(f"Reporte generado: {filename} ({len(resp.content)//1024} KB)")

Que incluye cada reporte

La plantilla que usa Pulso Digital genera un PDF de 4-6 paginas con estas secciones:

Portada

  • Logo del cliente (variable por reporte)
  • Periodo del reporte
  • Logo de la agencia en pie
  • Colores corporativos del cliente

Resumen ejecutivo

  • 4 KPIs principales con variacion vs mes anterior
  • Gasto total, conversiones, CPC promedio, ROAS
  • Indicador verde/rojo por metrica
  • Parrafo de resumen generado o escrito

Dashboards

  • Grafico de barras: gasto por campana
  • Grafico de lineas: conversiones diarias
  • Grafico circular: distribucion de gasto por plataforma
  • Todo renderizado como SVG dentro del PDF

Detalle y recomendaciones

  • Tabla detallada por campana
  • Comparativa mes actual vs anterior
  • 3-5 recomendaciones accionables
  • Proximos pasos para el siguiente mes

Resultados despues de 4 meses

Antes (manual)

  • 45-90 min por cliente
  • 2 dias completos al mes (2 personas)
  • Errores de copia en ~10% de reportes
  • Graficos inconsistentes entre clientes
  • Reportes entregados entre el 3 y el 7 de cada mes

Despues (Reportia)

  • 3 segundos por reporte
  • 20 minutos/mes (cron automatico)
  • 0 errores (datos directo de las APIs)
  • Formato identico, personalizado por cliente
  • Reportes entregados el 1ro a las 9am, sin falta

El impacto mas grande no fue el ahorro de tiempo sino la percepcion del cliente. Recibir un reporte profesional, con su logo, el 1ro de cada mes a las 9am les daba confianza. La agencia redujo churn un 15% en los 4 meses siguientes.

El costo: $0 USD/mes en el free tier de Reportia (42 reportes al mes, dentro del limite de 50). Cuando la agencia crezca a 55+ clientes, el plan Pro a $9 les cubre de sobra.

Graficos en PDF: como funcionan

Una de las preguntas mas frecuentes de las agencias es: "pueden generar graficos dentro del PDF?". Si. La plantilla HTML puede incluir graficos como SVG inline o usando CSS para simular barras. Reportia renderiza el HTML completo, incluyendo elementos visuales.

<!-- Ejemplo: barra de progreso en la plantilla -->
<div style="margin-bottom: 12px;">
  <div style="display: flex; justify-content: space-between; font-size: 13px;">
    <span>{{ campana.nombre }}</span>
    <span>${{ campana.gasto_usd | round(2) }}</span>
  </div>
  <div style="background: #1e1e2e; border-radius: 6px; height: 20px; margin-top: 4px;">
    <div style="width: {{ campana.porcentaje }}%;
                background: linear-gradient(90deg, {{ color_primario }}, #818cf8);
                border-radius: 6px; height: 100%;">
    </div>
  </div>
</div>

Cada barra se calcula como porcentaje del gasto total. El color_primario es una variable que cambia por cliente. El resultado es un dashboard profesional directamente en el PDF, sin depender de librerias externas de graficos.

Plataformas de ads compatibles

Reportia no se conecta directamente a plataformas de ads. Tu script extrae los datos y los envia como JSON. Funciona con cualquier fuente:

Google Ads
API v16+
Meta Ads
Marketing API v19+
TikTok Ads
Business API
LinkedIn Ads
Marketing API

La ventaja de no ser un conector directo es que tu controlas que datos incluir. Puedes mezclar datos de 3 plataformas en un solo reporte, agregar metricas custom de tu CRM, o incluir datos de Google Analytics 4.

Costos para agencias

Plan Precio PDFs/mes Ideal para
Free $0 50 Agencia con hasta 50 clientes
Pro $9 USD/mes 1,000 Agencia grande o reportes semanales
Scale $29 USD/mes 10,000 Reportes diarios o multi-pais
Lifetime $49 pago unico 1,000/mes para siempre Agencia que quiere pagar una vez

FAQ

Preguntas frecuentes para agencias

Reportia puede generar graficos dentro del PDF?

Si. Tu plantilla HTML puede incluir graficos como SVG inline, barras CSS o tablas con formato visual. Reportia renderiza el HTML completo a PDF. No necesitas libreria de graficos en el servidor: todo se define en la plantilla.

Puedo personalizar la plantilla por cliente?

Si. Puedes usar variables como {{logo_url}} y {{color_primario}} en una plantilla base. O crear plantillas separadas por cliente en el builder. La mayoria de agencias usan una plantilla base con variables de marca.

Como conecto Google Ads y Meta Ads?

Reportia no se conecta directamente a plataformas de ads. Tu script extrae datos via las APIs de Google Ads, Meta Marketing API, etc., arma el JSON y lo envia a Reportia. Esto te da control total sobre que metricas incluir y como consolidar fuentes.

Puedo generar reportes en Excel ademas de PDF?

Si. Cambia "format": "pdf" a "format": "xlsx" en tu JSON. Reportia genera Excel con formato, colores y multiples hojas. Algunos clientes prefieren recibir ambos: el PDF como resumen visual y el Excel para analisis detallado.

Mas casos de uso y plantillas

Automatiza tus reportes hoy mismo

50 PDFs/mes gratis sin tarjeta. Genera tu primer reporte de marketing en menos de 30 segundos.