Passer à la navigation

Créer une offre de souscription iOS introductive

GitHub

Les offres d'introduction vous permettent de fournir aux utilisateurs éligibles des essais gratuits ou des tarifs d'introduction réduits pour réduire les barrières à l'entrée 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
  • Commencer à un point de prix inférieur
  • Construire la confiance dans votre produit

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

Les clients ont accès gratuit pendant une durée spécifiée. Après l'essai, ils sont facturés au tarif normal si ils ne se désinscrivent pas.

Exemples :

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

Meilleur pour :

  • Abonnements de haute valeur
  • Applications riches en fonctionnalités
  • Créer un habitude chez les utilisateurs

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

Exemples :

  • $1.99 pour 2 mois (puis $9.99/mois)
  • $9.99 pour 3 mois (puis $19.99/mois)

Meilleur pour :

  • Signaux de engagement
  • Besoins de flux d'argent
  • Tester la sensibilité au prix

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

Exemples :

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

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 créer d'abord un abonnement auto-renouvelable avant d'ajouter une offre introductive. avant d'ajouter une offre introductive.

  1. Naviguez vers l'abonnement

    Dans Cloudflare, allez dans votre application et sélectionnez la section Monétisation > Abonnements et sélectionnez l'abonnement que vous souhaitez ajouter une offre.

  2. Ajouter le prix de l'abonnement

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

  3. Créer une offre d'introduction

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

    Créer une offre introductive

  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 couverture maximale
    • Ou restreignez à des 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 coordonner avec les campagnes de marketing

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

    • Laissez vide pour une disponibilité continue
    • Définir une date pour des promotions à durée limitée
  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

    Payez d'avance

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

    Paye à la consommation

    • Définir le prix réduit 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écapitulatif montrant :

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

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

Exemples de configuration de l'offre

Exemples de configuration de l'offre

Exemple 1 : Essai gratuit standard

Copier dans le presse-papier
Type: Free
Duration: 7 days
Then: $9.99/month

Accès gratuit pendant 1-7 jours

  • Première facture de 9,99 $ le jour 8
  • Factures mensuelles continuent
  • Sauvegarder
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+ : 9,99 $ par mois

Le plugin native-purchases gère automatiquement la présentation 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 « Meilleures pratiques pour l'interface utilisateur »

Proposition de valeur claire :

Copier dans le presse-papier

Insister sur les économies :

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

Proposition de valeur claire :

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 joursApplications et jeux qui nécessitent une décision rapide
  • 7-14 jours: Standard for most apps
  • 14-30 jours: Complex tools, professional apps
  • 30+ jours: High-value B2B or enterprise
  • $0.99-$1.99: Barrière très faible, bien pour les tests
  • 50% de remise: Forte valeur perçue
  • Premier mois gratuit: Modèle familier, courant
  • Avant que la période d'essai se termine: Rappeler aux utilisateurs la prochaine facture
  • Mettre en avant la valeur: Afficher les statistiques d'utilisation, les réalisations
  • Annulation facile: Construire la confiance avec un processus transparent

Utiliser le test 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
  • Une offre introductive par utilisateur et par groupe d'abonnement (à vie)
  • S'applique aux nouveaux abonnés uniquement
  • Ne peut pas être utilisé à nouveau après annulation
  • Non disponible pour les mises à niveau ou les changements de niveau d'abonnement
  • introductoryPrice affiche les détails de l'offre introductive
  • eligibility méthode vérifie si l'utilisateur est éligible
  • Appliqué automatiquement lors de l'achat
  • Pas de méthode d'achat spéciale nécessaire
  • Seulement une offre introductive 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 de l'éligibilité

L'offre introductive 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 introductive avant
  • Assurez-vous que l'utilisateur n'a pas souscrit à quelque chose dans le groupe
  • Testez avec un nouveau compte sandbox

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

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

Prix incorrect affiché:

  • Vérifiez les paramètres de tarification régionale
  • Vérifiez la conversion de devise
  • Vérifiez que les dates de l'offre soient actuelles
  • Rafraîchir les informations de produit

Problèmes de test de sandbox :

  • Utilisez des durées accélérées (3 min = 1 semaine)
  • Créez de nouveaux comptes de test pour chaque test
  • Attendez que la période d'essai se termine naturellement
  • Vérifiez le nombre de renouvellements (max 6 dans le sandbox)

Suivez ces indicateurs de performance

Sous-titre “Suivez ces indicateurs de performance”
  • Taux d'acceptation de l'offre introductive
  • Taux de conversion de l'essai vers le paiement
  • Annulation pendant l'essai
  • Retenue après la première facture
  • Impact des revenus
  • Essai gratuit vs. introduction payante
  • Variations de la durée de l'essai
  • Pourcentage de remise
  • Remise 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,
});
}
});

Étapes suivantes

Étapes suivantes
  • Configurer les tests de sandbox pour tester vos offres introductives
  • Configurer les offres promotionnelles pour les campagnes de rappel
  • Mettre en place l'analytique des abonnements
  • Créer des campagnes de marketing ciblées

Ressources supplémentaires

Ressources supplémentaires

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

Continuez de l'offre de souscription iOS introductive

Section intitulée “Continuez de l'offre de souscription iOS introductive”

Si vous utilisez Create iOS Subscription Introductory Offer pour planifier les paiements et les achats, connectez-l’avec En utilisant @capgo/native-purchases pour la capacité native dans En utilisant @capgo/native-purchases, Capgo Pricing pour le flux de travail du produit dans Capgo Pricing, Système de paiement pour le détail d'implémentation dans Système de paiement, @capgo/native-purchases pour les détails d'implémentation dans @capgo/achats natifs, et Démarrage pour les détails d'implémentation dans Démarrage.