Sauter au contenu

Créer une offre d'introduction d'abonnement iOS

GitHub

Les offres initiales permettent aux utilisateurs éligibles de bénéficier de périodes d'essai gratuites ou de tarifs de démarrage réduits pour réduire les barrières d'accès et augmenter les conversions de souscription.

Les offres d'introduction sont l'un des outils les plus efficaces pour faire croître votre base d'abonnés. Elles permettent aux utilisateurs de :

  • Essayer vos fonctionnalités premium sans risque
  • Expérimenter la valeur avant de s'engager
  • Démarrer à un point de prix inférieur
  • Construire la confiance dans votre produit

iOS prend en charge trois types d'offres d'introduction :

Les clients bénéficient d'un accès gratuit pour une durée spécifiée. Après la période d'essai, ils sont facturés au tarif standard si ils ne se désinscrivent pas.

Exemples :

  • 7 jours gratuits
  • 14 jours gratuits
  • 1 mois gratuit

Meilleur pour :

  • Les abonnements de haute valeur
  • Les applications riches en fonctionnalités
  • La création de l'habitude de l'utilisateur

Les clients paient un prix réduit unique qui couvre la période d'introduction.

Exemples :

  • __CAPGO_KEEP_0__ pour 2 mois (puis __CAPGO_KEEP_1__/mois)
  • __CAPGO_KEEP_0__ pour 3 mois (puis __CAPGO_KEEP_1__/mois)

Meilleur pour :

  • Signaux de engagement
  • Besoin de flux d'argent
  • Test de sensibilité au prix

Les clients paient un prix réduit pour plusieurs cycles de facturation.

Exemples :

  • __CAPGO_KEEP_0__/mois pour 3 mois (puis __CAPGO_KEEP_1__/mois)
  • $4.99/month pour 6 mois (puis $14.99/month)

Meilleur pour :

  • Engagement progressif
  • Démonstration de valeur à long terme
  • Réduction du risque perçu

Les utilisateurs ne peuvent recevoir des offres introductives que si :

  • Ils n'ont pas reçu précédemment une offre introductive pour le produit
  • Ils n'ont pas reçu d'offre introductive pour aucun produit du même groupe d'abonnement
  • Ils n'ont pas eu d'abonnement actif au produit

Vous devez d'abord créer une souscription auto-renouvelable avant d'ajouter une offre d'introduction.

  1. Naviguez vers la Souscription

    Dans App Store Connect, allez dans votre application’s Monétisation > Souscriptions section et sélectionnez l'abonnement que vous souhaitez ajouter une offre à.

  2. Ajouter le prix de l'abonnement

    Cliquez sur l' + icône située à côté de « Tarifs d'abonnement » pour ouvrir le modal de tarification.

  3. Créer une offre d'introduction

    Sélectionnez « Créer une offre d'introduction » des options.

    Créer une offre d'introduction

  4. Configurer les pays et la date de début

    Pays et Régions: Sélectionnez où l'offre sera disponible

    • Sélectionnez tous les pays pour une couverture maximale
    • Ou restreignez-vous aux marchés spécifiques pour les tests

    Date de début: Lorsque l'offre devient disponible

    • Peut être immédiate ou planifiée pour l'avenir
    • Utile pour la coordination avec les campagnes de marketing

    Date de fin (Optionnel): Lorsque l'offre expire

    • Laissez vide pour une disponibilité continue
    • Fixez une date pour des promotions à durée limitée
  5. Sélectionnez le type d'offre

    Sélectionnez l'un des trois types d'offres :

    Gratuit (Essai gratuit)

    • Sélectionnez la durée (jours, semaines, mois)
    • Exemples : 7 jours, 2 semaines, 1 mois

    Payez d'avance

    • Définir le prix de paiement unique
    • Définir la durée couverte par le paiement
    • Exemple : 1,99 $ pour 2 mois

    Payez à mesure

    • Définir le prix dégressif par période
    • Définir le nombre de périodes
    • Exemple : 2,99 $/mois pendant 3 mois
  6. Vérifiez et Confirmez

    Vérifiez le résumé montrant :

    • Type et durée de l'offre
    • Détails de tarification
    • Prix régulier après la période d'introduction
    • Dates et pays d'availability
  7. Enregistrer

    Cliquez Enregistrer pour créer l'offre d'introduction. Elle sera disponible pour les tests immédiatement dans le mode sandbox.

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

Parcours de l'utilisateur :

  • Jour 1-7 : Accès gratuit
  • Jour 8 : Première facture de 9,99 $
  • Les factures mensuelles continuent
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

