# DW Ads Reporter - Faz 6

Bu paket Faz 1-5 üzerine uygulanacak otomatik uyarı motoru katmanıdır.

## Eklenenler

- Snapshot verilerinden otomatik uyarı değerlendirme
- Google Ads uyarı metrikleri
- Meta Ads uyarı metrikleri
- Search Console uyarı metrikleri
- GA4 uyarı metrikleri
- Sistem hata uyarı metrikleri
- Kural bazlı cooldown / tekrar bildirim süresi
- Uyarı geçmişi ekranı
- Uyarıyı çözüldü olarak işaretleme
- E-posta ile uyarı bildirimi
- `dw:evaluate-alerts` Artisan komutu
- Saatlik Laravel scheduler görevi

## Kurulum

```bash
composer dump-autoload
php artisan optimize:clear
php artisan migrate
```

Scheduler için sunucuda şu cron aktif olmalıdır:

```bash
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1
```

## Manuel komutlar

Tüm aktif kuralları çalıştır:

```bash
php artisan dw:evaluate-alerts
```

Sadece belirli müşteri için:

```bash
php artisan dw:evaluate-alerts --client=1
```

Sadece belirli kural için:

```bash
php artisan dw:evaluate-alerts --rule=5
```

Mail göndermeden test değerlendirmesi:

```bash
php artisan dw:evaluate-alerts --no-notify
```

## Desteklenen örnek metrikler

### Google Ads

- `cost`
- `clicks`
- `impressions`
- `conversions`
- `ctr`
- `average_cpc`
- `conversion_rate`
- `cost_per_conversion`
- `wasted_cost`

### Meta Ads

- `spend`
- `clicks`
- `impressions`
- `reach`
- `leads`
- `purchases`
- `conversions`
- `ctr`
- `cpc`
- `cpm`
- `cost_per_lead`
- `cost_per_purchase`
- `wasted_spend`

### Search Console

- `clicks`
- `impressions`
- `ctr`
- `position`

### GA4

- `sessions`
- `total_users`
- `screen_page_views`
- `conversions`
- `total_revenue`
- `event_count`
- `conversion_rate`

### Sistem

- `api_errors`
- `failed_emails`

## Notlar

Bu faz uyarıları mevcut snapshot tablolarındaki verilere göre hesaplar. Bu nedenle Faz 3 veri senkronizasyonu çalışmadan uyarı motoru doğal olarak 0 değer döndürebilir.
