Saltar al contenido

Crear oferta de suscripción iOS introductoria

GitHub

Las ofertas iniciales permiten a los usuarios elegibles obtener pruebas gratuitas o precios de inicio reducidos para reducir barreras de entrada y aumentar las conversiones de suscripción.

Las ofertas iniciales son una de las herramientas más efectivas para crecer su base de suscriptores. Permiten a los usuarios:

  • Probar sus características premium sin riesgos
  • Experimentar el valor antes de comprometerse
  • Comenzar desde un punto de precio más bajo
  • Construir confianza en su producto

iOS admite tres tipos de ofertas introductorias:

Los clientes obtienen acceso gratuito durante un período especificado. Después de la prueba, se les cobra a tarifas estándar si no cancelan.

Ejemplos:

  • 7 días gratuitos
  • 14 días gratuitos
  • 1 mes gratuito

Mejor para:

  • Suscripciones de alto valor
  • Aplicaciones ricas en características
  • Crear un hábito de usuario

Los clientes pagan un precio descuento único que cubre el período de introducción.

Ejemplos:

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

Lo mejor para:

  • Señales de compromiso
  • Necesidades de flujo de efectivo
  • Prueba de sensibilidad de precio

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

Ejemplos:

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

Mejor para:

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

Los usuarios solo pueden recibir ofertas introductorias si:

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

Debes crear una suscripción renovable automática antes de agregar una oferta introductoria. El plugin de compras nativas proporciona métodos para verificar la elegibilidad antes de presentar ofertas.

  1. Navegar a Suscripciones

    En App Store Connect, vaya a la sección de suscripciones de su aplicación y seleccione la suscripción a la que quiere agregar una oferta. Agregar Precio de Suscripción Haga clic en el icono junto a “Precios de Suscripción” para abrir el modal de precios.

  2. Crear Oferta Inicial

    Seleccione “Crear oferta inicial” + Navegar a Monetización > Suscripciones

  3. En App Store Connect, vaya a la sección de suscripciones de su aplicación y seleccione la suscripción a la que quiere agregar una oferta.

    Haga clic en el icono junto a “Precios de Suscripción” para abrir el modal de precios. Seleccione “Crear oferta inicial” desde las opciones.

    Crear oferta introductoria

  4. Configurar Países y Fecha de Inicio

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

    • Elegir todos los países para un alcance máximo
    • O limitar a mercados específicos para pruebas

    Fecha de Inicio: Cuando la oferta se vuelva disponible

    • Puede ser inmediato o programado para el futuro
    • Útil para coordinar con campañas de marketing

    Fecha de Fin (Opcional): Cuando la oferta caduca

    • Deja en blanco para disponibilidad continua
    • Establece una fecha para promociones de corta duración
  5. Seleccionar Tipo de Oferta

    Elige uno de los tres tipos de ofertas:

    Gratis (Prueba gratuita)

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

    Pagar con Antelación

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

    Pagos a medida

    • Establecer precio descuento por período
    • Establecer número de períodos
    • Ejemplo: $2.99/mes por 3 meses
  6. Revisar y Confirmar

    Revisar la suma mostrando:

    • Tipo de oferta y duración
    • Detalles de precios
    • Precio regular después del período de introducción
    • Fechas y países de disponibilidad
  7. Guardar

    Haga clic Guardar Crear la oferta de inicio para crear la oferta de inicio. Estará disponible para la prueba inmediatamente en modo de arena.

Ejemplos de configuración de oferta

Ejemplos de configuración de oferta

Ejemplo 1: Prueba estándar gratuita

Ejemplo 1: Prueba estándar gratuita
Type: Free
Duration: 7 days
Then: $9.99/month

Recorrido del usuario:

  • Acceso gratuito de 1 a 7 días
  • Cargo de $9.99 el día 8
  • Cargos mensuales continúan
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

Viaje del usuario:

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

Viaje del usuario:

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

