@extends('layouts.admin')
@section('header', 'SMS Campaign Statistics')
@section('content')
Statistics: {{ $campaign->name }}
Detailed performance metrics for your SMS campaign.
Status:
@switch($campaign->status)
@case('draft')
Draft
@break
@case('scheduled')
Scheduled for {{ $campaign->scheduled_at ? $campaign->scheduled_at->format('M d, Y H:i') : 'N/A' }}
@break
@case('sending')
Sending
@break
@case('sent')
Sent on {{ $campaign->sent_at ? $campaign->sent_at->format('M d, Y H:i') : 'N/A' }}
@break
@case('failed')
Failed
@break
@default
{{ ucfirst($campaign->status) }}
@endswitch
@if($campaign->sent_at)
| Sent: {{ $campaign->sent_at->diffForHumans() }}
@endif
- Total Recipients
{{ number_format($stats['total_recipients'] ?? 0) }}
- Delivery Rate
{{ number_format($stats['delivery_rate'] ?? 0, 2) }}%
- Click-Through Rate (CTR)
{{ number_format($stats['click_through_rate'] ?? 0, 2) }}%
- Failure Rate
{{ number_format($stats['failure_rate'] ?? 0, 2) }}%
Delivery Overview
Delivery Status Chart (e.g., Pie Chart: Delivered, Failed, Pending)
Chart.js or similar library needed for actual chart rendering.
Clicks Over Time
Link Clicks Over Time Chart (e.g., Line Chart)
Chart.js or similar library needed for actual chart rendering.
Recipient Delivery Status
Detailed status for each recipient.
Recipient |
Status |
Sent At |
Delivered At |
Failure Reason |
@forelse ($recipient_logs as $log)
{{ $log->phone_number }} |
@switch($log->status)
@case('delivered')
Delivered
@break
@case('failed')
Failed
@break
@case('sent')
Sent
@break
@case('pending')
@default
Pending
@endswitch
|
{{ $log->sent_at ? $log->sent_at->format('M d, Y H:i') : 'N/A' }} |
{{ $log->delivered_at ? $log->delivered_at->format('M d, Y H:i') : 'N/A' }} |
{{ $log->failure_reason ?: 'N/A' }} |
@empty
No recipient logs found for this campaign. |
@endforelse
@if ($recipient_logs->hasPages())
{{ $recipient_logs->links() }}
@endif
@if($campaign->track_clicks)
Link Click Performance
Details of links clicked in this campaign.
Original URL |
Shortened URL |
Total Clicks |
Unique Clicks |
{{-- @forelse ($campaign->trackedLinks as $link) --}}
@forelse ($tracked_links as $link) {{-- Assuming $tracked_links is passed --}}
{{ $link->original_url }} |
{{ $link->short_url }} |
{{ number_format($link->clicks_count ?? 0) }} |
{{ number_format($link->unique_clicks_count ?? 0) }} |
@empty
No link click data available for this campaign. |
@endforelse
@endif
@if($campaign->opt_out)
Opt-Outs
Recipients who opted out from this campaign.
Recipient |
Opt-Out Date |
{{-- @forelse ($campaign->optOuts as $optOut) --}}
@forelse ($opt_outs as $optOut) {{-- Assuming $opt_outs is passed --}}
{{ $optOut->phone_number }} |
{{ $optOut->created_at->format('M d, Y H:i') }} |
@empty
No opt-outs recorded for this campaign. |
@endforelse
@endif
@push('scripts')
{{-- --}}
@endpush
@endsection