Distribute and grow
Distribute and grow

Subscriptions

Updated: Oct 1, 2025
Subscriptions provide a way for users to purchase Meta Horizon Store content by way of a recurring payment model. Offering subscriptions is a good option for apps or games with frequent content updates or service-like features.
You may offer:
  • Free trial periods that automatically convert to recurring paid subscriptions at the end of the free trial
  • Subscription term periods of 1, 3, 6, and 12 months
  • Subscription tiers with different combinations of premium content or subscription periods
This guide covers the basics of subscriptions. For API details related to implementing subscriptions in your app, see Server APIs for Subscriptions (Unity, Unreal, Native).

Subscription statuses

Users receive email notifications about subscription changes when:
  • A trial subscription starts
  • A trial subscription is set to renew to a paid subscription in three days
  • An annual subscription is set to renew in 60 days
  • A paid subscription is bought
  • A subscription renews
  • A user cancels, reactivates, or upgrades a subscription
  • A subscription is extended or canceled by POST API

Trial subscriptions

Trial subscriptions automatically renew to paid subscriptions at the end of the trial term.
Free Trial: Offer users free access to subscription content for a set period. The subscription becomes a paid plan after the trial ends.
Intro Pricing: Offer a discounted subscription price for a limited time. The subscription renews at the regular rate after the intro pricing period ends.

Grace period for payment issues

When a subscription fails to renew due to a payment issue, the subscriber receives an email notification about the failed payment. The subscription stays active for three more days, giving the subscriber time to restore their payment method and maintain access. A user may cancel their subscription during the grace period.

Expired subscriptions

If a subscription is canceled or not renewed after the three-day grace period, it stops being active at the end of the billing term. Users can always resubscribe by purchasing the subscription again.

Canceled subscriptions

  • The Subscriptions settings in the Meta Horizon mobile app
  • The Account tab in the Store in the Quest headset
  • Their profile settings on the Meta Horizon Store website.
After canceling their subscription, users retain access to the content for the rest of the trial or paid billing term.

Reactivated subscriptions

If a subscription is canceled but the billing term hasn’t ended, the user can un-cancel and reactivate it to maintain access. The next renewal date remains the same, and the subscription returns to the auto-renewing billing cycle.

Subscription term periods and tiers

You can offer your customers different combinations of subscription tiers and term periods. A tier is a specific offering at a set price point. A term period is the duration of the subscription.
  • Single-tier recurring subscriptions. Your app has one subscription tier and one term period.
    Example of single tier recurring
  • Multiple-tier recurring subscriptions. Your app has one subscription tier and multiple subscription term periods.
    Example of multi term periods
  • Multiple-tier and period subscriptions. Your app has multiple subscription tiers and one term period.
    Example of multi tier single month
  • Multiple-tier and period subscriptions. Your app has multiple tiers and multiple term periods.
    Example of multi tier single month
Your customers who purchase a subscription at one tier can upgrade or downgrade to higher or lower tiers or even crossgrade, that is, change their subscription to a different subscription period in the same tier.
When customers upgrade to a higher tier, they’re upgraded immediately and receive a prorated refund for their lower-tier subscription. Downgrade and crossgrade changes occur after the current subscription period ends.
To ensure a quality user experience, subscriptions should be created in the simplest configuration possible:
  • If you have a single subscription offering, create a single-tier subscription and add terms as needed based on your billing strategy.
  • If you wish to offer multiple levels of user experience, create multiple tiers on the same subscription and add terms to each as needed.
  • If you have multiple entirely separate subscription offerings, which is unusual, create a separate subscription for each with the needed tiers and terms. Please note that users cannot switch between separate subscriptions, and it is possible for them to subscribe to more than one at once.

Supported subscription models

Your app must follow one of these three subscription models:
  • Free base app + subscription required to access full content
  • Free base app + subscription optional to access premium content
  • Paid base app + subscription optional to access premium content
