Guía del usuario de Outro
Un recorrido completo, guiado por capturas de pantalla, sobre cómo usar Outro: desde construir tu página de cancelación con marca hasta actuar sobre las entrevistas de salida que recolectas.
Bienvenido a Outro
Outro convierte tu flujo de cancelación en una entrevista de salida por voz. Creas una página de cancelación con marca, diriges tu botón de "Cancelar suscripción" a ella, y a cada cliente que cancela se le hace una pregunta en sus propias palabras antes de finalizar la cancelación.
Cada respuesta de voz se transcribe y traduce automáticamente a tu idioma, se evalúa su sentimiento y se etiqueta con temas. Todo llega a tu panel y se resume en un digest semanal, para que finalmente sepas por qué la gente se va, no solo que lo hicieron.
Lo que aprenderás
- Cómo crear una página de cancelación con marca en unos pocos clics.
- Cómo configurar tu logo, colores, pregunta y texto del botón.
- Cómo añadir ofertas de retención que recuperen a algunos clientes que cancelan.
- Cómo incrustar la página o dirigir tu botón de cancelación hacia ella y redirigir a los clientes de vuelta.
- Cómo conectar Stripe y Lemon Squeezy para que cada cancelación incluya el plan y MRR en riesgo.
- Cómo leer respuestas y rastrear el MRR que salvas vs. pierdes en Recuperación de Ingresos.
- Cómo los resúmenes de IA y el digest semanal de cancelaciones destilan lo que dicen los clientes.
- Cómo gestionar tu equipo, plan y facturación.
Inicio rápido - 5 minutos para estar en vivo
Si prefieres un resumen, aquí está el camino más corto desde el registro hasta recolectar entrevistas de salida reales.
Crea una cuenta
Haz clic en Registrarse en la página de inicio, ingresa tu correo electrónico, establece una contraseña y confirma a través del correo que te enviamos. Cada cuenta comienza con una prueba de 14 días.
Crea tu página de cancelación
Desde el panel, ve a Páginas de cancelación → Nueva página, elige un slug (tu página estará en outro.so/c/tu-slug) y escribe la única pregunta que deseas que respondan los clientes que cancelan.
Personalízala (opcional)
Añade tu logo, color de marca, título de la página y texto del botón. Siempre puedes volver y ajustar más tarde: la página en vivo se actualiza inmediatamente.
Conecta tu proveedor de facturación (opcional)
En Configuración de cuenta → Integraciones, conecta Stripe o Lemon Squeezy. Outro luego adjunta el plan del cliente, la antigüedad de la suscripción y el MRR en riesgo a cada cancelación, para que puedas medir la cancelación en dólares, no solo en conteos.
Integra tu flujo de cancelación
Incrusta la página en tu aplicación con el fragmento de copiar y pegar, o dirige tu botón de "Cancelar suscripción" existente a tu enlace de Outro y establece un Dominio de retorno permitido para que los clientes regresen para finalizar la cancelación.
Observa las respuestas llegar
Cada respuesta aparece en la pestaña Respuestas, transcrita y evaluada automáticamente. Recuperación de Ingresos rastrea el MRR que salvas vs. pierdes, y un digest de cancelación llega a tu bandeja de entrada cada lunes.

Creando una página de cancelación
Una página de cancelación es la pantalla con marca que ven tus clientes cuando hacen clic en cancelar. Puedes tener tantas como permita tu plan, por ejemplo, una página diferente por producto o por nivel de plan, cada una con su propia pregunta.
1. Abre Páginas de cancelación
Desde la barra lateral, haz clic en Páginas de cancelación. Verás cada página que posees, cada una con su URL pública, estado en vivo/desactivado y acciones rápidas.

2. Completa lo esencial
El editor tiene varios campos. Solo el slug es obligatorio: los valores predeterminados cubren el resto:
- Slug - la URL pública es
outro.so/c/{slug}. Letras minúsculas, dígitos y guiones. - Título de la página - por ejemplo, "Lamentamos verte ir".
- Pregunta - la única pregunta que tu cliente responde por voz, por ejemplo, "¿Cuál es la principal razón por la que cancelas?"
- Texto del botón Omitir / Continuar - el texto en los botones de omitir y continuar cancelación.

