@extends('layouts.customer') @section('title', $campaign->name) @section('page-title', $campaign->name) @section('content')
@if(!empty($runPreflightIssues))

Action required before you can run this campaign

    @foreach($runPreflightIssues as $issue)
  • {{ $issue }}
  • @endforeach
@endif @if($campaign->status === 'failed' && $campaign->failure_reason)

Campaign Failed

{{ $campaign->failure_reason }}

@endif

{{ $campaign->name }}

{{ $campaign->subject }}

Status
{{ ucfirst($campaign->status) }}
Sender
{{ $campaign->from_name }}
{{ $campaign->from_email }}
Started At
{{ $campaign->started_at ? $campaign->started_at->format('M d, Y H:i') : 'Not started' }}
Completed At
{{ $campaign->finished_at ? $campaign->finished_at->format('M d, Y H:i') : '-' }}
@if($campaign->isFailed() || $campaign->isCompleted()) @customercan('campaigns.permissions.can_start_campaigns')
@csrf 🔁 Rerun
@endcustomercan @endif @if($campaign->canStart()) @customercan('campaigns.features.ab_testing') A/B Test @endcustomercan @customercan('campaigns.permissions.can_start_campaigns')
@csrf ▶ Start
@endcustomercan @endif @if($campaign->canPause()) @customercan('campaigns.permissions.can_start_campaigns')
@csrf ⏸ Pause
@endcustomercan @endif @if($campaign->canResume()) @customercan('campaigns.permissions.can_start_campaigns')
@csrf ▶ Resume
@endcustomercan @endif @if($campaign->hasAbTest() && ($campaign->isRunning() || $campaign->isCompleted())) @customercan('campaigns.features.ab_testing') A/B Results @endcustomercan @endif @customercan('campaigns.permissions.can_edit_campaigns') Edit @endcustomercan
Sent
{{ number_format($stats['sent_count']) }}
of {{ number_format($stats['total_recipients']) }} total
Delivered
{{ number_format($stats['delivered']) }}
{{ number_format($stats['delivery_rate'], 1) }}% delivery rate
Open Rate
{{ number_format($stats['open_rate'], 1) }}%
{{ number_format($stats['opened_count']) }} opens
Click Rate
{{ number_format($stats['click_rate'], 1) }}%
{{ number_format($stats['clicked_count']) }} clicks
Replies
{{ number_format($campaign->replied_count ?? 0) }}
Bounce Rate
{{ number_format($stats['bounce_rate'], 1) }}%
{{ number_format($stats['bounced_count']) }} bounces
Failure Rate
{{ number_format($stats['failure_rate'], 1) }}%
{{ number_format($stats['failed_count']) }} failed
Unsubscribed
{{ number_format($stats['unsubscribed_count']) }}
Unsubscribes
Complaints
{{ number_format($stats['complained_count']) }}
Spam complaints
@if($campaign->status === 'running' && $stats['total_recipients'] > 0)
{{ number_format($stats['sent_count']) }} / {{ number_format($stats['total_recipients']) }} emails sent {{ number_format(($stats['sent_count'] / $stats['total_recipients']) * 100, 1) }}%
📊 Sending speed: {{ number_format($stats['sending_speed'], 2) }} emails/sec ⏱️ Started: {{ $campaign->started_at->diffForHumans() }}
@endif
@php $statusLabels = [ 'pending' => ['label' => 'Pending', 'color' => 'yellow'], 'sent' => ['label' => 'Sent', 'color' => 'blue'], 'opened' => ['label' => 'Opened', 'color' => 'green'], 'clicked' => ['label' => 'Clicked', 'color' => 'purple'], 'bounced' => ['label' => 'Bounced', 'color' => 'red'], 'failed' => ['label' => 'Failed', 'color' => 'red'], ]; @endphp @foreach($statusLabels as $status => $info)
{{ number_format($stats['recipient_statuses'][$status] ?? 0) }}
{{ $info['label'] }}
@endforeach
@if($stats['top_links']->count() > 0)
@foreach($stats['top_links'] as $link) @endforeach
URL Clicks
{{ \Illuminate\Support\Str::limit($link->url, 60) }} {{ number_format($link->clicks) }}
@endif @if($stats['failed_count'] > 0 || $stats['error_breakdown']->count() > 0)
@if($stats['failed_count'] > 0)

✖ {{ number_format($stats['failed_count']) }} emails failed

@if($stats['error_breakdown']->count() > 0)
@foreach($stats['error_breakdown'] as $error)

{{ number_format($error->count) }} - {{ \Illuminate\Support\Str::limit($error->failure_reason, 100) }}

@endforeach
@endif
@endif @if($stats['bounced_count'] > 0)

⚠ {{ number_format($stats['bounced_count']) }} emails bounced

Bounce rate: {{ number_format($stats['bounce_rate'], 1) }}%

@endif
@endif @if($stats['unsubscribed_count'] > 0 || $stats['complained_count'] > 0)
@if($stats['unsubscribed_count'] > 0)
{{ number_format($stats['unsubscribed_count']) }} Unsubscribed
Users opted out of future emails
@endif @if($stats['complained_count'] > 0)
🚨 {{ number_format($stats['complained_count']) }} Spam Complaints
Users marked email as spam
@endif
@endif
@if($stats['deliverability']['dkim']) DKIM @else DKIM @endif
@if($stats['deliverability']['spf']) SPF @else SPF @endif
@if($stats['deliverability']['dmarc']) DMARC @else DMARC @endif
@php $bounceHealth = 'Good'; $bounceHealthColor = 'green'; if ($stats['bounce_rate'] > 5) { $bounceHealth = 'Critical'; $bounceHealthColor = 'red'; } elseif ($stats['bounce_rate'] > 2) { $bounceHealth = 'Warning'; $bounceHealthColor = 'yellow'; } @endphp Bounce Rate Health: {{ $bounceHealth }}

Recipients

View detailed recipient status and engagement

View All Recipients
Email List
{{ $campaign->emailList->name ?? 'No List' }}
Type
{{ ucfirst($campaign->type) }}
Created
{{ $campaign->created_at->format('M d, Y H:i') }}
Total Recipients
{{ number_format($stats['total_recipients']) }}
@push('scripts') @endpush @endsection