Parcours de l'utilisateur :

  • Jour 1 : Facturé 4,99 $
  • Accès pendant 90 jours
  • Jour 91 : Facturé 9,99 $ par mois
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

Parcours de l'utilisateur :

  • Mois 1-6 : 2,99 $ par mois
  • Mois 7 et plus : 9,99 $ par mois

Le plugin native-purchases gère automatiquement la présentation et l'éligibilité à l'offre d'introduction :

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

Afficher les offres introductives aux utilisateurs

Section intitulée « Afficher les offres introductives aux utilisateurs »

Proposition de valeur claire :

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

Insister sur les économies :

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

Communication 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 jours: Applications de décision rapide, jeux
  • 7-14 jours: Standard pour la plupart des applications
  • 14-30 jours: Outils complexes, applications professionnelles
  • 30+ jours: Haut niveau B2B ou entreprise
  • $0.99-$1.99: Barrière très faible, bien adaptée pour les tests
  • 50% de réduction: Forte valeur perçue
  • Premier mois gratuit: Modèle commun et familier
  • Avant la fin de l'essai: Rappeler aux utilisateurs la prochaine facture
  • Mettre en valeur la valeur : Afficher les statistiques d'utilisation, les réalisations
  • Annulation facile : Construire la confiance avec un processus transparent

Utilisez les tests de sandbox pour vérifier le comportement :

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
  • One offre d'introduction par utilisateur par groupe d'abonnement (à vie)
  • Seuls les nouveaux abonnés sont concernés
  • Cette offre ne peut pas être utilisée à nouveau après l'annulation
  • Non disponible pour les mises à niveau/échanges d'abonnement
  • introductoryPrice affiche les détails de l'offre d'introduction
  • eligibility méthode vérifie si l'utilisateur est éligible
  • Appliqué automatiquement à l'heure de l'achat
  • Aucun méthode d'achat spéciale n'est nécessaire
  • Seule une offre d'introduction active par abonnement à la fois
  • Impossible de combiner avec d'autres types de remises
  • Impossible de modifier les règles d'éligibilité
  • Apple contrôle le contrôle d'éligibilité

L'offre d'introduction ne s'affiche pas :

  • Vérifiez si l'offre est activée dans App Store Connect
  • Vérifiez que l'utilisateur n'a pas utilisé une offre d'introduction avant
  • Assurez-vous que l'utilisateur n'a pas abonné à quelque chose dans le groupe
  • Testez avec un nouveau compte sandbox

Le contrôle d'éligibilité échoue :

  • Attendez la synchronisation de l'App Store (ce qui peut prendre 2-3 heures)
  • Vérifiez que l'ID du produit est correct
  • Vérifiez la configuration du groupe d'abonnement
  • Testez dans le sandbox avec un compte de test frais

Affichage de prix incorrect :

  • Vérifiez les paramètres de tarification régionale
  • Vérifiez la conversion de devises
  • Assurez-vous que les dates des offres sont actuelles
  • Rafraîchissez les informations sur le produit

Problèmes de test dans le sandbox :

  • Utilisez des durées accélérées (3 min = 1 semaine)
  • Créez de nouveaux comptes de test pour chaque test
  • Attendez la période d'essai se termine naturellement
  • Vérifiez le nombre de renouvellements (max 6 dans l'environnement de test)
  • Taux d'acceptation de l'offre d'introduction
  • Taux de conversion de la période d'essai vers un abonnement payant
  • Annulation pendant la période d'essai
  • Rétention après la première facturation
  • Impact sur les revenus
  • Essai gratuit vs. introduction payante
  • Variations de la durée de l'essai
  • Pourcentage de remise
  • Paiement unique vs. remise récurrente
// 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,
});
}
});
  • Configurer les tests de sandbox pour tester vos offres d'introduction
  • Configure des offres promotionnelles pour les campagnes de rappel
  • Mettez en œuvre des analyses de souscription
  • Créez des campagnes de marketing ciblées

Pour plus de détails, consultez la documentation officielle d'Apple sur les offres introductives.

Continuez de la section intitulée « Continuez de la création d'une offre introductive de souscription iOS »

Si vous utilisez

Créez une offre introductive de souscription iOS pour planifier les paiements et les achats, connectez-le à Utiliser @capgo/native-purchases pour la capacité native dans Utiliser @capgo/native-purchases Capgo Tarification pour le flux de travail de produit dans Capgo Tarification Système de paiement pour le détail d'implémentation dans Système de paiement @capgo/native-purchases pour le détail d'implémentation dans @capgo/native-purchases, et Démarrage pour le détail d'implémentation dans Démarrage.