Personalizando la página
La página debe parecerse a tu producto, no al nuestro. La pestaña Apariencia controla el aspecto: elige un diseño (página completa, dividido o tarjeta), define el fondo, el color de marca, el estilo de la tarjeta y tu logotipo, y los cambios se reflejan en la vista previa en el momento en que los haces.
Logo y color de marca
Pega una URL de logo alojada para mostrar tu marca en la parte superior de la página y elige un color de marca con el selector de color (o pega un valor hex). El color impulsa la barra de acento, los botones y el control de grabación.

Interruptor en vivo
El interruptor La página está en vivo controla si la URL pública responde. Apágalo para desactivar una página sin eliminarla (y sus respuestas).
Ofertas de retención
Una cancelación no siempre es definitiva. Después de que un cliente responde a tu pregunta, Outro puede mostrar una oferta de retención: un incentivo de última oportunidad para quedarse. Algunos la aceptan; el resto cancela como de costumbre. De cualquier manera, aprendes algo.
Abre la pestaña Ofertas en el editor de la página y activa Habilitar ofertas de retención. El flujo es simple: ellos dan feedback → tú muestras una oferta → ellos se quedan o cancelan.

Tipos de oferta
- Descuento - un código de cupón (por ejemplo, "50% de descuento por 3 meses") que el cliente copia y aplica al pagar, con un enlace de facturación opcional.
- Pausar suscripción - envíalos a una página de pausa en tu aplicación en lugar de cancelar directamente.
- Degradar plan - enlaza a tu página de planes para que puedan moverse a un nivel más económico.
- Contactar soporte - dirige a un cliente salvable a una persona a través de correo electrónico o un enlace de soporte.
Dirigiendo ofertas a razones
Cada oferta puede dirigirse a razones específicas de cancelación, y hay dos formas de coincidir:
- Por lo que eligen - coincide con la respuesta que el visitante seleccionó en tu formulario (por ejemplo, una opción de radio "Demasiado caro").
- Por lo que dicen - cuando el visitante graba una respuesta de voz y las ofertas están habilitadas, Outro la transcribe y usa IA para detectar la verdadera razón de cancelación (demasiado caro, faltan características, no lo usa, demasiado difícil de usar, problemas técnicos, cambio), luego muestra la oferta que coincide con lo que realmente dijeron. Esto ocurre en línea: el visitante ve una breve pausa de "encontrando la mejor opción" mientras se clasifica.
Outro muestra la primera oferta que coincide con cualquiera de las señales; si ninguna coincide, muestra la primera oferta sin razones seleccionadas (tu comodín). Así, un cliente que dice que el precio es demasiado alto obtiene tu descuento incluso si nunca tocó el formulario, mientras que "falta una característica" se dirige al soporte. Puedes mezclar respuestas de formulario y razones detectadas por voz en la misma oferta: Outro mapea las dos juntas, por lo que una oferta configurada contra una etiqueta de formulario aún coincide con la razón hablada equivalente.
Integrando tu flujo de cancelación
Hay dos formas de poner Outro frente a los clientes que cancelan. Elige la que mejor se adapte a tu aplicación:
- Incrústalo - inserta un iframe + unas pocas líneas de script en tu pantalla de cancelación existente. La página se redimensiona sola y le dice a tu aplicación cuando un cliente acepta una oferta.
- Enlázalo - dirige tu botón de "Cancelar suscripción" a tu URL alojada de Outro, y Outro redirige al cliente de vuelta para finalizar la cancelación.
Opción A - incrustar la página
Copia el fragmento desde la pestaña Integration del editor (el bloque Inline embed) y pégalo donde esté tu flujo de cancelación. Escucha dos mensajes: un evento resize (para que el iframe ajuste su altura) y un evento offer_accepted (para aplicar la oferta de retención en tu sistema de facturación).
Añade user_id (y opcionalmente external_ref) a la URL del iframe tal como lo harías en un enlace: las cancelaciones incrustadas se emparejan con un cliente de facturación de la misma manera, por lo que el plan y el MRR capturados son precisos.
<iframe src="https://outro.so/c/your-slug?embed=1&user_id=USER_ID&external_ref=REF"
id="outro-embed"
style="border:0;width:100%;display:block;min-height:320px"
title="Cancellation"></iframe>
<script>
window.addEventListener('message', function (e) {
if (e.origin !== 'https://outro.so') return;
var d = e.data;
if (!d || d.type !== 'outro-embed') return;
if (d.kind === 'resize') {
var f = document.getElementById('outro-embed');
if (f) f.style.height = d.height + 'px';
}
if (d.kind === 'offer_accepted') {
// d.offer = pause|downgrade|discount|contact, d.responseId
// Apply the offer in your billing system here.
if (d.offerUrl) window.location.href = d.offerUrl;
}
});
</script>Opción B - el enlace de integración
El editor genera un enlace que puedes copiar. Se ve así:
outro.so/c/your-slug?return_url=https://app.acme.com/cancel/done&user_id=USER_ID&external_ref=REF- return_url - a dónde enviar al cliente después de que responda. Debe estar en tu dominio de retorno permitido.
- user_id - tu propio identificador para el cliente. Vuelve para que puedas emparejar la respuesta con una cuenta.
- external_ref - cualquier contexto adicional que quieras adjuntar (plan, MRR, fecha de registro). Se almacena junto a la respuesta.
La redirección de vuelta
Después de que el cliente graba una respuesta (o hace clic en el botón de omitir / continuar), Outro los envía a tu return_url con dos parámetros de consulta añadidos para que tu aplicación pueda finalizar la cancelación:
https://app.acme.com/cancel/done?outro_response_id=...&user_id=USER_IDDominio de retorno permitido
Establece Dominio de retorno permitido en el editor (por ejemplo, acme.com). Outro solo redirige de vuelta a ese host o un subdominio del mismo.
return_url en cualquier otro host es rechazado por diseño, para que nadie pueda secuestrar la redirección.Aplicando la oferta en tu sistema de facturación
Hay dos maneras de aplicar una oferta aceptada. Automático - conecta tu proveedor de facturación (Stripe o Lemon Squeezy) en Configuración y activa "Aplicar automáticamente" en una oferta; Outro aplica el descuento, pausa o degradación por ti. Manual - Outro solo señala a tu aplicación y realizas el guardado tú mismo, utilizando el pegamento de copiar y pegar a continuación. Automático necesita una clave API con acceso de escritura; manual no necesita ninguna.
¿Qué clave necesito?
- Stripe - una clave restringida de solo lectura proporciona información (MRR en riesgo). Para aplicar automáticamente ofertas, la clave necesita Escritura en Suscripciones y Cupones, además de Lectura en Productos y Precios (para degradaciones). Una clave secreta funciona, pero una clave restringida es más segura.
- Lemon Squeezy - Las claves API son de acceso completo, por lo que la misma clave proporciona información y aplica automáticamente ofertas de pausa y degradación. Los descuentos no se pueden aplicar a una suscripción existente a través de la API de Lemon Squeezy, por lo que las ofertas de descuento muestran el código de cupón al cliente en lugar de aplicarse automáticamente.
Las dos señales
- Página incrustada - un postMessage
offer_acceptedconofferestablecido endiscount,pause,downgradeocontact, más elresponseId. - Página alojada - la redirección de vuelta a tu aplicación lleva
outro_offer=<type>junto conoutro_response_idy tuuser_id.
De cualquier manera, dirige la señal a un endpoint del lado del servidor y cumple allí:
// Your cancel/done page (or the embed's message handler) calls this:
// POST /api/retention/fulfill { userId, offer, responseId }
app.post('/api/retention/fulfill', async (req, res) => {
const { userId, offer, responseId } = req.body
const customer = await db.customers.findByExternalId(userId)
switch (offer) {
case 'discount': await applyDiscount(customer); break
case 'pause': await pauseSubscription(customer); break
case 'downgrade': await downgradePlan(customer); break
case 'contact': await notifySupport(customer, responseId); break
}
res.json({ ok: true })
})outro_offer y el postMessage provienen del navegador: cualquiera puede escribir una cadena de consulta. Antes de cumplir, verifica que el cliente esté realmente en medio de una cancelación en tus registros y limita las redenciones (por ejemplo, un descuento de retención por cliente por año).Recetas de Stripe
Con la biblioteca oficial stripe de Node y el ID de suscripción del cliente:
// Discount - e.g. a "40% off for 3 months" coupon you created in Stripe
async function applyDiscount(customer) {
await stripe.subscriptions.update(customer.stripeSubscriptionId, {
discounts: [{ coupon: 'SAVE40_3MO' }],
})
}
// Pause - stop charging, auto-resume in 2 months
async function pauseSubscription(customer) {
const resumesAt = Math.floor(Date.now() / 1000) + 60 * 60 * 24 * 60
await stripe.subscriptions.update(customer.stripeSubscriptionId, {
pause_collection: { behavior: 'void', resumes_at: resumesAt },
})
}
// Downgrade - move the subscription item to a cheaper price
async function downgradePlan(customer) {
const sub = await stripe.subscriptions.retrieve(customer.stripeSubscriptionId)
await stripe.subscriptions.update(sub.id, {
items: [{ id: sub.items.data[0].id, price: 'price_starter_monthly' }],
proration_behavior: 'create_prorations',
})
}Recetas de Lemon Squeezy
Lemon Squeezy usa REST simple (PATCH /v1/subscriptions/:id con tu clave API). Un detalle: LS no puede adjuntar un código de descuento a una suscripción activa: para una oferta de "descuento", cambia al cliente a una variante con descuento del mismo plan.
const LS = 'https://api.lemonsqueezy.com/v1'
const headers = {
Authorization: `Bearer ${process.env.LEMONSQUEEZY_API_KEY}`,
'Content-Type': 'application/vnd.api+json',
Accept: 'application/vnd.api+json',
}
const patchSub = (id, attributes) =>
fetch(`${LS}/subscriptions/${id}`, {
method: 'PATCH',
headers,
body: JSON.stringify({ data: { type: 'subscriptions', id: String(id), attributes } }),
})
// "Discount" - move them to a discounted variant of their plan
async function applyDiscount(customer) {
await patchSub(customer.lsSubscriptionId, { variant_id: DISCOUNTED_VARIANT_ID })
}
// Pause - stop charging, auto-resume in 2 months
async function pauseSubscription(customer) {
const resumesAt = new Date(Date.now() + 1000 * 60 * 60 * 24 * 60).toISOString()
await patchSub(customer.lsSubscriptionId, {
pause: { mode: 'void', resumes_at: resumesAt },
})
}
// Downgrade - switch to the cheaper plan's variant
async function downgradePlan(customer) {
await patchSub(customer.lsSubscriptionId, { variant_id: STARTER_VARIANT_ID })
}Integraciones de facturación
Conectar tu proveedor de pagos convierte a Outro de "cuántos cancelaron" a "cuánto MRR está saliendo por la puerta". Una vez conectado, cada cancelación se empareja con el cliente que paga y se etiqueta con su plan, antigüedad de suscripción e ingresos mensuales en riesgo.
Ve a Configuración de cuenta → Integraciones. Outro admite Stripe y Lemon Squeezy, y puedes añadir varias cuentas por proveedor: útil si manejas más de una tienda o entidad.

