Saltar al contenido

Crear oferta introductoria de suscripción en iOS

GitHub

Las ofertas introductorias permiten ofrecer periodos de prueba gratuitos o precios iniciales con descuento para reducir las barreras de entrada y aumentar las conversiones de suscripción.

Las ofertas introductorias son una de las herramientas más eficaces para aumentar tu base de suscriptores. Permiten a los usuarios:

  • Probar tus funciones premium sin riesgo
  • Experimentar el valor antes de comprometerse
  • Empezar con un precio más bajo
  • Ganar confianza en tu producto

iOS admite tres tipos de ofertas introductorias:

Los clientes obtienen acceso gratuito durante un periodo determinado. Al finalizar la prueba, se les cobra la tarifa estándar si no cancelan.

Ejemplos:

  • 7 días gratis
  • 14 días gratis
  • 1 mes gratis

Ideal para:

  • Suscripciones de alto valor
  • Apps con muchas funciones
  • Crear hábito en el usuario

Los clientes pagan un único precio con descuento que cubre el periodo introductorio.

Ejemplos:

  • $1.99 por 2 meses (luego $9.99/mes)
  • $9.99 por 3 meses (luego $19.99/mes)

Ideal para:

  • Señales de compromiso
  • Necesidades de flujo de caja
  • Probar la sensibilidad al precio

Los clientes pagan un precio reducido durante varios ciclos de facturación.

Ejemplos:

  • $1.99/mes por 3 meses (luego $9.99/mes)
  • $4.99/mes por 6 meses (luego $14.99/mes)

Ideal para:

  • Compromiso gradual
  • Demostración de valor a largo plazo
  • Reducción del riesgo percibido

Los usuarios solo pueden recibir ofertas de introducción si:

  • No han recibido previamente una oferta de introducción para el producto
  • No haber recibido una oferta de introducción para ningún producto en el mismo grupo de suscripción
  • No haber tenido una suscripción activa al producto

Primero debes crear una suscripción de renovación automática antes de añadir una oferta de introducción.

  1. Ve a Subscriptions

    En App Store Connect, entra en la sección Monetización > Suscripciones de tu app y elige la suscripción a la que quieras añadir una oferta.

  2. Añadir precio de suscripción

    Haz clic en + el icono junto a “Subscription Prices” para abrir el modal de precios.

  3. Crear una oferta de introducción

    Selecciona “Crear oferta de introducción” de las opciones.

    Crear oferta de introducción

  4. Configurar países y fecha de inicio

    Países y regiones: Selecciona dónde estará disponible la oferta

    • Elige todos los países para mayor alcance
    • O limítalo a mercados específicos para pruebas

    Fecha de inicio: Cuándo estará disponible la oferta

    • Puede ser inmediata o programada
    • Útil para coordinar con campañas de marketing

    Fecha de fin (Opcional): Cuándo caduca la oferta

    • Déjalo en blanco para disponibilidad continua
    • Establece una fecha para promociones limitadas
  5. Selecciona el tipo de oferta

    Elige uno de estos tres tipos de oferta:

    Gratis (Prueba gratuita)

    • Selecciona la duración (días, semanas, meses)
    • Ejemplos: 7 días, 2 semanas, 1 mes

    Pago por adelantado

    • Define el precio de un pago único
    • Define la duración cubierta por el pago
    • Ejemplo: $1.99 por 2 meses

    Pago por uso

    • Establecer precio con descuento por periodo
    • Establecer número de periodos
    • Ejemplo: $2.99/mes por 3 meses
  6. Revisar y confirmar

    Revisa el resumen que muestra:

    • Tipo de oferta y duración
    • Detalles de precios
    • Precio regular tras el periodo inicial
    • Fechas de disponibilidad y países
  7. Guardar

    Haz clic Guardar para crear la oferta introductoria. Estará disponible para probarla de inmediato en modo sandbox.

Type: Free
Duration: 7 days
Then: $9.99/month

Recorrido del usuario:

  • Días 1-7: Acceso gratuito
  • Día 8: Primer cobro de $9.99
  • Los cobros mensuales continúan
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

Recorrido del usuario:

  • Día 1: cobro de $4.99
  • 90 días de acceso
  • Día 91: cobro de $9.99/mes
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

Recorrido del usuario:

  • Meses 1-6: $2.99/mes
  • Mes 7+: $9.99/mes

El plugin native-purchases gestiona automáticamente la elegibilidad y la presentación de las ofertas introductorias:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch products with intro offer information
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.yourapp.premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
const product = products[0];
// Display intro offer details (StoreKit sends localized metadata)
if (product.introductoryPrice) {
console.log('Intro price:', product.introductoryPriceString);
console.log('Intro period:', product.introductoryPricePeriod);
console.log('Intro cycles:', product.introductoryPriceCycles);
console.log('Regular price:', product.priceString);
} else {
console.log('No intro offer configured');
}
// Purchase (StoreKit automatically applies intro pricing if eligible)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Subscription active, receipt length:', transaction.receipt?.length);
await validateReceiptOnServer(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}

Propuesta de valor clara:

Try Premium Free for 7 Days
Then $9.99/month. Cancel anytime.

Enfatiza el ahorro:

Start at Just $1.99
Get 3 months of Premium for only $1.99
Then $9.99/month

Comunicación transparente:

Your Free Trial
• Access all premium features
• No charge for 7 days
• $9.99/month after trial
• Cancel anytime, even during trial
function formatIntroOffer(product: any): string {
if (!product.introductoryPrice) {
return `${product.priceString} per ${product.subscriptionPeriod}`;
}
const intro = product.introductoryPrice;
const regular = product.priceString;
if (intro.price === 0) {
// Free trial
return `Try free for ${intro.periodString}, then ${regular}`;
} else if (intro.cycles === 1) {
// Pay up front
return `${intro.priceString} for ${intro.periodString}, then ${regular}`;
} else {
// Enterprise
return `${intro.priceString} for ${intro.cycles} ${intro.periodString}s, then ${regular}`;
}
}
  • 3-7 días: Apps de decisión rápida, juegos
  • 7-14 días: Estándar para la mayoría de las apps
  • 14-30 días: Herramientas complejas, apps profesionales
  • Más de 30 días: B2B de alto valor o enterprise
  • $0.99-$1.99: Barrera muy baja, ideal para testing
  • 50% off: Gran valor percibido
  • Primer mes gratis: Patrón común y familiar
  • Antes de que termine la prueba: Avisar sobre el próximo cargo
  • Resaltar el valor: Mostrar estadísticas de uso o logros
  • Cancelación sencilla: Generar confianza con un proceso transparente

Usa sandbox testing para verificar el comportamiento:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// In sandbox mode, accelerated subscription durations apply:
// - 3 days free trial = 3 minutes
// - 1 week free trial = 3 minutes
// - 1 month free trial = 5 minutes
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
// Purchase with intro offer
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Intro purchase transaction:', transaction.transactionId);
// Wait for accelerated renewal
setTimeout(async () => {
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find((purchase) => purchase.productIdentifier === 'premium_monthly');
console.log('After trial state:', premium?.subscriptionState);
}, 180000); // 3 minutes for weekly trial
  • Una oferta de introducción por usuario y grupo de suscripción (de por vida)
  • Solo aplica para nuevos suscriptores
  • No se puede volver a usar tras la cancelación
  • No disponible para upgrades o crossgrades de suscripción
  • introductoryPrice muestra detalles de la oferta de introducción
  • eligibility método que comprueba si el usuario califica
  • Se aplica automáticamente al momento de la compra
  • No requiere un método de compra especial
  • Solo una oferta de introducción activa por suscripción
  • No se puede combinar con otros tipos de descuento
  • No se pueden cambiar las reglas de elegibilidad
  • Apple controla la verificación de elegibilidad

La oferta de introducción no aparece:

  • Comprueba si la oferta está activada en App Store Connect
  • Verifica que el usuario no haya usado una oferta antes
  • Asegúrate de que el usuario no tenga suscripciones en el grupo
  • Prueba con una cuenta nueva de sandbox

Error en la validación de elegibilidad:

  • Espera la sincronización de la App Store (puede tardar 2-3 horas)
  • Verifica que el product ID sea correcto
  • Revisa la configuración del grupo de suscripción
  • Prueba en sandbox con una cuenta de test limpia

Se muestra el precio incorrecto:

  • Revisa la configuración de precios regionales
  • Verifica la conversión de divisas
  • Asegúrate de que las fechas de la oferta sean vigentes
  • Actualiza la información del producto

Problemas en el testing de Sandbox:

  • Usa duraciones aceleradas (3 min = 1 semana)
  • Crea cuentas de prueba nuevas para cada test
  • Espera a que el trial termine naturalmente
  • Revisa el número de renovaciones (máx. 6 en sandbox)
  • Tasa de aceptación de la oferta inicial
  • Tasa de conversión de trial a pago
  • Cancelaciones durante el trial
  • Retención tras el primer cobro
  • Impacto en los ingresos
  • Free trial vs. oferta de pago
  • Variaciones en la duración del trial
  • Porcentaje de descuento
  • Pago único vs. descuento recurrente
// Track offer performance
analytics.track('intro_offer_displayed', {
product_id: product.identifier,
offer_type: product.introductoryPriceType,
offer_duration: product.introductoryPricePeriod
});
analytics.track('intro_offer_accepted', {
product_id: product.identifier
});
// Monitor conversion
NativePurchases.addListener('transactionUpdated', (transaction) => {
if (transaction.productIdentifier === product.identifier && transaction.isActive) {
analytics.track('trial_converted', {
transactionId: transaction.transactionId,
productId: transaction.productIdentifier,
});
}
});
  • Configura las pruebas en sandbox para probar tus ofertas introductorias
  • Configura ofertas promocionales para campañas de win-back
  • Implementa analíticas de suscripción
  • Crea campañas de marketing segmentadas

Para más detalles, consulta la documentación oficial de Apple sobre ofertas introductorias.

Continúa desde Crear oferta introductoria de suscripción en iOS

Sección titulada “Continúa desde Crear oferta introductoria de suscripción en iOS”

Si estás usando Crear oferta introductoria de suscripción en iOS para planificar pagos y compras, conéctalo con Uso de @capgo/native-purchases para la capacidad nativa al usar @capgo/native-purchases, Precios de Capgo para el flujo de trabajo de productos en Capgo Pricing, Sistema de pagos para el detalle de implementación en Sistema de pagos, @capgo/native-purchases para el detalle de implementación en @capgo/native-purchases, y Primeros pasos para los detalles de implementación en Getting Started.