From f6f897adeb285c9bd4e6f0b7fa3104b21d7d1bb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Manuel=20G=C3=B3mez?= Date: Tue, 21 Apr 2026 13:01:41 +0200 Subject: [PATCH] Include campaign status in analysis and fix agent reactivation advice - analyzer.py: add status_google (ENABLED/PAUSED) to analysis dict - agent.py: instruct agent never to recommend reactivating an ENABLED campaign; mention reactivation in consejo only when campaign is PAUSED Co-Authored-By: Claude Sonnet 4.6 --- agent.py | 5 +++++ analyzer.py | 1 + 2 files changed, 6 insertions(+) diff --git a/agent.py b/agent.py index 3cc95c9..b7c19cc 100644 --- a/agent.py +++ b/agent.py @@ -14,6 +14,11 @@ MODELO DE NEGOCIO: - El objetivo es maximizar leads dentro del capping mensual manteniendo margen positivo. - El CPA máximo ya refleja el margen mínimo aceptable. +ESTADO DE LA CAMPAÑA: +- El campo status_google indica el estado actual en Google Ads: ENABLED (activa) o PAUSED (pausada). +- Nunca recomiendes reactivar una campaña si status_google = ENABLED (ya está activa). +- Si status_google = PAUSED y la acción es AUMENTAR_PRESUPUESTO, menciona en el consejo que primero hay que reactivarla. + REGLAS DE DECISIÓN: 1. urgencia=PAUSAR → accion=PAUSAR siempre. El capping está lleno, seguir gastando destruye margen. 2. urgencia=SPRINT → accion=AUMENTAR_PRESUPUESTO con parametro entre 1.3 y 1.5. Quedan pocos días y leads por entregar. diff --git a/analyzer.py b/analyzer.py index 247d203..56df025 100644 --- a/analyzer.py +++ b/analyzer.py @@ -64,4 +64,5 @@ def analyze(campaign_config: dict, leads_entregados: int, ads_metrics: dict) -> "conversiones_google": conversiones_google, "discrepancia_tracking": discrepancia, "alerta_tracking": discrepancia > 10, + "status_google": ads_metrics.get("status", "UNKNOWN"), }