Subscription models with a free base app allow try-before-you-buy type interactions that can give users a sense of your app before they decide to purchase a subscription. Because buyer confidence helps drive additional sales, consider offering free trial periods or giving customers access to some free content before committing to a subscription.
Expectations
  • Subscriptions are not supported with App Sharing. If multiple accounts are sharing a headset, only the account that purchased the subscription can access the subscriber-only content.
  • While in-app subscriptions can be purchased in-app without restriction, the only subscriptions available for sale from an app’s product details page (PDP) are those that you specifically select to sell on the Meta Horizon Store.
  • If the premium content includes downloadable content (DLC) as add-on content, you must supply your own methods for hosting and downloading the DLC. DLC hosted on the Meta Horizon platform cannot be linked to a subscription.
  • To modify or delete an existing subscription, please reach out to your Meta Quest developer contact.

Create subscriptions

By offering subscriptions, you are obligated to accurately describe the benefits of the subscription within the app and to fulfill the content or service for your apps during each subscription period sold.
You can create subscriptions containing one or more subscription tiers and periods, and each subscription can be linked to add-on IAP content. You can offer its SKU for sale either as an in-app purchase (IAP) or directly on the Meta Horizon Store. For information about creating IAP, see Add-ons - Downloadable Content and In-App Purchases.
To create a subscription and publish:
  1. Log on to the Developer Dashboard and navigate to your app.
  2. Go to Monetization > Subscriptions.
  3. If this is your first subscription for this app, click Create new Subscription. Otherwise, if you already have an existing subscription tier, click Add subscription tier.
  4. Fill the form with particular attention to the following:
    • Level determines upgrades and downgrades between tiers. 1 is the lowest tier. Going from a lower tier to a higher tier is an upgrade.
    • You must define at least one Subscription Term. If you selected a Free Trial period, the trial period applies to all the term periods in the tier.
    • If this subscription needs additional terms, click Add another subscription term.
    • Intro offers can be used alongside free trials. New users will start with the free trial, renew to the intro price at the end of the trial, and finally renew to the full price at the end of the intro term.
  5. If you are linking add-on content to the subscription, select it from Add-ons.
  6. When done entering the details for the subscription tier, select Publish.
  7. If this subscription needs additional tiers, click Add subscription tier.
Subscriptions In Progress table

Sell on the Meta Horizon Store

When you fill out the Add Subscription Tier form, the options for Show in Meta Horizon Store and Sell on Meta Horizon Store will be set to On by default.
Sell subscription from pdp
This means that every subscription tier will be listed for sale by default on the product details page (PDP) of your app on the Meta Horizon Store across all three surfaces (web, mobile, and VR). If you don’t want to sell subscriptions from the PDP, you can always sell them from within your app as IAP. At least one subscription must have sell in store on for the feature to be available to users.
When developing with subscriptions, keep the following in mind:
  • Don’t show customers a subscription plan as IAP if they already purchased it from the PDP. Your app should do an entitlement check to determine if the user is already a subscriber before offering specific plans for sale in the app. For more information on user entitlement checking, see Verify the User docs(Unity, Unreal, Native).
  • Once subscribed, users who go to the PDP of your app will see a Manage subscriptions button which will take them to their Subscriptions page.
We recommend showing and selling all your subscription tiers on your app’s PDP. However, you can choose which subscription plans are hidden when a user chooses the Subscribe button of your app’s PDP. If you want to both show and sell a subscription in the PDP you have to adjust those separate settings yourself.

The user experience

Users must first get the entitlement for an application by pressing the Get button or purchasing the app, if it is not free. On entitlement, they will automatically be prompted to subscribe. Users can subscribe at any time from the PDP, where the Get will be replaced by a button that says Subscribe or Free Trial, depending on whether a free trial is available.
To hide a subscription plan:
  1. Log on to the Developer Dashboard and navigate to your app.
  2. Go to Monetization > Subscriptions.
  3. Click the Edit icon next to a subscription plan.
  4. To hide a subscription tier from the PDP, click the Show in Meta Horizon Store toggle to Off.

Subscriptions promo codes