Gestionando una conexión
- Añadir conexión - pega la clave API del proveedor. Outro importa tus clientes (correo electrónico, plan, MRR, inicio de suscripción) y los almacena en caché para emparejar.
- Sincronizar ahora - actualiza la lista de clientes almacenada en caché bajo demanda. Outro también re-sincroniza en un horario diario.
- Desconectar - elimina los clientes almacenados en caché para esa conexión. Las instantáneas de cancelación pasadas permanecen intactas: los números que ya has registrado no cambian.
Cómo funciona el emparejamiento
Cuando llega una cancelación, Outro la empareja con un cliente sincronizado por el user_id / external_ref que pasaste, o por correo electrónico. El emparejamiento se captura como una instantánea en la respuesta, por lo que la cifra de MRR refleja lo que valía ese cliente en el momento en que canceló.
user_id en tu enlace de cancelación o incrustación para el emparejamiento más confiable: es exacto, mientras que el emparejamiento por correo electrónico depende de que la dirección coincida.Leyendo respuestas
Cada respuesta aparece en la vista Respuestas. Las respuestas de voz se transcriben y traducen automáticamente, para que puedas revisarlas como texto, y cada una se evalúa y etiqueta en el momento en que llega.

Qué hay en cada respuesta
- Grabación y transcripción: el audio original (reproducible), la transcripción en el idioma original y la traducción lado a lado.
- Sentimiento y temas: positivo / neutral / negativo, además de temas detectados automáticamente como precios, competidor o característica faltante.
- Contexto: cuándo se envió, el
user_idyexternal_refque pasaste, y detalles de idioma/dispositivo.
Recuperación de ingresos
Una vez que un proveedor de facturación está conectado, la página de Recuperación de Ingresos pone un valor en dólares a tu cancelación. Responde a la pregunta que realmente importa al negocio: ¿cuánto MRR recuperamos y cuánto perdimos?

