Apple App Store · Guideline 3.1.2(c) — Subscription Information

How to Fix App Store Guideline 3.1.2(c) Subscription Information Rejection

Correct unclear subscription value, title, duration, price, trial terms, Privacy Policy, and Terms of Use before resubmitting an iOS paywall.

Policy-grounded recovery guideOfficial policy ↗
Have the rejection message open?Get a free diagnosis now. Upgrade to the complete $29 Fix Pack only if it is useful.
Analyze this rejection →

Direct answer

Audit the exact paywall and storefront that App Review saw before uploading another build. Before the purchase action, clearly state what the subscription provides, its title, billing length, and the localized subscription price; if you also show a per-unit calculation, do not let it replace or obscure the actual subscription price and period. Make working Privacy Policy and Terms of Use links accessible in the app, align every App Store Connect subscription localization with the product, and test each paywall, offer, device size, and supported locale using the processed release. Correct editable metadata and reply with evidence when the binary is already compliant; submit a new build when the paywall, links, purchase flow, or app behavior changed. Appeal only when the exact reviewed artifact and metadata already met the cited requirement and your evidence shows a factual misunderstanding.

Official sources checked

Match the wording in your rejection

“The information in your app about the auto-renewable subscription is incomplete”

Check the customer-facing purchase screen first. Apple requires a clear description of what the user receives and the agreement requires clear disclosure of the subscription title, length, and price before purchase.

The paywall emphasizes a daily, weekly, or monthly equivalent while billing a longer period

A price-per-unit figure is permitted when appropriate, but keep the actual subscription price and billing length clear and adjacent to the purchase action. Do not make the customer reconstruct the amount or period that will be charged.

Privacy Policy or Terms of Use cannot be found or opened

Verify both links from the exact paywall path and on a clean device. Apple’s agreement requires those links to be accessible within the app. A custom EULA is optional because Apple’s standard EULA applies when you do not provide one.

The rejection appears only in one language, device, offer, or storefront

Treat every paywall variant as a separate review surface. Look for hard-coded price text, truncated disclosures, missing links, offer-specific copy, and a localization that no longer matches App Store Connect.

What this rejection usually means

Guideline 3.1.2(c) is a pre-purchase clarity rule. Apple says the app must clearly describe what the customer receives for the subscription price before asking them to subscribe. The Apple Developer Program License Agreement separately requires clear and conspicuous disclosure of the subscription title, length, and price, with a price per unit when appropriate, plus accessible Privacy Policy and Terms of Use links in the app. A rejection can therefore come from the paywall itself, one localized or offer-specific variant, a broken legal link, or subscription metadata that does not match the product. It is different from Guideline 3.1.1 payment-method eligibility and from Guideline 2.1(b), which covers putting a first In-App Purchase into the review submission.

Likely rejection signals

  • The benefits are described as “premium” or “full access” without saying what features, content, storage, credits, or service the subscription includes
  • The actual subscription price and billing length are absent, visually secondary, separated from the purchase action, or replaced by a calculated per-day or per-week figure
  • Trial copy does not clearly identify the trial duration and the subscription price and period that follow the offer
  • Price or period text is hard-coded and can disagree with StoreKit for another storefront, currency, offer, or price change
  • Privacy Policy or Terms of Use links are missing, broken, blocked behind authentication, or unavailable on the purchase screen path
  • A smaller device, Dynamic Type setting, or translated string truncates the price, duration, renewal, or legal-link disclosure
  • An onboarding paywall, settings paywall, win-back offer, promotional offer, and restore path show inconsistent subscription information
  • The App Store Connect subscription display name or description is missing, stale, or inconsistent in one reviewed localization

Recovery plan

  1. Preserve the complete rejection, reviewer screenshot, review date, app version, build number, product identifiers, subscription group, storefront, locale, device, and exact entry path. Do not redesign the paywall until you can identify the reviewed variant.
  2. Inventory every screen that can initiate or change a subscription: onboarding, feature gates, settings, upgrade prompts, offer-code or promotional surfaces, win-back flows, and any server-configured experiment. Include iPhone and iPad layouts and every supported localization.
  3. For each purchase option, verify that the screen clearly states the customer value, subscription title, billing length, and localized price before the purchase action. If you show a per-unit calculation, display it as supplementary context rather than a substitute for the subscription price and period.
  4. Load product, price, currency, period, offer, and eligibility data from the current StoreKit product instead of hard-coding customer-facing price claims. Define a safe error state that removes the purchase action when product data cannot be loaded.
  5. Review free-trial and introductory-offer copy separately. Confirm that the exact eligible offer is shown, the trial duration is accurate, and the subscription price and billing period that follow are visible before purchase. Test an eligible and an ineligible account so stale offer copy cannot appear.
  6. Place functional Privacy Policy and Terms of Use links where customers can access them in the subscription flow. Test redirects, TLS, mobile layout, consent banners, authentication requirements, and regional availability. If you do not provide a custom EULA, Apple says its standard EULA applies; do not invent a custom agreement merely to satisfy the rejection.
  7. Audit the subscription group and each localization in App Store Connect. Verify the reference name, product identifier, duration, price schedule, display name, description, availability, review screenshot, and Review Information. Make the metadata describe the same entitlement shown in the app.
  8. Build the production configuration and test the processed release from a clean install. Cover every paywall, storefront, locale, device size, Dynamic Type setting, trial state, existing subscriber state, purchase, cancellation recovery, and restore flow. Use a reviewer-equivalent account and the production backend.
  9. Prepare a short evidence packet with annotated screenshots of each required disclosure, a recording of the exact reviewer path, product identifiers, App Store Connect localization captures, link checks, and a before-and-after table. Remove customer data and secrets.
  10. Choose the narrowest correct recovery path. Correct metadata and reply with the same build only when no app behavior changed and App Store Connect permits it. Submit a new build for any paywall, link, layout, StoreKit, or purchase-flow change. Appeal only after the exact reviewed state is documented as compliant.

