Rastreo de CLI
Rastree cómo los desarrolladores usan su herramienta CLI. Vea qué comandos son populares, cuánto tiempo toman y qué errores ocurren -- sin recopilar datos personales.
npm install @bettermeter/nodeimport { BetterMeter } from "@bettermeter/node";
import { Command } from "commander";
const bm = new BetterMeter({
siteId: "my-cli-tool",
apiKey: "bm_...",
});
const program = new Command();
// Wraps all commands — tracks name, flags, exit code
bm.wrapCommander(program, { version: "1.0.0" });
program.command("deploy").action(() => { /* ... */ });
program.parse();
// Flush on exit
process.on("SIGTERM", () => bm.shutdown());bm.trackCommand({
command: "deploy",
subcommand: "preview",
flags: ["--prod", "--verbose"],
version: "2.1.0",
durationMs: 4500,
exitCode: 0,
isCi: !!process.env.CI,
});Qué se rastrea
Solo nombres de comandos y de flags. Los valores de flags, argumentos y rutas de archivos nunca se envían. El SDK captura el sistema operativo y la arquitectura para analíticas de entorno.
Referencia de CLI
El CLI de BetterMeter le permite consultar analíticas desde la terminal con una salida visual elegante. Todos los comandos aceptan -r/--range y --json, y todos salvo all-sites aceptan además -s/--site — este abarca toda la cuenta y no toma ningún sitio. -l/--limit solo se aplica a los comandos que devuelven una lista clasificada.
npm install -g bettermeter
bettermeter login -t <apiKey> -u https://bettermeter.comFormatos de salida
Por defecto, el CLI muestra una salida visual enriquecida con gráficos ASCII, texto con color, sparklines y tarjetas de estadísticas. Toda la salida usa caracteres Unicode compatibles con todas las terminales modernas. Los colores detectan automáticamente las capacidades de la terminal y respetan la variable de entorno NO_COLOR.
Por defecto (visual)Gráficos de líneas, barras horizontales, sparklines, tablas estilizadas con color--jsonDatos JSON sin procesar -- ideal para scripts, piping a jq o uso programáticoLa salida visual incluye:
- Gráficos de líneas para datos de series temporales (visitantes diarios, invocaciones)
- Barras horizontales para listas ordenadas (páginas, fuentes, países)
- Sparklines junto a las estadísticas generales para una visualización rápida de tendencias
- Tarjetas de estadísticas con indicadores de cambio a color para resúmenes
- Tablas estilizadas con bordes para datos detallados
# Visual output (default)
bettermeter stats -s example.com
# JSON output for scripting
bettermeter stats -s example.com --json | jq '.visitors'Autenticación
login -t <key> -u <url>Autenticarse con clave API y URL del dashboardlogoutEliminar credenciales almacenadaswhoamiMostrar el usuario autenticado actualTiempo real
live -s <siteId> [--activity] [--cursor <cursor>] [--json]Conteo de visitantes en vivo; añade --activity para el feed reciente de eventos humanos y --cursor para consultas incrementales (--json para salida sin procesar)live:screen -s <siteId> [--json]Muestra la URL autenticada de Pantalla grande para la visualización rebobinable de visitantes y su cronología de actividad de 30 minutos (--json para salida estructurada)Cartera de sitios
all-sites [-r <range>] [--json]El tráfico de todos los sitios a los que tienes acceso, uno junto a otro: visitantes, vistas de página, sesiones y eventos personalizados por sitio, la variación de visitantes de un período al anterior en cada sitio, y los totales de la cuenta. No acepta -s/--siteAnalíticas web
Los comandos de tráfico humano excluyen por defecto los bots conocidos, la automatización sin navegador y las cohortes de scrapers detectadas con alta confianza. Añade --include-bots a stats, pages, sources, timeseries, ai-traffic, countries, devices, browsers, sessions, session-stats, channels, goals, goal:show o goals:suggest para incluirlos.
-l/--limit lo aceptan los comandos que devuelven una lista clasificada: pages, sources, bots, countries, browsers, visitors, sessions, events, campaigns, conversions, keywords, campaign:visitors, export, cli-commands, mcp-tools, mcp-clients y api-endpoints. No tiene un valor por defecto propio: si lo omites, el comando devuelve la página por defecto del propio endpoint, que varía según el conjunto de datos — hoy visitors devuelve 50 filas donde pages devuelve 10 — y el indicador sirve para pedir un número concreto. Los comandos de resumen, tendencia y detalle no lo aceptan — stats, ai-traffic, timeseries, devices, channels, marketing, ads, campaign, event, y los comandos overview y timeseries de cli, mcp y api. En sources --filter y bots --category el límite se aplica antes del filtro, por lo que un resultado filtrado puede contener menos filas que el límite.
statsResumen: visitantes, vistas de página, sesiones + % de cambio, o un nuevo estado base si el período anterior está vacíopagesPáginas más visitadas por número de visitantessourcesFuentes de tráfico (--filter all|ai|traditional)ai-trafficDesglose de referencias de IA por plataformabotsTráfico de bots/rastreadores (--category all|ai-crawler|search|monitoring|scraper)timeseriesTendencia diaria de visitantes/vistas de páginacountriesVisitantes por paísdevicesDesglose por dispositivobrowsersDesglose por navegadorvisitorsPersonas con su fuente de eventos (web / CLI / MCP / API / bot) y su detalle, además de primera fuente, campaña, visitas repetidas y ciclo de vidasessionsCada sesión con duración, páginas, eventos, recorrido de entrada a salida, nivel de interacción y rebote, bajo los totales del periodovisitor <visitorId>Perfil de una persona, primer contacto, sesiones y cronologíavisitor:update <visitorId>Establecer un ID opaco, nombre visible o estado de visitante/clientevisitor:properties <visitorId>Listar las propiedades clave/valor almacenadas en un visitantevisitor:tag <visitorId>Establecer o eliminar propiedades clave/valor arbitrarias en un visitantevisitor:findEncontrar un visitante por correo, ID de contacto de CRM o par clave/valor exactoeventsEventos personalizados con conteosevent <name>Un evento personalizado en detalle: disparos totales, visitantes únicos, desglose de valores de propiedades, disparos recientescampaignsAtribución automática de URL de campaña (UTM + IDs de clic)campaign <name>Informe detallado de campaña (calidad, variantes, desgloses)campaign:visitors <name>Todas las personas que trajo una campaña: quién hizo clic, la página en la que aterrizó, su variante, dispositivo y país, y qué hizo despuéskeywordsPalabras clave que generan tráfico (utm_term, con calidad de las visitas)marketingInforme de marketing completo: campañas, páginas de destino, mezcla de canalesscreenshot <path>Capturar una página de destino y guardarla como imagen (--site, --output opcional)channelsDesglose por canal (Directo, Búsqueda pagada, Orgánico, etc.)exportReporte completo (--format json|csv|md)Analíticas de CLI
cli-overviewInvocaciones, usuarios, tasa de éxito, duración promediocli-commandsComandos más usados por número de invocacionescli-timeseriesActividad diaria de CLIAnalíticas de MCP
mcp-overviewInvocaciones, usuarios, tasa de éxito, duración promediomcp-toolsHerramientas MCP más usadas por número de invocacionesmcp-clientsDesglose por cliente (Claude, Cursor, etc.)mcp-timeseriesActividad diaria de MCPAnalíticas de API
api-overviewInvocaciones, usuarios, tasa de error, duración promedioapi-endpointsEndpoints más usados por número de invocacionesapi-timeseriesActividad diaria de APIBuilder
dashboardsListar layouts de dashboards guardados que aparecen en la navegación lateraldashboard:createCrear un dashboard personalizado, incluido el widget Meta paidPerformance solo para Editores y Administradoresdashboard:update -i <id>Actualizar un layout de dashboard personalizado (solo cambian las opciones que pases)dashboard:deleteEliminar un layout de dashboard personalizadoreportsListar plantillas de reporte guardadasreport:createCrear una plantilla de reporte, incluida la sección paidMedia solo para Editores y Administradoresreport:previewPrevisualizar un reporte con entrega de Meta en vivo cuando paidMedia está habilitadoreport:update -i <id>Actualizar una plantilla de reporte (solo cambian las opciones que pases)report:deleteEliminar una plantilla de reportePulse AI
pulse askPregúntale lo que sea a Pulse, incluidos los recorridos de visitantes detrás de conversiones recientespulse threadsListar tus conversaciones de Pulse guardadas para un sitioadsGasto y clics de enlace de Meta comparados con tráfico de campaña compatible registradoad-creativeEl anuncio detrás de una visita, o todos los anuncios de una campaña; --utm-content identifica una creatividad exactaads:syncTraer ahora el gasto de las cuentas publicitarias conectadasconversionsRegistros de CRM que llevan uno de nuestros IDs de clic, con los recuentos de asociados, no asociados y pendientes de envío (--won solo para las cerradas)ad-connections -s <siteId>Cuentas publicitarias conectadas a un sitio y el estado de su sincronizacióncrmCRM conectados a un sitio y el estado de su sincronizacióncrm:syncObtener las conversiones del CRM ahora en lugar de esperar a la próxima sincronización programada (--full para releerlo todo)slackCanales de Slack vinculados a las alertas de Pulse de este sitio, con estado de envíoslack:connectConectar un webhook entrante de Slack; se publica un mensaje de prueba antes de guardarloslack:testPublicar ahora en un canal conectado, para probar que el webhook sigue funcionandoslack:updateActivar, desactivar, renombrar o cambiar el umbral de un canal conectadoslack:removeDesconectar un canal de Slack; las alertas ya registradas se conservanpulse threadReproducir una conversación de Pulse como transcripciónpulse thread-deleteEliminar una conversación de Pulsepulse insightsAnomalías, tendencias, hitos y cambios en campañas, canales, geografía, conversiones y participaciónpulse healthPuntuación de salud del producto (0-100, nota A-F)pulse briefingBriefing diario/semanal (-p/--period daily|weekly)pulse forecastPronóstico de tráfico (-m/--metric, -d/--days)pulse compareComparar dos períodos (-r/--range, --from2, --to2)pulse alertsListar reglas de alerta de monitoreopulse alerts:createCrear alerta (-t/--type, -n/--name, -c/--condition)pulse alerts:deleteEliminar una alerta (-i/--id)pulse notificationsNotificaciones recientes (--unread solo para no leídas)Posicionamiento en búsqueda y visibilidad IA
brand-report <domain>Generar reporte de posicionamiento en búsqueda (-q/--queries)brand-config <domain>Ver/actualizar configuración de monitoreo de marcabrand-compare <domain>Comparar posicionamiento con competidores (-q, -c)brand-alerts <domain>Gestionar alertas de posicionamiento (-a list|create|delete|enable|disable)ai-mentions <domain>Menciones de marca por chatbots de IA (-q/--queries, -p/--providers)ai-mentions:history [domain]Análisis de menciones de IA guardados, más recientes primero: lee el historial, nunca ejecuta un análisis de pagobacklinks <domain>Perfil de backlinks: rango del dominio, dominios referentesLos escaneos externos de pago aceptan de 1 a 10 consultas por solicitud. La comparación competitiva acepta hasta 10 competidores.
Objetivos de conversión
goals -s <siteId> [--include-bots]Listar los objetivos de conversión humanos, los visitantes convertidos estables, las tasas y el impulsogoal:show -s <siteId> -g <goalId> [--include-bots]Comparar la evolución actual y anterior, la adquisición de primer contacto, la eficiencia por visitante expuesto y el impulsogoal:create -s <siteId> -n <name>Crear un objetivo de conversión (URL de página vista, evento personalizado, enlace saliente o descarga)goal:update -s <siteId> -g <goalId>Actualizar un objetivo de conversión: renombrar, reorientar, revalorar o archivargoal:delete -s <siteId> -g <goalId>Eliminar un objetivo de conversióngoals:suggest -s <siteId> [--include-bots]Analizar el tráfico humano y sugerir objetivos de conversión de alto valor, con justificaciónGestión de sitios
sites listListar todos los sitiossites add <domain>Agregar un nuevo sitio — inicia sesión en el panel; una clave API no puede crear sitiossites remove <siteId>Eliminar un sitio — inicia sesión en el panel; una clave API no puede eliminar sitiossites info <siteId>Mostrar detalles del sitio y código de rastreosites update <siteId> --currency <code>Establecer la moneda de visualización (código ISO 4217, CAD por defecto)install <siteId>Obtener código de rastreo para un sitioGestión de equipo
members list -s <siteId>Listar miembros del sitiomembers add <email>Agregar un miembro (-s, -r viewer|editor|admin, --all-sites)members remove <id>Eliminar un miembro (-s)invitation:cancel <id>Cancelar una invitación pendiente (-s), antes de que se aceptemembers update-role <id>Actualizar rol de miembro (-s, -r)Facturación
billingMostrar plan actual, uso e información de facturación (--json)Opciones
-s, --siterequerido salvo all-sites-r, --range-l, --limit--json