Los cuatro números
- MRR en riesgo - ingresos mensuales totales de cada cancelación emparejada en el período.
- MRR recuperado - ingresos de clientes que aceptaron una oferta y están confirmados como aún suscritos en tu proveedor de facturación. Esta es retención verificada, no solo un clic en la oferta.
- Verificación pendiente - clientes que aceptaron una oferta recientemente; contados como recuperados solo una vez que pasa el período de gracia y se confirma que siguen pagando.
- MRR perdido - clientes que cancelaron sin tomar una oferta, o que aceptaron una pero cancelaron de todos modos.
La recuperación se confirma contra tu proveedor de facturación: Outro vuelve a verificar el estado de suscripción de cada cliente que acepta (sincronizado desde Stripe o Lemon Squeezy, actualizado al menos diariamente). Un ahorro cuenta como recuperado solo después de un período de gracia de 14 días y solo si la suscripción sigue activa, por lo que el número refleja clientes que realmente se quedaron, no clics en el botón de oferta. Debajo de los números principales, el MRR en riesgo se desglosa por plan y por antigüedad (0-30d, 31-90d, 91-180d, 180d+), para que puedas ver si estás perdiendo nuevas pruebas o clientes de larga data. Una línea de encabezado te dice cuántas cancelaciones coincidieron con un cliente que paga: las no emparejadas (sin datos de facturación) no llevan una cifra de MRR.
Usa el filtro de rango de fechas (7d / 30d / 90d / Todo) para delimitar la vista, y Exportar CSV para extraer las cancelaciones emparejadas en bruto a una hoja de cálculo.
Por qué los clientes cancelan
El panel Por qué los clientes cancelan desglosa el período por razón de cancelación detectada por IA: demasiado caro, faltan características, no lo usa, demasiado difícil de usar, problemas técnicos, cambio, con un conteo y participación para cada uno. Funciona con la respuesta hablada (o escrita) sola, por lo que es útil desde tu primera respuesta, antes de que cualquier proveedor de facturación esté conectado.
Cuando una gran parte de las respuestas caen en Otro / no clasificado, el panel lo señala: eso generalmente significa que los clientes están citando una razón que la taxonomía de IA aún no cubre, y esas respuestas valen la pena escucharlas a mano.
Analíticas
La página de Analíticas muestra cuánto feedback estás recolectando en todas tus páginas de cancelación: volumen de respuestas a lo largo del tiempo, mezcla de sentimientos y tasa de omisión vs. respuesta.