Evidence to prepare

  • Complete rejection text, reviewer attachment, review date, submission ID, app version, build number, device, storefront, locale, and paywall entry path
  • Product identifiers, subscription group, duration, price schedule, introductory or promotional offer configuration, availability, and current App Store Connect status
  • Annotated release-build screenshots showing subscription value, title, billing length, localized price, Privacy Policy, Terms of Use, and purchase action together
  • Clean-install recording of the exact reviewer path plus purchase and restore tests using the production configuration
  • StoreKit product output or logs showing the localized price, period, selected offer, eligibility result, and handled product-loading failures
  • App Store Connect captures for every affected subscription localization and the review screenshot or Review Information supplied to Apple
  • Link-check results for Privacy Policy and Terms of Use on the reviewed device and region, with redirects and authentication state recorded
  • Before-and-after disclosure matrix tied to the corrected build or metadata revision, without claims about changes that are not live

Appeal or fix first?

APPEAL / CLARIFY

Clarify first when the exact rejected binary and App Store Connect state already showed the subscription value, title, length, price, and working legal links before purchase. Send Apple the product ID, storefront, locale, device, annotated screenshot, and a short recording of the exact path, then ask which disclosure or variant remained unclear. Appeal only if App Review maintains a factual conclusion that the preserved evidence directly contradicts.

FIX BEFORE RESUBMITTING

Fix before resubmitting when any purchase surface is vague, missing a required disclosure, visually ambiguous, localized incorrectly, hard-coded to the wrong price, inconsistent with App Store Connect, or linked to inaccessible legal pages. Submit a new build whenever the paywall, StoreKit logic, links, layout, offer eligibility, or app behavior changed. A clearer reviewer reply cannot cure a deficient purchase screen.

Choose the next action

What you can verifyRecommended path
The paywall omits or obscures value, subscription title, billing length, price, Privacy Policy, or Terms of UseFix the customer-facing purchase screen, test the processed build in every affected variant, and submit the corrected build.
Only editable App Store Connect subscription metadata or a review note is incomplete, while the exact binary already compliesCorrect the metadata, reply in the existing App Review thread with the exact fields changed, and resubmit the same build if App Store Connect allows it.
The exact reviewed build, metadata, links, and localization already satisfy the cited requirementsClarify with dated screenshots, product identifiers, storefront, locale, and a short recording. Appeal only if Apple maintains a factual finding contradicted by that evidence.
The first subscription or product is missing from the submission or unavailable to the reviewerResolve the separate In-App Purchase review issue before arguing 3.1.2(c). Use the first-IAP guide to attach the product and app version to the same submission.

Reviewer response framework

Your response should be factual, short, and limited to the submitted build. Cover these points:

  1. Identify the exact app version, build number, product ID, storefront, locale, and Guideline 3.1.2(c) wording being addressed.
  2. State whether the correction was in the binary, remotely configured paywall, legal links, or App Store Connect metadata; list only changes that are already present in the submitted state.
  3. Point to where the customer can see the subscription value, title, billing length, price, Privacy Policy, and Terms of Use before purchase.
  4. Provide numbered navigation from a clean install and attach a short recording plus the relevant annotated screenshots.
  5. If the evidence already showed compliance, ask Apple to identify the missing disclosure, paywall variant, locale, or link instead of speculating about the reviewer’s intent.

Frequently asked questions

What does App Store Guideline 3.1.2(c) require?

Before asking a customer to subscribe, the app must clearly describe what the customer receives for the price. Apple’s developer agreement also requires clear disclosure of the subscription title, length, and price, with a price per unit when appropriate, and accessible Privacy Policy and Terms of Use links in the app.

Can I show a weekly or daily equivalent for an annual subscription?

Apple’s agreement allows a price per unit when appropriate, but it does not replace the subscription price and length. Show the actual subscription price and billing period clearly before purchase, and treat any equivalent figure as supplementary context.

Do I need to create a custom EULA?

Not automatically. Apple says its standard EULA applies when you do not provide a custom license agreement. Use a functional Terms of Use link that accurately reflects the agreement governing the app, and configure a custom EULA only if you actually need one.

Can I resubmit the same build after a 3.1.2(c) rejection?

Sometimes. If only editable App Store Connect metadata or review information was incomplete and the binary already complies, correct it and reply with the same build when App Store Connect permits. Any paywall, legal-link, layout, StoreKit, or purchase-flow change requires a corrected build.

Why did only one localization or device fail review?

Each paywall variant is a review surface. Translated text can truncate, hard-coded prices can mismatch the storefront, and smaller layouts can hide disclosures or links. Test every supported locale, device size, offer, and entry path in the processed release.

When should I appeal a subscription-information rejection?

Appeal only when you preserved the exact reviewed binary and metadata and can prove that the cited disclosures and links were already clear in the reviewer’s storefront, locale, device, and path. Otherwise, fix the deficient surface and resubmit.

Need a rejection-specific plan?

Start with the free diagnosis. The $29 Fix Pack adds the prioritized remediation plan, evidence checklist, reviewer-ready reply, and preflight.

Analyze my rejection

Source: Apple App Review Guidelines — 3.1.2(c) Subscription Information. Platform policies change. Verify the official rule before submitting. Resubmit AI provides technical and editorial decision support, not an approval guarantee or legal advice.