El plugin de compras nativas maneja automáticamente la presentación y la elegibilidad de las ofertas iniciales:

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:

Copiar a portapapeles

Enfócate en ahorros:

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

Sección titulada “Mejores prácticas para la interfaz de usuario”

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: Aplicaciones y juegos de decisión rápida
  • 7-14 días: Estándar para la mayoría de las aplicaciones
  • 14-30 días: Herramientas complejas, aplicaciones profesionales
  • 30+ días: Valor de alta B2B o empresa
  • $0.99-$1.99: Bajo umbral muy bajo, adecuado para la prueba
  • 50% de descuento: Fuerte valor percibido
  • Primer mes gratis: Patrón común y familiar
  • Antes de que termine la prueba: Recuerde a los usuarios de la próxima carga
  • Destacar el valor: Mostrar estadísticas de uso, logros
  • Cancelación fácil: Construya confianza con un proceso transparente

Utilice la prueba de sandbox 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 (a vida)
  • Sólo se aplica a nuevos suscriptores
  • No se puede utilizar de nuevo después de la cancelación
  • No está disponible para actualizaciones de suscripción/cruces de grados
  • introductoryPrice muestra detalles de la oferta de introducción
  • eligibility verifica si el usuario cumple con los requisitos
  • Se aplica automáticamente en el momento de la compra
  • No se necesita ningún método de compra especial
  • Solo se puede tener una oferta de inicio activa por suscripción a la vez
  • No se puede combinar con otros tipos de descuentos
  • No se pueden cambiar las reglas de elegibilidad
  • Apple controla la verificación de elegibilidad

No se muestra la oferta de inicio:

  • Verificar si la oferta está activada en App Store Connect
  • Verificar que el usuario no ha utilizado una oferta introductoria antes
  • Asegurarse de que el usuario no se ha suscrito a nada en el grupo
  • Probar con una nueva cuenta de sandbox

La verificación de elegibilidad falló:

  • Esperar la sincronización de App Store (puede tardar 2-3 horas)
  • Verificar que el ID del producto es correcto
  • Verificar la configuración del grupo de suscripción
  • Probar en sandbox con una cuenta de prueba fresca

El precio incorrecto se está mostrando:

  • Verificar las configuraciones de precios regionales
  • Verificar la conversión de moneda
  • Asegúrese de que las fechas de oferta sean actuales
  • Refresque la información del producto

Problemas de prueba en entorno de prueba:

  • Utilice duraciones aceleradas (3 min = 1 semana)
  • Cree nuevas cuentas de prueba para cada prueba
  • Espere a que la prueba termine naturalmente
  • Verifique el recuento de renovación (máx. 6 en entorno de prueba)
  • Tasa de aceptación de oferta de introducción
  • Tasa de conversión de prueba a pago
  • Cancelación durante la prueba
  • Retención después de la primera carga
  • Impacto en la recaudación de ingresos
  • Prueba gratuita vs. introducción paga
  • Variaciones de la duración de la prueba
  • Porcentaje de descuento
  • Descuento ú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,
});
}
});
  • Configurar pruebas de sandbox para probar tus ofertas de introducción
  • Configurar ofertas promocionales para campañas de recuperación
  • Implementar análisis de suscripciones
  • Crear campañas de marketing dirigidas

Para obtener más detalles, consulte la documentación oficial de Apple sobre ofertas de introducción.

Sigue adelante desde Oferta de Suscripción iOS Introductoria

Título de la sección “Sigue adelante desde Oferta de Suscripción iOS Introductoria”

Si estás utilizando Oferta de Suscripción iOS Introductoria para planificar pagos y compras, conecta Usando @capgo/native-purchases para la capacidad nativa en Usando @capgo/native-purchases, Capgo Precios para el flujo de trabajo del producto en Capgo Precios, Sistema de pago para el detalle de implementación en Sistema de pago, @capgo/native-purchases para los detalles de implementación en @capgo/compras nativas, y Inicio para los detalles de implementación en Inicio.