{{-- Header Section --}}

Dashboard

Panel de control administrativo

{{-- Botón para abrir filtros --}} {{ now()->format('d/m/Y H:i') }}
{{-- Indicadores de filtros activos --}} @if($useCustomDateRange || !empty($utmSource) || !empty($utmMedium) || !empty($utmCampaign) || !empty($utmTerm) || !empty($utmContent))
Filtros activos: @if($useCustomDateRange) {{ \Carbon\Carbon::parse($dateFrom)->format('d/m/Y') }} - {{ \Carbon\Carbon::parse($dateTo)->format('d/m/Y') }} @else @if($selectedPeriod === 'today') Hoy @elseif($selectedPeriod === 'last_7d') Últimos 7 días @elseif($selectedPeriod === 'last_30d') Últimos 30 días @elseif($selectedPeriod === 'this_month') Este mes @endif @endif @if(!empty($utmSource)) Source: {{ $utmSource }} @endif @if(!empty($utmMedium)) Medium: {{ $utmMedium }} @endif @if(!empty($utmCampaign)) Campaign: {{ $utmCampaign }} @endif @if(!empty($utmTerm)) Term: {{ $utmTerm }} @endif @if(!empty($utmContent)) Content: {{ $utmContent }} @endif
@endif {{-- Offcanvas de Filtros --}}
Filtros
{{-- Filtros de Fecha --}}
Período de Tiempo
{{-- Períodos predefinidos --}}
{{-- Rango personalizado --}}
@error('dateFrom') {{ $message }} @enderror
@error('dateTo') {{ $message }} @enderror

{{-- Filtros UTM --}}
Parámetros UTM
{{-- UTM Source --}}
Ejemplo: google, facebook, instagram
{{-- UTM Medium --}}
Ejemplo: cpc, email, social
{{-- UTM Campaign --}}
Nombre de la campaña publicitaria
{{-- UTM Term --}}
Palabras clave de búsqueda pagada
{{-- UTM Content --}}
Diferenciador de anuncios o enlaces
{{-- Resumen de filtros activos --}} @if($useCustomDateRange || !empty($utmSource) || !empty($utmMedium) || !empty($utmCampaign) || !empty($utmTerm) || !empty($utmContent))
Filtros activos
@if($useCustomDateRange) {{ \Carbon\Carbon::parse($dateFrom)->format('d/m/Y') }} - {{ \Carbon\Carbon::parse($dateTo)->format('d/m/Y') }} @endif @if(!empty($utmSource)) Source: {{ $utmSource }} @endif @if(!empty($utmMedium)) Medium: {{ $utmMedium }} @endif @if(!empty($utmCampaign)) Campaign: {{ $utmCampaign }} @endif @if(!empty($utmTerm)) Term: {{ $utmTerm }} @endif @if(!empty($utmContent)) Content: {{ $utmContent }} @endif
@endif
{{-- Alert Messages --}} @if (session()->has('message')) @endif @if(!$metaAdsEnabled) @elseif($metaAdsEnabled && isset($metaAdsData['success']) && !$metaAdsData['success'] && isset($metaAdsData['error'])) @if(str_contains($metaAdsData['error'], 'Token de acceso expirado') || str_contains($metaAdsData['error'], 'expired')) @else @endif @endif {{-- Quick Stats Row --}}
{{-- Meta Ads - Inversión Total --}}
Inversión Total (Meta Ads)
@if($metaAdsEnabled) @if(isset($metaAdsData['success']) && $metaAdsData['success'])

${{ number_format($metaAdsData['spend'], 2) }}

{{ $metaAdsData['currency'] ?? 'USD' }} @if(isset($metaAdsData['impressions']))
{{ number_format($metaAdsData['impressions']) }} impresiones @if(isset($metaAdsData['clicks'])) {{ number_format($metaAdsData['clicks']) }} clics @endif
@endif @else
Error de API: {{ $metaAdsData['error'] ?? 'Error desconocido' }}
Verifica tus credenciales de Meta Ads @endif @else

---

No configurado @endif
{{-- Proveedores (Rol 3) --}}
Proveedores

