query("SELECT COUNT(*) c FROM landing_pages")->fetch_assoc()['c']; $tot_variants = (int)$conn->query("SELECT COUNT(*) c FROM landing_variants")->fetch_assoc()['c']; $tot_blocks = (int)$conn->query("SELECT COUNT(*) c FROM landing_blocks")->fetch_assoc()['c']; $tot_leads_30d = (int)$conn->query("SELECT COUNT(*) c FROM landing_forms WHERE created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)")->fetch_assoc()['c']; // ---- Top landings por CR últimos 30 días (impresiones/conversiones) ---- $top = []; $st = $conn->prepare(" SELECT lp.id AS landing_id, lp.titulo, SUM(lvs.event_type='impression') AS impresiones, SUM(lvs.event_type='conversion') AS conversiones, ROUND(SUM(lvs.event_type='conversion')/NULLIF(SUM(lvs.event_type='impression'),0)*100,2) AS cr FROM landing_pages lp LEFT JOIN landing_variant_stats lvs ON lvs.landing_id = lp.id AND lvs.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY) GROUP BY lp.id, lp.titulo ORDER BY cr DESC IS NULL, cr DESC, impresiones DESC LIMIT 10 "); $st->execute(); $top_rs = $st->get_result(); while($r = $top_rs->fetch_assoc()){ $top[] = $r; } // ---- Listado rápido de landings con accesos (últimos 8) ---- $list = $conn->query(" SELECT id, titulo, slug, activo, DATE_FORMAT(fecha_creacion,'%Y-%m-%d %H:%i') AS fc FROM landing_pages ORDER BY id DESC LIMIT 8 "); ?>
| Landing | Slug | Creada | Estado | Acciones |
|---|---|---|---|---|
| = htmlspecialchars($r['titulo']) ?> | = htmlspecialchars($r['slug']) ?> |
= htmlspecialchars($r['fc']) ?> | = $r['activo'] ? 'Activo' : 'Inactivo' ?> | Variantes Schedule Bloques Builder Stats CRM Leads Ver |
| Aún no hay landings | ||||