Aller au contenu

Créer une offre d'introduction pour abonnement iOS

GitHub

Les offres de lancement permettent de proposer des essais gratuits ou des tarifs préférentiels aux utilisateurs éligibles, afin de réduire les freins à l'entrée et d'augmenter les conversions d'abonnements.

Les offres de lancement sont l'un des outils les plus efficaces pour développer votre base d'abonnés. Elles permettent aux utilisateurs de :

  • Essayer vos fonctionnalités premium sans risque
  • Profitez de la valeur avant de vous engager
  • Commencer avec un prix plus bas
  • Gagner confiance en votre produit

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

Les clients bénéficient d'un accès gratuit pendant une durée déterminée. Après l'essai, ils sont facturés au tarif standard s'ils ne résilient pas.

Exemples :

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

Idéal pour :

  • Abonnements à forte valeur
  • Applications riches en fonctionnalités
  • Création d'une habitude d'usage

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

Exemples :

  • 1,99 $ pendant 2 mois (puis 9,99 $/mois)
  • 9,99 $ pendant 3 mois (puis 19,99 $/mois)

Idéal pour :

  • Signaux d'engagement
  • Besoins de trésorerie
  • Tester la sensibilité au prix

Les clients bénéficient d'un prix réduit pendant plusieurs cycles de facturation.

Exemples :

  • 1,99 $/mois pendant 3 mois (puis 9,99 $/mois)
  • 4,99 $/mois pendant 6 mois (puis 14,99 $/mois)

Idéal pour :

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

Les utilisateurs ne peuvent bénéficier d'une offre de bienvenue que s'ils :

  • N'ont jamais bénéficié d'une offre de bienvenue pour ce produit auparavant
  • N'a pas reçu d'offre d'introduction pour un produit du même groupe d'abonnement
  • N'a pas eu d'abonnement actif pour ce produit

Vous devez d'abord créer un abonnement renouvelable automatiquement avant d'ajouter une offre d'introduction.

  1. Accéder aux abonnements

    Dans App Store Connect, allez dans la section Monétisation > Abonnements de votre application et sélectionnez l'abonnement auquel vous souhaitez ajouter une offre.

  2. Ajouter le prix de l'abonnement

    Cliquez sur les + l'icône à côté de « Prix de l'abonnement » pour ouvrir la fenêtre des tarifs.

  3. Créer une offre de bienvenue

    Sélectionnez « Créer une offre de bienvenue » parmi les options.

    Créer une offre de bienvenue

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

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

    • Choisissez tous les pays pour une portée maximale
    • Ou limitez-vous à des marchés spécifiques pour tester

    Date de début: Date de disponibilité de l'offre

    • Peut être immédiate ou programmée pour le futur
    • Utile pour coordonner avec vos campagnes marketing

    Date de fin (facultative): Date d'expiration de l'offre

    • Laissez vide pour une disponibilité permanente
    • Définir une date pour les promotions limitées
  5. Sélectionner le type d'offre

    Choisissez l'un des trois types d'offres :

    Gratuit (Essai gratuit)

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

    Paiement unique

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

    Paiement récurrent

    • Définir le prix réduit par période
    • Définir le nombre de périodes
    • Exemple : 2,99 $/mois pendant 3 mois
  6. Réviser et confirmer

    Réviser le résumé affichant :

    • Type d'offre et durée
    • Détails des tarifs
    • Prix régulier après la période d'intro
    • Dates de disponibilité et pays
  7. Enregistrer

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

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

Parcours utilisateur :

  • Jours 1 à 7 : Accès gratuit
  • Jour 8 : Premier prélèvement de 9,99 $
  • Les prélèvements mensuels se poursuivent
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

Parcours utilisateur :

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

Parcours utilisateur :

  • Mois 1 à 6 : 2,99 $/mois
  • À partir du mois 7 : 9,99 $/mois

Utilisation dans votre application

Section titled “Using in Your App”

Le plugin native-purchases gère automatiquement l'affichage et l'éligibilité aux offres 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 d'introduction aux utilisateurs

Section intitulée « Afficher les offres d'introduction aux utilisateurs »

Proposition de valeur claire :

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

Mettez en avant 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: Apps et jeux à décision rapide
  • 7 à 14 jours: Standard pour la plupart des apps
  • 14-30 jours: Outils complexes, apps pro
  • 30+ jours: B2B ou entreprise à haute valeur
  • $0.99-$1.99: Barrière très faible, idéal pour tester
  • -50 %: Forte valeur perçue
  • Premier mois offert: Modèle courant et familier
  • Avant la fin de l’essai: Remind users of upcoming charge
  • Valoriser l’offre: Afficher les stats d’usage et les réussites
  • Résiliation facile: Instaurer la confiance avec un processus transparent

Utiliser le 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
  • Une offre d'introduction par utilisateur et par groupe d'abonnement (à vie)
  • S'applique uniquement aux nouveaux abonnés
  • Ne peut pas être réutilisée après une résiliation
  • Non disponible pour les montées en gamme ou changements d'abonnement
  • introductoryPrice affiche les détails de l'offre d'introduction
  • eligibility la méthode vérifie si l'utilisateur est éligible
  • Appliquée automatiquement lors de l'achat
  • Aucune méthode d'achat spécifique requise
  • Une seule 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 gère la vérification de l'éligibilité

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

  • Vérifiez si l'offre est activée dans App Store Connect
  • Verify user hasn’t used an intro offer before
  • Vérifier que l'utilisateur n'est abonné à rien dans le groupe
  • Tester avec un nouveau compte sandbox

Échec de la vérification d'éligibilité :

  • Attendre la synchronisation de l'App Store (peut prendre 2 à 3 h)
  • Vérifier que l'ID du produit est correct
  • Vérifier la configuration du groupe d'abonnement
  • Tester en sandbox avec un nouveau compte de test

Prix affiché incorrect :

  • Vérifier les paramètres de prix régionaux
  • Vérifier la conversion de la devise
  • Vérifier que les dates de l'offre sont à jour
  • Actualiser les informations du produit

Problèmes de test en 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 fin naturelle de l'essai
  • Vérifiez le nombre de renouvellements (max 6 en sandbox)
  • Taux d'acceptation de l'offre d'introduction
  • Taux de conversion essai vers abonnement
  • Annulation pendant l'essai
  • Rétention après le premier paiement
  • Impact sur les revenus
  • Essai gratuit vs offre d'introduction payante
  • Variations de la durée d'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 sandbox pour tester vos offres d'introduction
  • Configurer des offres promotionnelles pour les campagnes de win-back
  • Implémenter l'analytics des abonnements
  • Créer des campagnes marketing ciblées

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

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

Section intitulée « Continuer après la création de l'offre d'introduction iOS »

Si vous utilisez Créer une offre d'introduction pour abonnement iOS pour planifier les paiements et les achats, connectez-l’à Utiliser @capgo/native-purchases pour la capacité native dans Utiliser @capgo/native-purchases Tarifs Capgo pour le workflow produit dans Capgo Tarifs, Système de paiement pour les détails d'implémentation du système de paiement, @capgo/native-purchases pour les détails d'implémentation dans @capgo/native-purchases, et Prise en main pour les détails d'implémentation dans Getting Started.