Resumen rápido: En 2026, monitorizar precios y stock de competidores ya no es “mirar webs a mano”: puedes automatizar capturas (scraping o APIs), normalizar datos con IA, guardar históricos en Google Sheets y disparar alertas (Slack/email) cuando un rival baja precios, repone stock o cambia condiciones. En este post tienes una arquitectura clara y un paso a paso para montarlo con n8n para eCommerce sin depender de herramientas cerradas.
Acción recomendada: Elige 5 SKUs “top margen” y 3 competidores, define 2 reglas de alerta (bajada de precio y vuelta a stock) y crea hoy mismo un workflow mínimo en n8n que guarde el histórico en Sheets y te avise por Slack o email.
Introducción (gancho): Si hoy (13 de mayo de 2026) tu pricing se decide con capturas de pantalla y “sensaciones”, estás compitiendo con una venda en los ojos. En eCommerce, un cambio de precio o un “vuelve a estar disponible” en el competidor puede mover tu demanda en horas. La buena noticia: con n8n y un poco de IA puedes montar un sistema propio para monitorizar precios competidores y alertas de stock y precios, con histórico, reglas y trazabilidad.
Este artículo está pensado para ser 100% accionable: qué automatizar, una arquitectura de flujo (captura → IA → alertas), una plantilla paso a paso con Google Sheets y Slack/email, y un checklist final con mejoras. Si necesitas ayuda para adaptarlo a tu stack, puedes ver nuestros servicios de consultoría SEO y automatización orientada a eCommerce.
1. Qué puedes automatizar (y para qué) en un eCommerce
La monitorización competitiva útil no consiste en “tener datos”, sino en convertir señales en decisiones. En un eCommerce, lo más rentable es automatizar lo que afecta directamente a: margen, conversión, rotación y oportunidades SEO (por ejemplo, detectar cuándo un competidor se queda sin stock y tú puedes capturar demanda orgánica y de pago).
Estas son las automatizaciones más comunes cuando hablamos de monitorizar precios competidores y stock:
- Precio actual por SKU: PVP, precio con descuento, precio por unidad (€/kg, €/l) si aplica.
- Disponibilidad/stock: “En stock”, “sin stock”, “pre-order”, “disponible en X días”, “solo tienda física”.
- Gastos de envío y umbrales: el competidor puede bajar precio pero subir envío; si no lo capturas, comparas mal.
- Promos y cupones visibles: mensajes como “-10% con código”, “2x1”, “regalo por compra”.
- Variantes: talla/color; a veces el producto “está en stock” pero tu variante clave no.
- Cambios de ficha: título, claims, pack sizes, imágenes; útil para CRO/SEO (no solo para pricing).
¿Para qué sirve en la práctica?
- Alertas de oportunidad: si el competidor se queda sin stock, puedes subir pujas en Ads o priorizar un módulo en home/categoría.
- Reglas de pricing: ajustar precio solo si el diferencial supera X%, si el margen lo permite y si la competencia tiene stock real.
- Defensa de margen: evitar guerras de precios por falsas señales (por ejemplo, precio sin IVA, o sin incluir envío).
- SEO y contenidos: detectar patrones (packs, bundles, claims) que están empujando conversión y replicarlos con tu propuesta de valor.
Importante: antes de automatizar, define tu lista de SKUs prioritarios. Empieza por 20–50 productos con alta demanda o margen. Así el flujo es simple, barato y escalable. Si además quieres alinear esto con un enfoque de crecimiento orgánico y performance, revisa el enfoque de trabajo en nuestro método.
2. Arquitectura del flujo n8n (scraping/API → IA → alertas)
Una arquitectura robusta en n8n se basa en separar: captura (obtener datos), normalización (limpiar/estructurar), persistencia (guardar histórico) y acción (alertar o ejecutar reglas). Esto evita workflows frágiles y te permite iterar sin rehacerlo todo.
Bloques recomendados:
- Trigger: Cron (cada X horas) o Webhook (si tu sistema lanza eventos). Para pricing competitivo, muchas tiendas empiezan con 2–4 ejecuciones diarias y ajustan según categoría.
- Fuente:
- API si existe (más estable y legalmente clara según condiciones).
- Scraping si no hay API: HTTP Request + parseo HTML (o extracción de JSON incrustado). Prioriza selectores estables.
- Normalización (IA + reglas): aquí es donde la IA aporta valor real. No es “para escribir texto”, sino para:
- Extraer precio final cuando hay varios (tachado, promo, cupón).
- Interpretar mensajes de stock ambiguos (“disponible pronto”, “reserva”).
- Detectar si el precio incluye envío/IVA cuando la página lo indica en texto.
- Devolver un JSON uniforme por SKU con campos estandarizados.
- Persistencia: guardar en Google Sheets, Airtable o una base de datos (Postgres). Para un MVP, Sheets va perfecto: es rápido, compartible y te da histórico.
- Comparación: buscar el último registro por SKU+competidor y calcular cambios (precio, stock, envío). Aquí se definen umbrales y lógica de “ruido”.
- Acciones: Slack, email, o incluso crear tickets (Jira/Asana) si hay cambios relevantes.
Diseño del “contrato de datos” (recomendado): define un esquema fijo, por ejemplo:
- sku, competidor, url
- price (número), currency
- shipping_cost (número o null), shipping_threshold (si se detecta)
- in_stock (boolean), stock_status_text (texto original)
- promo_text (si aplica), captured_at
- raw_evidence (fragmento del HTML/JSON o texto relevante) para auditoría
Esto es clave para que tus alertas no sean “caja negra”. Además, desde la perspectiva SEO y de negocio, almacenar evidencia te permite explicar por qué se tomó una decisión. Si tu web también necesita mejoras de rendimiento o tracking para medir el impacto (por ejemplo, cuando ajustas pricing), revisa las optimizaciones que hacemos en desarrollo web y rendimiento.
3. Paso a paso: plantilla de workflow con Sheets y Slack/Email
Vamos a montar una plantilla realista (MVP) con n8n: lee una lista de URLs desde Google Sheets, captura precio/stock, normaliza con IA, guarda el histórico y envía alertas por Slack o email cuando se cumplan reglas.
Preparación (Google Sheets): crea una hoja “inputs” con columnas:
- sku
- competidor
- url
- check_enabled (TRUE/FALSE)
- min_price_change_pct (ej. 3 para 3%)
Y una hoja “log” donde guardarás cada captura:
- captured_at, sku, competidor, url, price, currency, shipping_cost, in_stock, stock_status_text, promo_text, raw_evidence
Workflow en n8n (nodos y lógica):
- Cron: cada 6 horas (ajústalo según tu vertical).
- Google Sheets → Read: leer filas de “inputs” filtrando check_enabled = TRUE.
- Split in Batches: para evitar rate limits (por ejemplo, 5–10 URLs por lote).
- HTTP Request: GET a la URL del competidor. Guarda:
- status code
- HTML (o JSON si la página lo expone)
- tiempo de respuesta (si quieres monitorizar estabilidad)
- IA (LLM) → “Extractor”: pásale el HTML (o texto relevante) y pídele un JSON estrictamente válido con el contrato de datos. Ejemplo de prompt (adaptable):
Devuelve SOLO JSON válido con: price (number), currency (string), in_stock (boolean), stock_status_text (string), shipping_cost (number|null), promo_text (string|null), raw_evidence (string). Extrae el precio final pagable si está visible. Si hay precio tachado y precio oferta, usa el de oferta. Si solo hay texto ambiguo de stock, decide in_stock según: - “en stock”, “disponible” => true - “sin stock”, “agotado” => false - “próximamente”, “reserva” => false Incluye en raw_evidence el fragmento de texto donde se ve precio/stock. Texto fuente: {{HTML_O_TEXTO}} - Google Sheets → Append: añade una fila a “log” con la salida normalizada + timestamp.
- Comparación:
- Busca el registro anterior para ese sku+competidor (por ejemplo, leyendo las últimas filas y filtrando; si escala, mejor pasar a DB).
- Calcula delta de precio (%) si hay precio anterior.
- Detecta cambios de stock: false → true (reposición), true → false (rotura).
- IF (Reglas):
- Alerta de precio: si |delta_pct| ≥ min_price_change_pct.
- Alerta de stock: si cambia in_stock.
- Alerta “competidor sin stock”: si in_stock pasa a false (o se mantiene false X checks seguidos, opcional).
- Slack o Email:
- Mensaje con: SKU, competidor, precio anterior vs actual, estado stock, URL y evidencia.
- Incluye “qué hacer”: revisar pricing, activar campaña, ajustar módulos de categoría.
Formato recomendado del mensaje de alerta (ejemplo):
- [Precio] SKU X — Competidor Y bajó de A a B (−Z%).
- [Stock] SKU X — Competidor Y: ahora sin stock (antes en stock).
- URL: enlace directo
- Evidencia: snippet de raw_evidence
Mini-caso de uso (realista): si vendes electrónica o cosmética, una reposición del competidor puede coincidir con un pico de demanda (campañas, temporada, lanzamientos). Con este flujo, no te enteras “mañana”: te enteras en el momento y puedes reaccionar en pricing, Ads y merchandising.
Si quieres que esto se conecte con tu stack (GA4/Ads/CRM) y que las alertas generen acciones medibles, en SEOAGIL solemos diseñar el flujo completo: datos → decisión → ejecución → medición. También puedes pedir una implementación a medida desde la sección de contacto.
4. Conclusión: checklist de implementación y siguientes mejoras
La ventaja de montar tu sistema con n8n es que no dependes de una herramienta cerrada: controlas el dato, el histórico y las reglas. Pero el éxito no está en “que funcione”, sino en que sea confiable, auditable y útil para el equipo.
Checklist práctica (MVP en 1–2 días):
- Selección: lista de 20–50 SKUs críticos + 2–5 competidores por SKU.
- Campos: define contrato de datos (price, in_stock, shipping_cost, evidencia).
- Frecuencia: arranca con 2–4 checks/día; ajusta por categoría y volatilidad.
- Persistencia: log en Sheets con timestamp (mínimo).
- Reglas: umbrales de precio (≥3–5%) + cambios de stock.
- Alertas: Slack para equipo, email para backups.
- Validación: revisa manualmente 10 alertas; ajusta extracción IA y selectores.
- Operativa: define responsable y “playbook” (qué hacer ante cada alerta).
Errores comunes (y cómo evitarlos):
- Comparar precios incomparables: no considerar envío, packs, IVA o cupones. Solución: almacenar shipping_cost y promo_text; usar IA para interpretar texto y guardar evidencia.
- Scraping frágil: selectores que cambian. Solución: prioriza JSON incrustado, añade reintentos, y guarda raw_evidence para depurar rápido.
- Demasiadas alertas (ruido): sin umbrales ni ventanas. Solución: umbral mínimo y alertas “resumen” diarias para cambios menores.
- No guardar histórico: sin histórico no hay aprendizaje ni análisis de tendencias. Solución: persistencia desde el día 1 (Sheets o DB).
- No conectar con decisiones: alertas sin acción. Solución: cada alerta debe sugerir un siguiente paso y un owner.
Siguientes mejoras (cuando el MVP ya funciona):
- Base de datos (Postgres) + dashboard (Metabase/Looker Studio) para tendencias y comparativas por categoría.
- Detección de anomalías: alertar por patrones (bajadas repetidas, precios fuera de rango), no solo por umbral fijo.
- Enriquecimiento: mapear equivalencias de SKUs (EAN/MPN) para evitar errores cuando el competidor renombra productos.
- Automatización de acciones: crear tareas en Asana/Jira, o activar pausas/ajustes en campañas (con aprobaciones).
- SEO defensivo: cuando un competidor se queda sin stock, priorizar páginas, módulos internos y contenido para capturar la demanda.
Si tu objetivo es que esto también impacte en posicionamiento y resultados en experiencias con IA (resúmenes, comparadores, respuestas), el dato estructurado y el timing importan: reaccionar rápido a cambios de mercado te permite ajustar contenido, disponibilidad y pricing antes que tu competencia. Para un acompañamiento completo (automatización + SEO + medición), revisa nuestros servicios.
Preguntas frecuentes
¿Necesito scraping o puedo usar APIs para monitorizar precios?
Si el competidor ofrece API (o feeds públicos), es preferible: suele ser más estable. Si no existe, el scraping es viable, pero conviene hacerlo con cuidado, guardando evidencia y diseñando reintentos y límites para no romper el flujo ante cambios de la web.
¿Cada cuánto debería ejecutar el workflow en n8n para un eCommerce?
Depende de la volatilidad. Como punto de partida, 2–4 veces al día suele ser suficiente para muchas categorías. En sectores muy dinámicos, puedes subir la frecuencia, pero prioriza primero SKUs críticos para controlar coste y ruido.
¿Cómo evita la IA errores al extraer precio y stock?
No se trata de “confiar ciegamente” en la IA: define un esquema JSON estricto, añade reglas (por ejemplo, elegir precio oferta frente a tachado), y guarda raw_evidence para poder auditar. Además, valida una muestra de alertas y ajusta el prompt.
¿Puedo montar alertas de “competidor sin stock” para aprovechar SEO y Ads?
Sí. Es una de las alertas más valiosas: cuando un competidor se queda sin stock, puedes activar acciones en merchandising, campañas y contenidos. Lo importante es confirmar que el “sin stock” es real (por eso conviene capturar el texto exacto y evidencias).
¿Google Sheets aguanta el histórico o necesito base de datos?
Para un MVP y cientos o pocos miles de registros, Sheets funciona bien. Si escalas a muchos SKUs/competidores y ejecuciones frecuentes, una base de datos (Postgres) te dará más rendimiento, consultas fiables y dashboards más sólidos.
¿Quieres que lo implementemos por ti? Podemos diseñar tu sistema de monitorización de precios y stock con n8n + IA, con reglas, histórico, alertas y conexión a tu stack (SEO/Ads/analítica) para que impacte en ventas. Contacta con SEOAGIL.