Úsalo para detectar cambios: un pico en el sentimiento negativo después de un cambio de precio, o un nuevo tema subiendo en la lista.
Resúmenes de IA y digest semanal
Leer cada entrevista de salida a mano no escala. La IA de Outro toma tus respuestas en bruto y produce un resumen legible: las principales razones por las que la gente se va, citas representativas, un desglose de sentimientos y acciones sugeridas.

El digest semanal de cancelaciones
Cada lunes a las 9 am, Outro te envía un resumen de una pantalla de las cancelaciones de los últimos 7 días. Está diseñado para la pregunta que tu equipo realmente hace el lunes por la mañana: quién se fue, por qué y cuánto nos costó.
- Cancelaciones esta semana - el conteo, con el cambio respecto a la semana anterior.
- MRR en riesgo, salvado y perdido - la misma imagen de ingresos que Recuperación de Ingresos, resumida para la semana.
- Principales razones de cancelación - el puñado de respuestas que los clientes dieron con más frecuencia.
- Resultados de ofertas de retención - cuántas ofertas fueron aceptadas, rechazadas o no mostradas.
Puedes previsualizar el diseño en cualquier momento desde Configuración de cuenta → Notificaciones → Previsualizar un digest de muestra, y desactivar el correo electrónico allí si no lo deseas. Las cuentas con cero cancelaciones en la semana se omiten: no hay correos vacíos.
Cuenta y equipo
Gestiona tu organización, invita a compañeros de equipo y cambia tu contraseña desde Configuración de cuenta (parte inferior de la barra lateral).

