# GA4 Analytics Integration - SEO Agent

## Overview

The SEO Agent now integrates with Google Analytics 4 to provide real-time traffic monitoring and anomaly detection as part of your morning brief.

**Implemented:** April 1, 2026

---

## What's New

### 1. GA4 Data Collection
The SEO agent now fetches:
- **Sessions** - Total visits in the last 24 hours
- **Active Users** - Unique users in the last 24 hours
- **Bounce Rate** - Percentage of single-page visits
- **New Users** - First-time visitors

### 2. Traffic Anomaly Detection
Automatically alerts when:
- Traffic drops **>50%** compared to 7-day average
- Significant session declines detected
- Unusual bounce rate patterns

### 3. Historical Tracking
- Maintains **30-day traffic history** in state
- Compares current data against rolling averages
- Stores timestamps for trend analysis

### 4. Morning Brief Integration
GA4 data now appears in your daily 8 AM report:
```
📊 DAILY SEO REPORT - Wed Apr 01

🌐 Sites:
✅ www.hoaledgeriq.com: 200
✅ app.hoaledgeriq.com: 200

📈 Traffic (24h):
• Sessions: 2
• Users: 2
• Bounce Rate: 45.2%

📈 Rankings:
• Tracking 8 keywords
• Monitoring for breakthrough

⚡ Status: Healthy ✅
```

---

## How It Works

### Data Flow
1. **Hourly Check** (every 6 hours to avoid API fatigue)
   - SEO agent calls `ga4-direct.py`
   - Fetches last 24h traffic data from GA4
   - Compares against historical averages
   - Triggers alert if anomaly detected

2. **Daily Report** (8:00 AM)
   - Comprehensive traffic summary
   - Site health status
   - Rankings update
   - Sent to Telegram

3. **State Management**
   - Traffic data stored in `state/agent-state.json`
   - 30-day rolling history
   - Survives restarts

### Files Modified
- `scripts/seo-agent.py` - Main agent with GA4 integration
- `scripts/daily-report.sh` - Enhanced morning brief
- `scripts/ga4-direct.py` - GA4 API connector (already existed)
- `scripts/ga4-monitor.py` - GA4 helper functions (already existed)

---

## Configuration

### GA4 Property ID
Located in `scripts/ga4-monitor.py`:
```python
GA_PROPERTY_ID = "526394825"  # Your GA4 Property ID
```

### Alert Thresholds
Edit in `scripts/seo-agent.py`:
```python
TRAFFIC_DROP_THRESHOLD = 0.50  # Alert if traffic drops >50%
```

### Check Frequency
- **Site health:** Every hour
- **GA4 traffic:** Every 6 hours (to avoid API fatigue)
- **Daily report:** 8:00 AM sharp

---

## Testing

### Test GA4 Connection
```bash
cd /Users/claw/.openclaw/workspace/agents/marketing-seo
python3 scripts/ga4-direct.py
```

Expected output:
```
🚀 Testing GA4 Direct Connection...
📊 GA4 Traffic Data (Last 24h):
✅ Sessions: 2
✅ Active Users: 2
✅ New Users: 2
```

### Test SEO Agent
```bash
# Run one check
python3 scripts/seo-agent.py

# Or check logs
tail -f logs/seo-agent-20260401.log
```

### View Traffic History
```bash
cat state/agent-state.json | jq .traffic_history
```

---

## Alerts

You'll receive Telegram notifications for:

1. **Traffic Drops** (>50% below average)
   ```
   🔔 SEO Alert: Traffic Anomaly Detected
   
   🚨 Traffic drop detected: 52.3% below average
   • Current: 1 sessions
   • 7-day avg: 2 sessions
   • Threshold: 50% drop
   ```

2. **Site Downtime**
   ```
   🔔 SEO Alert: SITE DOWN
   
   Status: Connection refused
   URL: https://www.hoaledgeriq.com
   ```

3. **Daily Summary** (8 AM)
   - Complete traffic overview
   - Site health status
   - Rankings update

---

## Troubleshooting

### GA4 Data Not Appearing
1. Check credentials: `config/ga-credentials.json`
2. Verify property ID in `ga4-monitor.py`
3. Test connection: `python3 scripts/ga4-direct.py`

### Alerts Not Sending
1. Verify Telegram bot is configured
2. Check `openclaw message` command works
3. Review logs: `logs/alerts-20260401.log`

### High API Usage
If you hit GA4 API limits:
- Increase `MONITOR_INTERVAL` in `seo-agent.py`
- Reduce GA4 check frequency (currently every 6h)
- Use cached data from state file

---

## Next Steps

### Recommended Enhancements
- [ ] Add Search Console integration (impressions, clicks, CTR)
- [ ] Track top pages/landing pages
- [ ] Add conversion tracking
- [ ] Create weekly/monthly trend reports
- [ ] Integrate with rank tracking for correlation analysis

### Optional Features
- [ ] Email reports (in addition to Telegram)
- [ ] Slack webhook support
- [ ] Custom date range queries
- [ ] Real-time dashboard (Grafana/DataDog)

---

## Support

**Maintained by:** Forge (Chris's SaaS Operations Bot)  
**GA4 Property:** 526394825 (HOA Ledger IQ)  
**Documentation:** `/Users/claw/.openclaw/workspace/agents/marketing-seo/GA4-INTEGRATION.md`
