Saltar al contenido

Crear oferta de suscripción iOS

GitHub

Configuración con IA

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

  • Probar tus características premium de forma gratuita
  • Experimentar valor antes de comprometerse
  • Iniciar desde un punto de precio más bajo
  • Construir confianza en tu producto

iOS admite tres tipos de ofertas iniciales:

Los clientes tienen acceso gratuito durante un período determinado. Después de la prueba, se les cobrará el precio 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 hábito de usuario

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

Ejemplos:

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

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 por 3 meses (luego $9.99/mes)
  • $4.99/month for 6 months (then $14.99/month)

Lo 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 anteriormente 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 primero una suscripción renovable automática antes de agregar una oferta de introducción.

  1. Navegar a Suscripciones

    En App Store Connect, vaya a la sección de su aplicación Monetizar > Suscripciones sección y seleccione la suscripción a la que quiere agregar un ofrecimiento.

  2. Agregar Precio de Suscripción

    Haga clic en el + ícono junto a “Precios de Suscripción” para abrir el modal de precios.

  3. Crear Oferta Inicial

    Seleccione “Crear oferta inicial” de las opciones.

    Crear oferta inicial

  4. Configurar Países y Fecha de Inicio

    Países y Regiones: Seleccione dónde estará disponible el ofrecimiento.

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

    Fecha de inicio: Cuando la oferta se vuelve a poner a disposición

    • 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 a corto plazo
  5. Tipo de oferta

    Elige uno de los tres tipos de oferta:

    Gratis (Prueba gratuita)

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

    Pagar de antemano

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

    Pagar según se vaya usando

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

    Revisa la resumen mostrando:

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

    Hacer clic Guardar Crear la oferta introductoria. Estará disponible para pruebas inmediatamente en modo de sandbox.

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

Viaje del usuario:

  • Día 1-7: Acceso gratuito
  • Día 8: Primera cobro de $9.99
  • Las 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
  • 90 días de acceso
  • 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 native-purchases gestiona automáticamente la presentación y la elegibilidad de la oferta de introducción:

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);
}

Prácticas recomendadas para la interfaz de usuario

Sección titulada “Prácticas recomendadas para la interfaz de usuario”

Propuesta de Valor Claro:

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

Enfocar en Ahorros:

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íasAplicaciones, juegos: decisión rápida
  • 7-14 díasEstándar para la mayoría de las aplicaciones
  • 14-30 díasHerramientas complejas, aplicaciones profesionales
  • 30+ días: Alta valoración B2B o empresarial
  • $0.99-$1.99: Bajo umbral de barrera, adecuado para la prueba
  • 50% de descuento: Fuerte valor percibido
  • Mes primero gratis: Patrón común y familiar
  • Antes de que termine la prueba: Recuerda a los usuarios de la próxima carga
  • Resaltar valor : Mostrar estadísticas de uso, logros
  • Cancelación fácil: Construir confianza con un proceso transparente

Utilice pruebas 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 por grupo de suscripción (a vida)
  • Sólo se aplica a nuevos suscriptores
  • No se puede utilizar nuevamente 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 el método verifica si el usuario cumple con los requisitos
  • Se aplica automáticamente en el momento de la compra
  • No se necesita un método de compra especial
  • Solo hay una oferta de introducción 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

La oferta de introducción no se muestra:

  • Verifique si la oferta está activada en App Store Connect
  • Verifique si el usuario no ha utilizado una oferta de introducción antes
  • Asegúrese de que el usuario no se haya suscrito a nada en el grupo
  • Pruebe con una nueva cuenta de sandbox

La verificación de elegibilidad falla:

  • Espera a la sincronización de la Tienda de Aplicaciones (puede tardar 2-3 horas)
  • Verifica que el ID del producto sea correcto
  • Revisa la configuración del grupo de suscripción
  • Prueba en entorno de pruebas con una cuenta de prueba fresca

Error al mostrar el precio:

  • Revisa las configuraciones de precios regionales
  • Verifica la conversión de moneda
  • Asegúrate de que las fechas de oferta sean actuales
  • Refresca la información del producto

Problemas con la prueba en entorno de pruebas:

  • Utiliza duraciones aceleradas (3 min = 1 semana)
  • Crear nuevas cuentas de prueba para cada prueba
  • Espera a que se complete el período de prueba de manera natural
  • Verifica el recuento de renovación (máximo 6 en entorno de pruebas)
  • Tasa de aceptación de oferta de inicio
  • Tasa de conversión de período de prueba a pago
  • Cancelación durante el período de prueba
  • Retención después de la primera carga
  • Impacto en ingresos
  • Introducción gratuita vs. paga
  • Variaciones de la duración de la prueba
  • 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,
});
}
});
  • Configurar pruebas de sandbox para probar tus ofertas de introducción
  • Configura ofertas promocionales para campañas de recuperación de clientes
  • Implementa análisis de suscripciones
  • Crea 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 Crear Oferta de Introducción de Suscripción de iOS

Sección titulada “Sigue adelante desde Crear Oferta de Introducción de Suscripción de iOS”

Si estás utilizando Crear Oferta de Introducción de Suscripción de iOS para planificar pagos y compras, conecta con ella Usando @capgo/compras-nativas para la capacidad nativa en Usando @capgo/compras-nativas 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/compras-nativas para el detalle de implementación en @capgo/compras-nativas, y Inicio rápido para el detalle de implementación en Inicio rápido.