Pestañas
- General - cambia el nombre y la descripción de la cuenta.
- Usuarios - invita a compañeros de equipo por correo electrónico y establece su rol (propietario, administrador, miembro).
- Integraciones - conecta Stripe y Lemon Squeezy (ver Integraciones de facturación arriba).
- Notificaciones - activa el digest semanal y previsualiza una muestra.
- Facturación - ve tu plan, mejora o gestiona la suscripción.
- Seguridad - cambia la contraseña, cierra sesión en otras sesiones.
Facturación y planes
Outro tiene un nivel gratuito y tres niveles de pago: Starter, Pro y Scale. Cada plan de pago puede facturarse mensualmente o anualmente, y el anual equivale aproximadamente a dos meses gratis. Las respuestas son ilimitadas en cada plan: los planes difieren en páginas, minutos de voz, informes de IA y asientos.

Lo que incluye cada plan
- Gratis - $0 - 1 página de cancelación, 10 minutos de voz y 5 informes de IA por mes. Una forma sin compromiso de probar el flujo completo.
- Starter - $29/mes ($290/año) - 1 página de cancelación, 100 minutos de voz y 30 informes de IA por mes, 3 asientos de equipo, entrevistas de salida por voz y texto, ofertas de retención, el digest semanal, traducción automática.
- Pro - 79 $/mes (790 $/año) - hasta 5 páginas de cancelación, 300 minutos de voz y 100 informes de IA al mes, 10 asientos de equipo, sentimiento avanzado (temas y tendencias), marca personalizada, notificaciones de Slack, exportación de datos, soporte prioritario.
- Scale - $199/mes ($1,990/año) - páginas de cancelación ilimitadas, 1,000 minutos de voz y 300 informes de IA por mes, 25 asientos de equipo, todo en Pro.
Preguntas frecuentes
¿Necesito ayuda de ingeniería para instalar Outro?
Muy poca. La configuración más simple es una línea: dirige tu botón de "Cancelar suscripción" existente a tu enlace de Outro y maneja la redirección de vuelta. Si prefieres mantener a los clientes en tu aplicación, pega el fragmento de incrustación en su lugar. Conectar un proveedor de facturación es solo una clave API en la configuración.
¿Qué idiomas admite la transcripción de voz?
Los clientes pueden hablar en más de 50 idiomas. Cada respuesta se transcribe en el idioma original y se traduce al idioma en el que lees, para que tu equipo siempre trabaje en un solo idioma.
¿Saben mis clientes que su voz es transcrita por IA?
Sí. Cada grabadora de voz muestra una breve línea "Tu voz será transcrita por IA" con un enlace a la política de privacidad, traducida a cada uno de los 7 idiomas admitidos. Es una línea de cumplimiento incorporada y no es configurable. Sigues siendo el controlador de datos para el feedback que recolectas; Outro lo procesa en tu nombre.
¿Qué pasa si un cliente no quiere grabar?
Hacen clic en el botón de omitir y son redirigidos directamente para finalizar la cancelación. Outro nunca bloquea o retrasa una cancelación: responder siempre es opcional.
¿Qué sucede con mis datos cuando elimino una página?
Las respuestas que ya has recolectado se retienen: eliminar una página no destruye sus entrevistas de salida. También puedes simplemente desactivar una página en lugar de eliminarla.
¿Puedo probarlo sin pagar?
Sí. El plan Gratis te permite ejecutar una página de cancelación real con respuestas ilimitadas (10 minutos de voz al mes): no se requiere tarjeta de crédito. Mejora a Starter, Pro o Scale cuando necesites más minutos de voz, páginas o asientos.
¿Listo para saber por qué se van los clientes?
Si aún no te has registrado, toma unos 30 segundos.