Monthly Subscriptions with 12-Month Commitment

Enable Apple's commitment plan for annual subscriptions on iOS paywalls.

Apple introduced a new subscription payment option: monthly subscriptions with a 12-month commitment. Users pay monthly but commit to 12 payments upfront. They can cancel at any time, but the subscription continues until all agreed-upon payments are completed.

Apple handles all user-facing communication — reminders via email and push notifications before each renewal are sent automatically.

Availability: iOS 26.4, iPadOS 26.4, macOS Tahoe 26.4, tvOS 26.4, visionOS 26.4 and later.
Available worldwide except the United States and Singapore, starting with iOS 26.5 release in May.

Requirements

Minimum iOS26.4
Apphud SDKiOS SDK 4.2.2+, Flutter SDK 3.2.4+, React Native SDK 4.2.2+ Note: Update for Unity SDK is coming soon
StoreKitStoreKit 2 (enabled automatically)
App Store ConnectCommitment plan configured for the subscription

Setup in App Store Connect

Configure the commitment plan for your auto-renewable subscription directly in App Store Connect.
No changes to your existing product IDs are needed — the commitment plan is an additional billing option on top of your existing annual subscription.

Setup in Apphud

  1. Go to Product Hub → Paywalls
  2. Select your iOS paywall → click Edit Paywall.
  3. Choose a corresponding monthly product on the paywall, tap for it → Configure Offers.
  4. Choose Prefer Commitment Plan for the product.
  5. Save configuration.
Apple Commitment Plan

Once enabled, the SDK will automatically attempt to purchase the commitment plan variant when the user taps the buy button for that product.
When commitment plans are unavailable, the SDK automatically falls back to regular purchases.

SDK Integration

Ensure to update to the latest Apphud SDK (iOS SDK 4.2.2 or later, etc.)

📘

Important Note

If the commitment plan is configured in Product Hub - Paywalls and the user’s device supports it (iOS 26.4+), the SDK handles everything automatically — no other code changes are required.

If you're using Apphud.purchase() directly (not via a paywall screen), you can pass the prefersCommitmentPlan flag manually:

let result = await Apphud.purchase(product, prefersCommitmentPlan: true)

You can also check programmatically whether a product supports the commitment plan:

// Check if commitment plan is configured in Apphud for this product
apphudProduct.isCommitmentPlanPreferred() // Bool, sync

// Check if the product actually supports commitment plan on the current device (StoreKit 2)
await apphudProduct.isCommitmentPlanSupported() // Bool, async, requires iOS 26.4+

How It Works

The SDK uses StoreKit 2 and passes .billingPlanType(.monthly) as a purchase option when both conditions are met:

  • The product has Prefer Commitment Plan enabled in Product Hub
  • The user's device runs iOS 26.4 or later

On older OS versions, the purchase proceeds as a regular monthly subscription — no extra handling needed on your side.

Subscription Events

Commitment plan purchases generate events the same way as regular subscriptions:

  • First payment → Subscription Started
  • Each subsequent payment → Subscription Renewed

Note: Even if a user cancels their subscription, commitment payments continue until the full commitment period is complete. All such payments are tracked as renewals.

Analytics

A dedicated Commitment plan filter and segment is available in Apphud analytics, placed alongside the Subscription Duration filter.

It shows values in the format: 12-Month commitment (3 of 12), where the first number is the current payment number and the second is the total number of payments.

Thus, if you have multiple products with a commitment plan, the same ordered payments will be grouped under the one item in this parameter (e.g., first payments under "12-Month commitment (1 of 12)", second payments under "12-Month commitment (2 of 12)", etc.)

User Profile

On the user's profile page in Apphud, in the events and purchases history section, the commitment status is shown in the Offer ID field: for instance, "12-Month commitment (3 of 12)".