Si tu marca ya vende y quiere escalar…
Una sola cuenta de TikTok Ads es una bomba de tiempo para tu marca.
Cada suspensión te deja sin ventas, con tu saldo en revisión y sin el aprendizaje que ya pagaste. Audita tu pauta en menos de 1 minuto y recibe tu plan de 14 días para escalar con respaldo.
Es solo para marcas de ecommerce que ya venden y ya invierten en publicidad, desde $1,000 al mes. Si todavía no inviertes nada en anuncios, esta auditoría aún no es para ti.
Déjanos tus datos y empieza tu auditoría
Tu diagnóstico incluye: cuáles de estos problemas te están frenando, qué hacer primero en 14 días y si calificas para una llamada con nuestro equipo.
Escalar una marca en TikTok pide infraestructura, no una sola cuenta
Esto es lo que le pasa a una marca que depende de una sola cuenta, y lo que cambia cuando tiene respaldo.
| Con una sola cuenta | Con infraestructura de agencia |
|---|---|
| Una suspensión detiene toda tu pauta de un día para otro y tus ventas de TikTok caen a cero. | Repartes el riesgo en varias cuentas de agencia y tienes respaldo listo para relanzar. |
| Empiezas de cero: pierdes el píxel y el aprendizaje que ya pagaste. | Replicas tu estructura ganadora en otra cuenta para retomar más rápido. |
| Tu saldo prepagado puede quedar retenido mientras TikTok revisa si te lo devuelve. | Te ayudamos a mover o recuperar tu saldo, según el caso. |
| Pagas la pauta hoy y cobras tus pedidos contra entrega después: tu caja se aprieta cada vez que escalas. | Línea de crédito publicitario, sujeta a evaluación: gastas durante el mes y pagas después. |
| Apelas con un ticket y esperas respuesta mientras tu pauta sigue detenida. | Soporte prioritario por WhatsApp para apelar y relanzar. |
| Cuando subes presupuesto, todo el riesgo está concentrado en una sola cuenta. | Escalas repartiendo la inversión entre cuentas, con guía operativa para subir sin romper lo que funciona. |
No vendemos cuentas sueltas: el acceso a la infraestructura es parte del servicio mientras trabajas con nosotros.
Más de 1,000 cuentas de agencia activas, más de 200 clientes y cerca de $300 mil USD de pauta gestionada cada mes.
Al enviar tus datos aceptas que el equipo de Holistic Marketing te contacte para revisar tu situación.
¡Listo!
Calificas para tu llamada de diagnóstico
Agenda ahora y llegamos a la llamada con tus números a la vista. Así sales con tu plan de 14 días ajustado a tu marca.
Tu plan de 14 días
Es tu punto de partida según lo que respondiste. En la llamada lo afinamos con tus números.
Qué pasa ahora
- Agenda tu llamada. Elige el día y la hora que mejor te queden.
- Te escribimos por WhatsApp. Confirmamos tu cita y te enviamos recordatorios al número que dejaste.
- Revisamos tus números juntos. Definimos qué ajustar primero y cómo proteger tu pauta.
Ten a la mano estos datos
- Cuánto invertiste en pauta el último mes.
- Cuántas ventas y pedidos generó esa pauta.
- Cuántas cuentas publicitarias tienes activas.
- Cuánto te queda de margen en cada venta.
¿Listo para tu llamada?
Reserva tu horario y llega con tus números a la mano.
Agendar mi llamada de diagnósticoGracias por tu tiempo
Tu plan de 14 días mientras tanto
Sigue con nosotros
Te compartimos contenido útil por WhatsApp para que llegues mejor preparado cuando quieras volver a aplicar.
Guía de puesta en marcha
Un solo archivo, todo el embudo
Esta guía solo se ve en vista previa. Al poner modoVistaPrevia en false desaparece y la página queda lista para el público.
Qué contiene
Portada con los puntos de dolor, formulario nativo, 8 preguntas filtro, la página de gracias (quien aplica) y la de lo sentimos (quien no aplica). Las vistas se abren con la dirección: #inicio, #pregunta-1 a #pregunta-8, #gracias y #rechazo. Fuera de la vista previa, gracias y lo sentimos solo se abren después de responder.
Cómo decide
Las preguntas salen una por pantalla. Cada respuesta se evalúa en el momento: si falla un filtro, la persona va directo a «lo sentimos» sin responder el resto.
| # | Pregunta | Rechaza si responde |
|---|---|---|
| 1 | ¿Cuánto inviertes al mes en publicidad? | «No invierto nada todavía» o «Menos de $1,000». El mínimo se cambia con gastoMinimoNivel. |
| 2 | ¿Dónde pautas hoy? | «Aún no pauto». |
| 3 | ¿Qué tipo de negocio tienes? | Todo lo que no esté en tiposAceptados. Por defecto solo «Marca de ecommerce». |
| 4 | ¿Qué te pasa hoy al intentar escalar en TikTok? (varias opciones) | Solo «Ninguno de estos por ahora». |
| 5 | ¿Cuántas cuentas publicitarias tienes activas? | No filtra: personaliza el diagnóstico. |
| 6 | ¿Te suspendieron alguna cuenta en los últimos 90 días? | No filtra: personaliza el diagnóstico. |
| 7 | ¿Quién decide sobre tu inversión en publicidad? | «Solo estoy investigando por ahora». |
| 8 | ¿Cuándo quieres resolverlo? | «Más adelante». |
Quien falla un filtro ve el mensaje de su motivo: gasto, sinPauta, tipo, sinDolor, decisor o urgencia. Puedes revisarlos con #rechazo-gasto, #rechazo-tipo, etc.
Puesta en marcha
- Supabase (base de datos en la nube). Abre SQL Editor, pega el SQL de abajo y ejecútalo. SQL es el lenguaje con el que se crea la tabla. En Project Settings copia la Project URL y la clave publicable, nunca la
service_role. - CONFIG. Edita el bloque
CONFIG(los ajustes al inicio del script): Supabase o webhook (enlace que recibe los datos), píxel de TikTok, calendario, WhatsApp, correo, testimonio real y sello vigente. - Publicar. Pon
modoVistaPrevia: false. Sube este archivo comoindex.htmla un proyecto estático de Vercel (servicio donde se publican páginas) y asígnale tu dominio con un registro CNAME (apunta un subdominio a otro servidor) haciacname.vercel-dns.com. - Probar en modo incógnito con la lista de abajo.
SQL para Supabase
Crea la tabla leads_eventos. Cada persona deja dos filas: lead (al dejar sus datos) y completo (al terminar las preguntas). La clave publicable que va dentro de la página solo puede insertar filas; tú lees los datos desde el panel de Supabase.
-- Ads Holistic · embudo de calificación
-- Pégalo en Supabase > SQL Editor. Crea la tabla donde el formulario guarda cada paso
-- (primero «lead» al dejar los datos y luego «completo» al terminar las preguntas).
create table if not exists public.leads_eventos (
id bigint generated always as identity primary key,
creado_en timestamptz not null default now(),
lead_id text not null check (char_length(lead_id) between 8 and 40),
etapa text not null check (etapa in ('lead', 'completo')),
nombre text check (char_length(nombre) <= 120),
email text check (char_length(email) <= 200),
pais text check (char_length(pais) <= 6),
telefono text check (char_length(telefono) <= 20),
whatsapp text check (char_length(whatsapp) <= 26),
tienda text check (char_length(tienda) <= 120),
respuestas jsonb not null default '{}'::jsonb,
calificado boolean,
motivo text check (char_length(motivo) <= 30),
utm jsonb not null default '{}'::jsonb,
pagina text check (char_length(pagina) <= 300),
referrer text check (char_length(referrer) <= 300),
agente text check (char_length(agente) <= 300)
);
create index if not exists leads_eventos_lead_idx
on public.leads_eventos (lead_id, creado_en desc);
alter table public.leads_eventos enable row level security;
-- La clave PUBLICABLE (la que va dentro de la página) solo puede INSERTAR.
-- No puede leer, editar ni borrar. Tú ves los datos desde el panel de Supabase.
drop policy if exists "formulario_inserta" on public.leads_eventos;
create policy "formulario_inserta" on public.leads_eventos
for insert to anon, authenticated
with check (true);
-- Último estado de cada contacto (útil para tu tablero). Solo lo lees tú.
create or replace view public.leads_actuales with (security_invoker = true) as
select distinct on (lead_id) *
from public.leads_eventos
order by lead_id, creado_en desc;
revoke all on public.leads_actuales from anon, authenticated;
Pruebas antes de lanzar
- Responde «No invierto nada todavía»: debe llegar a lo sentimos con el motivo de pauta.
- Responde «Menos de $1,000»: lo sentimos con el motivo de inversión mínima.
- Elige «Otro» en tipo de negocio: lo sentimos con el motivo de tipo.
- Marca «Ninguno de estos por ahora»: lo sentimos con el motivo de sin dolor.
- Responde todo bien: debe llegar a gracias y mostrar tu calendario.
- Abre
#graciasescribiendo la dirección a mano: debe volver al inicio. - En Supabase revisa la tabla
leads_eventos: cada persona deja dos filas. - Revisa con TikTok Pixel Helper (extensión de Chrome que muestra los eventos del píxel) que gracias envía
CompleteRegistrationuna sola vez y lo sentimos solo envíaDescalificado.
TikTok y privacidad
- Optimiza las campañas por
CompleteRegistration: ese evento solo lo dispara quien califica.SubmitFormse envía al dejar los datos (cualquier persona).Descalificadoes un evento propio y no sirve para optimizar. - La campaña (
utm_*, etiquetas de campaña del enlace) y el clic de TikTok (ttclid) se guardan con cada contacto. - Los datos de contacto viajan solo a Supabase o al webhook, nunca en la dirección de la página. Las vistas de gracias y lo sentimos llevan noindex (Google no las muestra).
- La clave publicable de Supabase solo puede insertar filas. Conviene activar límites de uso (rate limits) y revisar la tabla de vez en cuando por si alguien la llena de basura.
Glosario
- CONFIG
- Bloque de ajustes al inicio del script.
- CNAME
- Registro DNS que apunta un subdominio a otro servidor.
- noindex
- Instrucción para que Google no muestre una página en sus resultados.
- píxel
- Código de TikTok que mide las conversiones de tus anuncios.
- SQL
- Lenguaje para crear y consultar tablas en una base de datos.
- Supabase
- Base de datos en la nube donde se guardan los contactos.
- ttclid
- Identificador del clic en un anuncio de TikTok.
- utm
- Etiquetas de campaña que van en el enlace (origen, medio, campaña).
- Vercel
- Servicio donde se publican las páginas web.
- webhook
- Enlace que recibe los datos de cada contacto en otra herramienta.