/* global React, Icon, Button, Eyebrow, Badge, Droplets, Container */ const INT = { orange: '#F1A92F', yellow: '#E8C940', bg: '#FCF3DD', bgMid: '#F5E4B8', dark: '#7A4C0A', }; // ============================================================ // CAMPAIGN DASHBOARD — hero visual // ============================================================ function CampaignDashboard() { const [activePlat, setActivePlat] = React.useState(0); const platforms = [ { name: 'Meta', color: '#0866FF', bg: '#EEF4FF' }, { name: 'Google', color: '#EA4335', bg: '#FEF0EE' }, { name: 'TikTok', color: '#010101', bg: '#F2F2F2' }, { name: 'LinkedIn', color: '#0A66C2', bg: '#EDF3FB' }, ]; const kpiSets = [ [{ v: '4.8×', l: 'ROAS' }, { v: '$193', l: 'CPL · MXN' }, { v: '47', l: 'Leads' }], [{ v: '3.2×', l: 'ROAS' }, { v: '$241', l: 'CPC · MXN' }, { v: '1,820', l: 'Clics' }], [{ v: '7.1%', l: 'CTR' }, { v: '$112', l: 'CPM · MXN' }, { v: '28k', l: 'Views' }], [{ v: '0.62%', l: 'CTR' }, { v: '$318', l: 'CPL · MXN' }, { v: '22', l: 'Leads' }], ]; const barValues = [38, 52, 44, 61, 73, 88, 82]; const days = ['L', 'M', 'X', 'J', 'V', 'S', 'D']; const maxV = Math.max(...barValues); const kpis = kpiSets[activePlat]; const plat = platforms[activePlat]; return (
{/* Window chrome */}
{['#FF5F57','#FEBC2E','#27C840'].map(c => (
))}
app.frsko.com/interactive
Live
{/* Platform tabs */}
{platforms.map((p, i) => ( ))}
{/* KPI row */}
{kpis.map((k, i) => (
0 ? '1px solid var(--border)' : 'none', }}>
{k.v}
{k.l}
))}
{/* Bar chart */}
Últimos 7 días · Leads
{barValues.map((v, i) => (
{days[i]}
))}
{/* Footer */}
IA optimizó 3 audiencias automáticamente Ver detalle →
); } // ============================================================ // HERO // ============================================================ function IntHero({ onCta }) { return (
{/* Breadcrumb */}
frsko.com / servicios / campanas-digitales
{/* Left — copy */}
FRSKO Interactive · Campañas
Performance · MX / LATAM

Publicar por publicar
no es marketing.
Esto es diferente.

FRSKO Interactive gestiona tus campañas digitales con un objetivo claro: impactar en tus ventas. Paid media, redes sociales y contenido trabajando juntos — medido semana a semana con métricas que le importan a tu negocio.

{['Meta · Google · TikTok · LinkedIn', 'Primera semana de onboarding', 'Sin lock-in de contratos'].map((text, i) => ( {i > 0 &&
}
{text}
))}
{/* Right — dashboard visual */}
); } // ============================================================ // PROBLEM — likes vs clientes // ============================================================ function IntProblem() { const vanity = [ { label: 'Alcance', value: '45,200', note: 'personas' }, { label: 'Likes', value: '892', note: 'reacciones' }, { label: 'Impresiones', value: '180K', note: 'visualizaciones' }, { label: 'Shares', value: '234', note: 'compartidos' }, ]; const biz = [ { label: 'Leads calificados', value: '47', note: 'este mes' }, { label: 'CPL', value: '$193', note: 'MXN por lead' }, { label: 'ROAS', value: '4.8×', note: 'retorno total' }, { label: 'CAC', value: '$892', note: 'costo por cliente' }, ]; return (
El problema

¿Tu agencia actual te reporta{' '} likes {' '}o te reporta{' '} clientes?

El indicador más común que reciben las empresas de sus agencias es el "alcance" — cuántas personas vieron la publicación. El problema es que el alcance no paga nóminas.

{/* Vanity card */}
Lo que reporta tu agencia actual
{vanity.map((item, i) => (
{item.label}
{item.value}
{item.note}
))}
¿Cuántos clientes nuevos generó esto?
{/* Business card */}
Lo que reporta FRSKO Interactive
{biz.map((item, i) => (
{item.label}
{item.value}
{item.note}
))}
Esto sí paga nóminas.
); } // ============================================================ // SERVICES — Lo que cubrimos // ============================================================ function IntServices() { const platforms = [ { label: 'Meta Ads', color: '#0866FF', bg: '#EEF4FF' }, { label: 'Google Ads', color: '#EA4335', bg: '#FEF0EE' }, { label: 'TikTok Ads', color: '#010101', bg: '#F2F2F2' }, { label: 'LinkedIn Ads', color: '#0A66C2', bg: '#EDF3FB' }, ]; const services = [ { icon: 'users', title: 'Redes Sociales Orgánicas', body: 'Calendario editorial, producción de contenido, publicación y gestión de comunidad. Orientado a construir audiencias propias que no dependen de presupuesto pagado indefinidamente.', tag: 'Orgánico', }, { icon: 'clipboard', title: 'Estrategia de Contenido', body: 'Definición de pilares de contenido, arquetipos de audiencia, voz de marca y calendario estratégico alineado a tus objetivos de negocio.', tag: 'Estrategia', }, { icon: 'mail', title: 'Email Marketing y Automatización', body: 'Secuencias de bienvenida, nurturing, reactivación y newsletters. Integración con tu CRM para que el email acompañe cada etapa del ciclo de compra.', tag: 'CRM', }, { icon: 'chart', title: 'Reportería y Analytics', body: 'Dashboard en tiempo real con las métricas que definimos contigo desde el inicio. Reporte ejecutivo mensual con decisiones tomadas y plan del mes siguiente.', tag: 'Data', }, ]; return (
Lo que cubrimos

Una operación de marketing digital completa — bajo un solo equipo.

{/* Featured: Paid Media */}
Servicio principal

Paid Media

Gestión y optimización de campañas pagadas con estrategia de audiencias, creatividades, pruebas A/B y optimización de presupuesto semana a semana.

Plataformas activas
{platforms.map(p => (
{p.label}
))}
{/* 4-card grid */}
{services.map(s => (
{ e.currentTarget.style.borderColor = INT.orange; e.currentTarget.style.boxShadow = 'var(--shadow-md)'; }} onMouseLeave={e => { e.currentTarget.style.borderColor = 'var(--border)'; e.currentTarget.style.boxShadow = ''; }}>
{s.tag}

{s.title}

{s.body}

))}
); } Object.assign(window, { IntHero, IntProblem, IntServices });