{{ number_format($totalProviders) }}

{{ number_format($totalProvidersB2B) }} de campañas B2B {{ number_format($totalProviders - $totalProvidersB2B) }} otros
{{-- Consumidores Finales (Rol 2) --}}
Consumidores Finales

{{ number_format($totalConsumers) }}

{{-- Main Content Row --}}
{{-- Left Column - Embudo --}}
{{-- Embudo de Conversión B2B --}}
Embudo de Conversión B2B
{{ \Carbon\Carbon::parse($dateFrom)->format('d/m/Y') }} - {{ \Carbon\Carbon::parse($dateTo)->format('d/m/Y') }}
@php $maxValue = max($visitasUnicasEmpresas, $visitasUnicasBusinessRegister, $registrosB2B, $pruebasGratisStripe, 1); // Calcular porcentajes de conversión entre etapas $conv1 = $visitasUnicasEmpresas > 0 ? ($visitasUnicasBusinessRegister / $visitasUnicasEmpresas) * 100 : 0; $conv2 = $visitasUnicasBusinessRegister > 0 ? ($registrosB2B / $visitasUnicasBusinessRegister) * 100 : 0; $conv3 = $registrosB2B > 0 ? ($pruebasGratisStripe / $registrosB2B) * 100 : 0; $convTotal = $visitasUnicasEmpresas > 0 ? ($pruebasGratisStripe / $visitasUnicasEmpresas) * 100 : 0; @endphp {{-- Etapa 1: Visitas /empresas (100% ancho) --}}
Visitas /empresas {{ number_format($visitasUnicasEmpresas) }}
{{-- Etapa 2: Visitas /business-register (80% ancho) --}}
Visitas /business-register {{ number_format($visitasUnicasBusinessRegister) }}
{{-- Etapa 3: Registros B2B (60% ancho) --}}
Registros B2B {{ number_format($registrosB2B) }}
{{-- Etapa 4: Pruebas Gratis Stripe (40% ancho) --}}
Pruebas Gratis {{ number_format($pruebasGratisStripe) }}
{{-- Modales para cada etapa --}} {{-- Modal Etapa 1 --}} {{-- Modal Etapa 2 --}} {{-- Modal Etapa 3 --}} {{-- Modal Etapa 4 --}}
{{-- Right Column - Métricas B2B --}}
{{-- CPA B2B --}}
CPA B2B
@if($metaAdsEnabled) @if($cpaB2B > 0)

${{ number_format($cpaB2B, 2) }}

Costo por adquisición B2B
Gasto B2B: ${{ number_format($b2bCampaignsSpend, 2) }} Proveedores B2B: {{ number_format($totalProvidersB2B) }}
@else

$0.00

@if($totalProvidersB2B == 0) Sin registros B2B (utm_campaign) @elseif($b2bCampaignsSpend == 0) Sin gasto en campañas B2B @else No disponible @endif @endif @else

---

Meta Ads no configurado @endif
{{-- Inversión B2B --}}
Inversión B2B
@if($metaAdsEnabled)

${{ number_format($b2bCampaignsSpend, 2) }}

Gasto total en campañas B2B @if(isset($metaAdsData['campaigns']) && count($metaAdsData['campaigns']) > 0)
Campañas B2B activas: @foreach($metaAdsData['campaigns'] as $campaign) @if(isset($campaign['name']) && str_contains(strtolower($campaign['name']), 'b2b')) {{ $campaign['name'] }} @endif @endforeach
@endif @else

---

Meta Ads no configurado @endif
{{-- Tasa de Conversión B2B --}}
Tasa de Conversión B2B
@if($conversionRateB2B > 0)

{{ number_format($conversionRateB2B, 2) }}%

Registros B2B / Visitas /empresas
{{ number_format($visitasEmpresas) }} visitas /empresas {{ number_format($totalProvidersB2B) }} registros B2B
@else

0.00%

@if($visitasEmpresas == 0) Sin visitas a /empresas @elseif($totalProvidersB2B == 0) Sin registros B2B @else Datos insuficientes @endif @endif