@extends('layouts.app') @section('title', 'Campaigns') @section('content')

Campaigns

{{ $campaigns->total() }} campaign(s). Leads are attributed by the campaign name recorded on the lead.

+ New campaign
@include('components.kpi', ['label' => 'Total budget', 'value' => money($totals['budget']), 'variant' => 'info']) @include('components.kpi', ['label' => 'Spent', 'value' => money($totals['spent'])]) @include('components.kpi', ['label' => 'Leads generated', 'value' => number_format($totals['leads']), 'variant' => 'good']) @include('components.kpi', ['label' => 'Running now', 'value' => (string) $totals['running'], 'variant' => $totals['running'] ? 'good' : ''])
@if ($campaigns->isEmpty()) @include('components.empty-state', [ 'icon' => '📢', 'title' => 'No campaigns yet', 'message' => 'Record a marketing campaign to track what each channel actually returned.', ]) @else @foreach ($campaigns as $campaign) @endforeach
CampaignChannelPeriod BudgetSpent LeadsConv.Status
{{ $campaign->name }} {{ title_case_words($campaign->channel) }} {{ $campaign->starts_on?->format('d M Y') ?: '—' }} — {{ $campaign->ends_on?->format('d M Y') ?: 'open' }} {{ money($campaign->budget) }} {{ money($campaign->spent) }} @if ($campaign->budget > 0)
{{ round($campaign->spent / $campaign->budget * 100) }}% of budget
@endif
{{ $campaign->leads_generated }} {{ $campaign->conversions }} @if ($campaign->leads_generated > 0)
{{ round($campaign->conversions / $campaign->leads_generated * 100) }}%
@endif
{{ title_case_words($campaign->status) }} Open
@endif
@if ($campaigns->hasPages())
{{ $campaigns->links('partials.pagination') }}
@endif
@endsection