Promo codes can be created for subscriptions. The codes provide a percent-off discount for a certain number of terms, with both the discount amount and the number of terms configurable.
Promo codes are not compatible with intro offers. At this time, they are developer-funded only. For more information on promo codes, see Custom Promo Codes.
To create a promo code:
  1. Log on to the Developer Dashboard
  2. On the left-hand menu, click Growth > Promo Codes and click Create New.
  3. Mark the code as Active and fill out the fields, including name, code, items, number of terms, discount amount, redemption limit, and dates for which the code should be valid.
  4. Click Publish and distribute your code to users
Redeeming a promo code:
Promo codes can be redeemed at the order confirmation screen when purchasing a subscription, either in-app or when purchasing via PDP. Users simply need to click Add promo code and enter the code, then complete the purchase. They will receive the discount starting with their first paid subscription term.
Subscriptions promo code redemption

Subscription churn deflection beta

You can now activate the self-serve churn deflection feature for your app. With Churn Deflection, you have the opportunity to retain users attempting to cancel their subscription by offering them a winback incentive of a free month’s subscription, which appears within the cancellation flow. Observations indicate that customers who accept these offers tend to remain subscribed, continuing to pay for future months after their additional free trial period renews as paid.
Since the user does not pay for this free month (depending on their subscription plan), activating this feature means you will not receive payment for the free portion of churn deflection initiatives.

How churn deflection works

  • Customers on a monthly, bi-annual, and quarterly subscription plan will receive one free month if they stay subscribed and pay their upcoming renewal.
  • Customers on an annual plan will receive three free months if they stay subscribed and pay their upcoming renewal.

Activating churn deflection for your app

  1. Log on to the Developer Dashboard and navigate to your app.
  2. Go to Monetization > Subscriptions.
  3. Click the Edit icon next to a subscription plan.
  4. The option for Turn on Churn Deflection will be set to Off by default. Simply turning on the toggle will enable the feature for your users. Since this is still an early released feature, approximately 60% of users will receive this.
Activate churn deflection

Revoke a user subscription

If it becomes necessary to revoke a user’s subscription, team members with admin and developer roles may do so from the Subscriptions panel. Revoking a subscription takes immediate effect and removes any access the user has to subscription-dependent content.
A person whose subscription has been revoked is notified by email. No refunds are given for revoked subscriptions.
You must know the owner_id of the person whose subscription needs to be revoked.
To revoke a user subscription:
  1. Log on to the Developer Dashboard and navigate to your app.
  2. Go to Monetization > Subscriptions.
  3. At the top right, select ... > Revoke Subscription.
    more menu
  4. In the User ID box, enter the owner_id, and then select Terminate. A confirmation dialog box appears.
  5. Select Terminate again to confirm your decision to revoke the user’s subscription.

Subscription referral beta

Activate the subscription referral feature for your app to leverage your subscribers’ social networks and attract new subscribers.

Eligibility

  • Senders must be active subscribers. This also includes trial users and users who have canceled but still have active subscription time remaining.
  • Recipients must have never subscribed before.

Rewards

  • Senders can earn a 1-month free extension to their current subscription when recipients become paying subscribers.
  • Recipients can receive a 1-month free trial when they sign up. After this trial, they will not be eligible for any default free trials set up by developers.

Configure subscription referral for your app

  1. Log on to the Developer Dashboard and navigate to your app.
  2. Go to Monetization > Subscriptions.
  3. All subscription SKUs must opt in to enable subscription referral for your application
    • Click the Edit icon next to a subscription plan.
    • The option for Turn on Subscription Referral is set to OFF by default. Toggle it ON to enable the feature for users.
  4. All subscription SKUs must opt out to disable subscription referral for your application. Upon deactivation, users will no longer be able to generate new referral links, and existing referral links become ineffective immediately. Users with accepted referrals can still receive the 1-month free trial up to 14 days after deactivation.
  5. To enable deeplinking to the referral page:
    • Mobile: https://www.meta.com/sendreferrals/subscription/{app_id}/
    • VR: systemux://store /item/{app_id}/?action=send
Activate subscription referral
Did you find this page helpful?
Thumbs up icon
Thumbs down icon