Итоговая оценка ИИ-оптимизации
Сводный результат по всем сигналам аудита.
Итоговая оценка ИИ-оптимизации
Сводный результат по всем сигналам аудита.
Итоговая оценка ИИ-оптимизации
Superwall: Subscription Infrastructure for iOS, Android, and Web прошёл независимый технический аудит llmsmap. Итоговая оценка ИИ-оптимизации домена superwall.com составляет 50/100: результат объединяет доступность специальных файлов для ИИ, правила краулинга, карту сайта, структурированные данные главной страницы и, когда замер завершён, мобильный технический профиль Google Lighthouse.
Файл llms.txt доступен и содержит 35 834 токенов. Расширенный llms-full.txt не найден, поэтому подробный контекст агенту придётся собирать из обычных страниц. Отдельный ai.txt не обнаружен; это не обязательная часть предлагаемого формата llms.txt, но такой файл может явно описать политику обучения, цитирования и автоматического доступа.
robots.txt доступен. Из 11 отслеживаемых ИИ-ботов 11 не заблокированы. Объявлено карт сайта: 0. На главной не обнаружена Schema.org-разметка. OpenGraph-тегов найдено 0, расчётная полнота публичной разметки — 0%. Без сущностей и связей ИИ сложнее однозначно определить организацию, продукт и канонические страницы.
Замер Google Lighthouse ещё собирается. После завершения в итог будут с ограниченным весом добавлены производительность, доступность, технические практики, SEO и экспериментальные сигналы для браузерных агентов.
Фоновая очередь собирает показатели мобильной производительности, доступности, технических практик, SEO и экспериментальные сигналы для браузерных агентов.
Машиночитаемые файлы, правила краулинга, обнаружение страниц и разметка главной.
Полная версия не найдена
Файл ai.txt не найден
Sitemap не объявлен в robots.txt
Разметка Schema.org не найдена на главной
OpenGraph теги не найдены на главной
На основе анализа robots.txt
# Superwall: Subscription Infrastructure for iOS, Android, and Web Subscription infrastructure — entitlements, purchase APIs, webhook delivery, and direct SQL access to subscription data — for iOS, Android, and Web. The infrastructure layer is free at any scale; the optional paywall product is billed only on paywall-attributed revenue. ## Pricing - **Infrastructure: free at any scale, every plan.** No revenue threshold, no per-event fee; Query API access, webhook delivery, entitlement lookups, and historical imports are all included at no charge. - **Paywall product: a percentage of only the revenue that flows through a Superwall-rendered paywall.** Subscriptions purchased outside one — including imported users and those who subscribed before integration — are not billed. Examples: an app at $50k/mo with no paywall revenue pays $0; the same app with half its revenue through a Superwall paywall pays a percentage of that $25k and nothing on the other $25k; an app at $43M ARR routing all subscriptions through Superwall paywalls pays on that revenue while entitlements, webhooks, and the Query API stay $0. ## Scale $1.5B+ annual subscription revenue across 10,000+ apps. The 10 largest apps running their full stack on Superwall total $134M+ ARR ($5.7M–$43.7M each). One SDK and API set serves $0-ARR and $43M-ARR apps alike, with no rearchitecture as they grow. ## Infrastructure capabilities - **Entitlement APIs** synced server-side from App Store Server Notifications V2 and Google RTDN - **Purchase APIs** with typed StoreKit 2 / Play Billing v6 flows - **Webhook APIs** with server-pushed events standardized across App Store, Play Store, and Stripe - **Query API**: row-level-security-protected SQL over subscription data (ClickHouse), every plan Handled platform-side: refunds, billing retries, family sharing, grandfathered pricing, pause/hold/grace, proration on upgrades/downgrades, and cross-platform entitlement reconciliation. ## Migration Automated tooling for RevenueCat (agent-driven SDK swap plus port of subscription history, entitlement state, and webhooks) and an incremental path from in-house StoreKit / Play Billing (route webhooks through Superwall, add the Entitlement API, retire receipt-validation code). ## Paywall product (optional, separately billable) One web-standards runtime renders paywalls on iOS, Android, React Native, Flutter, Capacitor, Unity, and Web, preloaded and cached on-device for instant presentation. Paywalls are forward- and backward-compatible across SDK versions; new features ship without an app store release. ## Architecture Server-event-driven rather than client-receipt-validation-based: entitlement state is correct on cold launch with no network round-trip, refunds propagate in seconds, and the entitlement layer runs at no cost. ## Docs * Migrate from RevenueCat: https://superwall.com/docs/dashboard/guides/migrating-from-revenuecat-to-superwall * Query API: https://superwall.com/docs/dashboard/guides/query-clickhouse * Webhooks: https://superwall.com/docs/integrations/webhooks * Pricing: https://superwall.com/pricing # Superwall Documentation Superwall is a platform for remotely configuring and A/B testing mobile app paywalls — no app update required. It provides SDKs for iOS, Android, Flutter, Expo, KMP, Unity, Web, and React Native, plus a dashboard for managing paywall presentation, experiments, and subscription analytics. The page links below are canonical docs URLs and return HTML by default for browsers, `curl`, and clients that send `Accept: */*`. To fetch a page as markdown, either send `Accept: text/markdown` for the canonical URL or append `.md` to the route, for example: - https://superwall.com/docs/android/guides/advanced/game-controller-support.md When using `Accept: text/markdown`, doc URLs return a 307 redirect to the `.md` route. Always use `curl -sL` (follow redirects) when fetching them. ## Platform-specific docs - [Dashboard Documentation](/docs/dashboard/llms.txt) ([full text](/docs/dashboard/llms-full.txt)) - [Framework Documentation](/docs/framework/llms.txt) ([full text](/docs/framework/llms-full.txt)) - [Agents Documentation](/docs/agents/llms.txt) ([full text](/docs/agents/llms-full.txt)) - [iOS Documentation](/docs/ios/llms.txt) ([full text](/docs/ios/llms-full.txt)) - [Android Documentation](/docs/android/llms.txt) ([full text](/docs/android/llms-full.txt)) - [Flutter Documentation](/docs/flutter/llms.txt) ([full text](/docs/flutter/llms-full.txt)) - [Expo Documentation](/docs/expo/llms.txt) ([full text](/docs/expo/llms-full.txt)) - [KMP Documentation](/docs/kmp/llms.txt) ([full text](/docs/kmp/llms-full.txt)) - [Unity Documentation](/docs/unity/llms.txt) ([full text](/docs/unity/llms-full.txt)) - [Web Documentation](/docs/web/llms.txt) ([full text](/docs/web/llms-full.txt)) - [React Native Documentation](/docs/react-native/llms.txt) ([full text](/docs/react-native/llms-full.txt)) - [Integrations Documentation](/docs/integrations/llms.txt) ([full text](/docs/integrations/llms-full.txt)) - [Web Checkout Documentation](/docs/web-checkout/llms.txt) ([full text](/docs/web-checkout/llms-full.txt)) Legacy root-level aliases such as `/docs/llms-ios.txt` and `/docs/llms-full-ios.txt` remain supported. ## All Pages - [External Paywall Creation](/docs/advanced-paywall-creation): Build your own paywall webpage for Superwall with data-pw tags, the Paywall.js script, and game controller input. Covers the deprecated legacy editor. - [Analyze Your Data](/docs/agents/analyze-your-data): Ask AI about conversion, revenue, and experiments, from quick questions in the dashboard to SQL queries and scheduled reports. - [Superwall API](/docs/agents/api): Call the Superwall REST API with an organization API key, the same API the MCP, CLI, and Superwall AI use. - [Build a Paywall](/docs/agents/build-a-paywall): Build paywalls with an AI agent using the Superwall Framework, or edit them in the visual editor with AI chat and Editor MCP. - [Superwall CLI](/docs/agents/cli): Set up the SDK, manage products, campaigns, and paywalls, query your analytics data, and call the API from your terminal or coding agent using the Superwall CLI. - [Docs for AI](/docs/agents/docs-for-ai): Give these docs to any AI tool with llms.txt files, Markdown versions of every page, and the Copy Markdown and Open in buttons. - [Connect an Agent with MCP](/docs/agents/editor-mcp): Connect Claude Code, Codex, Cursor, or another MCP-compatible agent to the paywall currently open in the Superwall editor. - [Use Superwall with AI](/docs/agents): Every way to use Superwall with an AI agent, from the assistant in the dashboard to Claude, ChatGPT, Codex, and Cursor, and which one to pick. - [Integrate the SDK](/docs/agents/integrate-the-sdk): Have an AI agent install and configure the Superwall SDK in your app, or move your app over from RevenueCat, Adapty, or Qonversion. - [Manage Your Account](/docs/agents/manage-your-account): Create and update Superwall apps, products, entitlements, campaigns, and paywalls from an AI agent instead of the dashboard. - [Superwall MCP](/docs/agents/mcp): Manage your Superwall apps, products, campaigns, paywalls, analytics, App Store Connect and Apple Search Ads from AI tools like Claude, Claude Code, Codex and Cursor using the Superwall MCP. - [AI Agent Plugins](/docs/agents/plugins): Install the Superwall plugin in Claude, ChatGPT, or Codex to connect your agent to your Superwall account and add Superwall's skills in one step. - [Review Your Setup](/docs/agents/review-your-setup): Have an AI agent audit your Superwall integration and dashboard configuration, explain what's wrong, and fix it. - [AI Agent Skills](/docs/agents/skills): Give AI coding agents up-to-date Superwall docs, authenticated API access, and hands-on control of the paywall editor using the Superwall Skills. - [Superwall AI](/docs/agents/superwall-ai): Ask Superwall AI about Superwall, your account, and your data in the dashboard, the docs, or agents.superwall.com, approve its changes, and contact support. - [Changelog](/docs/android/changelog): Release notes for the Superwall Android SDK - [Cohorting in 3rd Party Tools](/docs/android/guides/3rd-party-analytics/cohorting-in-3rd-party-tools): To easily view Superwall cohorts in 3rd party tools, we recommend you set user attributes based on the experiments that users are included in. You can also use custom placements for creating analytics events for actions such as interacting with an element on a paywall. - [Custom Paywall Analytics](/docs/android/guides/3rd-party-analytics/custom-paywall-analytics): Learn how to log events from paywalls, such as a button tap or product change, to forward to your analytics service. - [3rd Party Analytics](/docs/android/guides/3rd-party-analytics): Forward Superwall events to your own analytics tool on Android by implementing handleSuperwallEvent in SuperwallDelegate, with typed cases for each event. - [Superwall Events](/docs/android/guides/3rd-party-analytics/tracking-analytics): The SDK automatically tracks some events, which power the charts in the dashboard. - [Advanced Purchasing](/docs/android/guides/advanced-configuration): If you need fine-grain control over the purchasing pipeline, use a purchase controller to manually handle purchases and subscription status. - [Custom callbacks](/docs/android/guides/advanced/custom-callbacks): Handle custom callback requests from paywalls to run app-side logic and return results. - [Custom Paywall Actions](/docs/android/guides/advanced/custom-paywall-actions): Run your own Android code when a paywall button is tapped. Give the element a custom action in Superwall, then handle it in handleCustomPaywallAction. - [Purchasing Products Outside of a Paywall](/docs/android/guides/advanced/direct-purchasing): Buy Google Play products outside a paywall with the Superwall Android SDK's purchase method, pick a base plan and offer, and read the PurchaseResult. - [Game Controller Support](/docs/android/guides/advanced/game-controller-support): Let players navigate Superwall paywalls with a game controller on Android. Set isGameControllerEnabled to true and the SDK forwards gamepad input for you. - [Observer Mode](/docs/android/guides/advanced/observer-mode): Report Google Play Billing purchases made outside Superwall on Android with observer mode, so the transactions show up in your Superwall dashboard. - [Retrieving and Presenting a Paywall Yourself](/docs/android/guides/advanced/presenting-paywalls): Get a paywall yourself with getPaywall on Android and show it in your own Jetpack Compose or view layout, with skip handling and best practices. - [Request permissions from paywalls](/docs/android/guides/advanced/request-permissions-from-paywalls): Trigger Android runtime permission dialogs directly from a Superwall paywall action. - [Device Tier Targeting](/docs/android/guides/advanced/using-device-tiers-on-android): Target users based on their device performance capabilities to optimize paywall experiences across different hardware tiers. - [Using the Presentation Handler](/docs/android/guides/advanced/using-the-presentation-handler): Track when an Android paywall presents, dismisses, errors or is skipped by passing a PaywallPresentationHandler to register, plus custom callbacks. - [Viewing Purchased Products](/docs/android/guides/advanced/viewing-purchased-products): See which product a user bought from a Superwall paywall on Android, using the presentation handler, SuperwallDelegate events or a purchase controller. - [Advanced Configuration](/docs/android/guides/configuring): When configuring the SDK you can pass in options that configure Superwall, the paywall presentation, and its appearance. - [Consumable Products](/docs/android/guides/consumable-products): Set up consumable products for Superwall paywalls on Android. - [Customer Center](/docs/android/guides/customer-center): Give users a native screen to manage subscriptions, restore purchases, request refunds, and contact support. - [Experimental Flags](/docs/android/guides/experimental-flags): Experimental flags, such as the subscription state variables used in campaign filters, are not yet available in the Superwall Android SDK. - [Handling Deep Links](/docs/android/guides/handling-deep-links): Use handleDeepLink and campaign rules to present paywalls from deep links without hardcoding logic in your app. - [Local Resources](/docs/android/guides/local-resources): Bundle images, videos, and other assets in your app so paywalls can load them instantly from the device. - [Migrating from v1 to v2 - Android](/docs/android/guides/migrations/migrating-to-v2): SuperwallKit 2.0 is a major release of Superwall's Android SDK. This introduces breaking changes. - [Push Notifications](/docs/android/guides/push-notifications): Register FCM tokens with Superwall, manage device notification preferences, and measure notification opens from your Android app. - [Test Mode](/docs/android/guides/test-mode): Simulate in-app purchases without Google Play using test mode, which lets you test your entire paywall flow end-to-end. - [Using RevenueCat](/docs/android/guides/using-revenuecat): Use RevenueCat with Superwall on Android: build a PurchaseController that handles purchases and restores and syncs entitlements, or use PurchasesAreCompletedBy. - [Using the Superwall Delegate](/docs/android/guides/using-superwall-delegate): Set the SuperwallDelegate on Android to handle Superwall events, custom paywall actions, subscription status changes and paywall present or dismiss events. - [Using your own backend](/docs/android/guides/using-your-own-backend): If you handle subscription logic and receipt validation on your own backend, follow this guide to keep Superwall in sync. - [Web Checkout](/docs/android/guides/web-checkout): Integrate Superwall web checkout with your app for seamless cross-platform subscriptions - [Redeeming In-App](/docs/android/guides/web-checkout/linking-membership-to-iOS-app): Handle a deep link in your app and use the delegate methods. - [Post-Checkout Redirecting](/docs/android/guides/web-checkout/post-checkout-redirecting): Learn how to handle users redirecting back to your app after a web purchase. - [Using RevenueCat](/docs/android/guides/web-checkout/using-revenuecat): Handle a deep link in your app and use the delegate methods to link web checkouts with RevenueCat. - [Welcome](/docs/android): Welcome to the Superwall Android SDK documentation - [Configure the SDK](/docs/android/quickstart/configure): Configure the Superwall Android SDK in MainApplication.kt with your Public API Key from the dashboard, and optionally pass a PurchaseController or options. - [Presenting Paywalls](/docs/android/quickstart/feature-gating): Control access to premium features with Superwall placements. - [Handling Deep Links](/docs/android/quickstart/in-app-paywall-previews): Set up deep links in your Android app with a URL scheme or App Links, pass them to Superwall's handleDeepLink, and preview paywalls on device by QR code. - [Install the SDK](/docs/android/quickstart/install): Install the Superwall Android SDK via Gradle. - [Setting User Attributes](/docs/android/quickstart/setting-user-properties): Set user attributes with setUserAttributes in the Superwall Android SDK to show user data on paywalls and target audiences. Pass null to remove one. - [Tracking Subscription State](/docs/android/quickstart/tracking-subscription-state): Here's how to view whether or not a user is on a paid plan in Android. - [User Management](/docs/android/quickstart/user-management): Identify users in the Superwall Android SDK with identify and reset, choose a safe user ID, and control the account ID that Google Play receives. - [CustomerCenterConfiguration](/docs/android/sdk-reference/CustomerCenterConfiguration): Configure the Customer Center screens, actions, support details, and appearance. - [CustomerCenterDelegate](/docs/android/sdk-reference/CustomerCenterDelegate): Receive callbacks for Customer Center actions, restores, surveys, refunds, and dismissal. - [PaywallOptions](/docs/android/sdk-reference/PaywallOptions): Configuration for paywall presentation and behavior in the Superwall Android SDK. - [PurchaseController](/docs/android/sdk-reference/PurchaseController): An interface for handling Superwall's subscription-related logic with your own purchase implementation. - [Superwall](/docs/android/sdk-reference/Superwall): The shared instance of Superwall that provides access to all SDK features. - [SuperwallDelegate](/docs/android/sdk-reference/SuperwallDelegate): An interface that handles Superwall lifecycle events and analytics. - [SuperwallEvent](/docs/android/sdk-reference/SuperwallEvent): A sealed class representing analytical events that are automatically tracked by Superwall. - [SuperwallOptions](/docs/android/sdk-reference/SuperwallOptions): A configuration class for customizing paywalls, the Customer Center, and other SDK behavior. - [PaywallBuilder](/docs/android/sdk-reference/advanced/PaywallBuilder): A builder class for creating custom PaywallView instances for advanced presentation. - [setSubscriptionStatus()](/docs/android/sdk-reference/advanced/setSubscriptionStatus): A function that manually sets the subscription status when using a custom PurchaseController. - [configure()](/docs/android/sdk-reference/configure): A static function that configures a shared instance of Superwall for use throughout your app. - [getPresentationResult()](/docs/android/sdk-reference/getPresentationResult): Check the outcome of a placement without presenting a paywall. - [handleDeepLink()](/docs/android/sdk-reference/handleDeepLink): A function that handles deep links and triggers paywalls based on configured campaigns. - [identify()](/docs/android/sdk-reference/identify): A function that creates an account with Superwall by linking a userId to the automatically generated alias. - [Overview](/docs/android/sdk-reference): Reference documentation for the Superwall Android SDK. - [localResources](/docs/android/sdk-reference/localResources): Register Android resources or file URIs so paywalls can load local media by resource ID. - [register()](/docs/android/sdk-reference/register): A function that registers a placement that can be remotely configured to show a paywall and gate feature access. - [setUserAttributes()](/docs/android/sdk-reference/setUserAttributes): A function that sets user attributes for use in paywalls and analytics on the Superwall dashboard. - [subscriptionStatus](/docs/android/sdk-reference/subscriptionStatus): A StateFlow property that indicates the subscription status of the user. - [userId](/docs/android/sdk-reference/userId): A property on Superwall.instance that returns the current user's ID. - [Capacitor](/docs/community/capacitor): Superwall plugin for Capacitor by Capawesome - [Community SDKs](/docs/community): Community-maintained Superwall SDKs - [Creating Paywalls](/docs/configuring-a-paywall): Superwall maintains a growing list of paywall templates for you to choose from. These designs are used by some of the biggest apps on the App Store and are perfect to get you up and running in no time. - [Paywall Asset Library](/docs/dashboard/assets): Upload images and videos once to the Superwall Assets library, then reuse them in any paywall. Covers uploading, discovering existing media and deleting. - [Benchmarks](/docs/dashboard/benchmarks): See how your app's conversion, monetization and retention compare with similar apps or your store category on the same platform, refreshed every night. - [Active Subscriptions](/docs/dashboard/charts/active-subscriptions): Learn what the Active Subscriptions chart measures and when to use it. - [Active Trials](/docs/dashboard/charts/active-trials): Learn what the Active Trials chart measures and when to use it. - [Active Users](/docs/dashboard/charts/active-users): Learn what the Active Users chart measures and when to use it. - [Ad Spend](/docs/dashboard/charts/ad-spend): Learn what the Ad Spend chart measures and when to use it. - [Chart Annotations](/docs/dashboard/charts/annotations): Mark releases, campaigns, and incidents on your app's charts from the dashboard or the Superwall API. - [ARR](/docs/dashboard/charts/arr): Learn what the ARR chart measures and when to use it. - [Auto Renew Status](/docs/dashboard/charts/auto-renew-status): Learn what the Auto Renew Status chart measures and when to use it. - [Blended CPI](/docs/dashboard/charts/blended-cpi): Learn what the Blended CPI chart measures and when to use it. - [Blended CPT](/docs/dashboard/charts/blended-cpt): Learn what the Blended CPT chart measures and when to use it. - [Checkout Conversion](/docs/dashboard/charts/checkout-conversion): Learn what the Checkout Conversion chart measures and when to use it. - [Cohorted Proceeds](/docs/dashboard/charts/cohorted-proceeds): Learn what the Cohorted Proceeds chart measures and when to use it. - [Conversions](/docs/dashboard/charts/conversions): Learn what the Conversions chart measures and when to use it. - [CPM](/docs/dashboard/charts/cpm): Learn what the CPM chart measures and when to use it. - [CPP (Cost per Paid User)](/docs/dashboard/charts/cpp): Learn what the CPP chart measures and when to use it. - [CPT (Cost per Trial)](/docs/dashboard/charts/cpt): Learn what the CPT chart measures and when to use it. - [Charts](/docs/dashboard/charts): View charts detailing important metrics about your app's subscription performance, paywalls, users, and revenue. - [Initial Conversion](/docs/dashboard/charts/initial-conversion): Learn what the Initial Conversion chart measures and when to use it. - [Install to Trial](/docs/dashboard/charts/install-to-trial): Learn what the Install to Trial chart measures and when to use it. - [MRR](/docs/dashboard/charts/mrr): Learn what the MRR chart measures and when to use it. - [New Subscriptions](/docs/dashboard/charts/new-subscriptions): Learn what the New Subscriptions chart measures and when to use it. - [New Trials](/docs/dashboard/charts/new-trials): Learn what the New Trials chart measures and when to use it. - [New Users](/docs/dashboard/charts/new-users): Learn what the New Users chart measures and when to use it. - [Paid Conversion](/docs/dashboard/charts/paid-conversion): Learn what the Paid Conversion chart measures and when to use it. - [Paywall Conversion](/docs/dashboard/charts/paywall-conversion): Learn what the Paywall Conversion chart measures and when to use it. - [Paywall Rate](/docs/dashboard/charts/paywall-rate): Learn what the Paywall Rate chart measures and when to use it. - [Paywalled Users](/docs/dashboard/charts/paywalled-users): Learn what the Paywalled Users chart measures and when to use it. - [Pinned Charts](/docs/dashboard/charts/pinned-charts): Pin any chart to your app's Overview page so the numbers you check most are there when you open the dashboard. - [Proceeds](/docs/dashboard/charts/proceeds): Learn what the Proceeds chart measures and when to use it. - [Realized LTV per new user](/docs/dashboard/charts/realized-ltv-per-new-user): Learn what the Realized LTV per new user chart measures and when to use it. - [Realized LTV per paid user](/docs/dashboard/charts/realized-ltv-per-paid-user): Learn what the Realized LTV per paid user chart measures and when to use it. - [Refund Rate](/docs/dashboard/charts/refund-rate): Learn what the Refund Rate chart measures and when to use it. - [Retention Messaging Save Rate](/docs/dashboard/charts/retention-messaging-save-rate): Learn what the Retention Messaging Save Rate chart measures and when to use it. - [Retention Messaging Saves](/docs/dashboard/charts/retention-messaging-saves): Learn what the Retention Messaging Saves chart measures and when to use it. - [ROAS](/docs/dashboard/charts/roas): Learn what the ROAS chart measures and when to use it. - [Sales](/docs/dashboard/charts/sales): Learn what the Sales chart measures and when to use it. - [Subscriber Churn](/docs/dashboard/charts/subscriber-churn): Learn what the Subscriber Churn chart measures and when to use it. - [Subscription Retention](/docs/dashboard/charts/subscription-retention): Learn what the Subscription Retention chart measures and when to use it. - [Trial Conversion](/docs/dashboard/charts/trial-conversion): Learn what the Trial Conversion chart measures and when to use it. - [Creating Projects](/docs/dashboard/creating-applications): Projects are how Superwall groups the same app together across platforms. - [Campaign Rules](/docs/dashboard/dashboard-campaigns/campaign-rules): Older guide to Superwall campaign rules: rule order, sticky paywall assignments, conditions, limits and user seed cohorts. Audiences now replace rules. - [Audience Targeting](/docs/dashboard/dashboard-campaigns/campaigns-audience): Target users with Superwall campaign audiences: filters, rule groups, entitlement checks and limits, plus attribution, country, event count and app version filters. - [Paywalled Users](/docs/dashboard/dashboard-campaigns/campaigns-paywalled-users): See which users matched a Superwall campaign audience and the transactions that followed, with the placement behind each one, from the last 24 hours. - [Priority Placements](/docs/dashboard/dashboard-campaigns/campaigns-placements-prioritized): Preload your most important campaign's paywalls before the rest of your app's campaigns. - [Campaign Placements](/docs/dashboard/dashboard-campaigns/campaigns-placements): Add, pause and delete campaign placements in Superwall, use placement parameters, and register placements in your app to show paywalls without an app update. - [Standard Placements](/docs/dashboard/dashboard-campaigns/campaigns-standard-placements): Show paywalls on events Superwall tracks for you, like app_install, session_start, paywall_decline, transaction_abandon and survey_response. - [Starting an Experiment](/docs/dashboard/dashboard-campaigns/campaigns-starting-an-experiment): Run a paywall A/B test in Superwall: add paywalls to an audience, set presentation percentages, reset assignments, create holdouts and remove variants. - [Campaign Structure](/docs/dashboard/dashboard-campaigns/campaigns-structure): Find your way around a Superwall campaign's detail screen: where to manage placements, audiences and paywall experiments, and how to rename a campaign. - [Understanding Experiment Results](/docs/dashboard/dashboard-campaigns/campaigns-understanding-experiment-results): Read Superwall paywall experiment results: paywall and placement metrics, graphs, trial states, confidence intervals, and IDs for cohorting in analytics tools. - [Campaigns Overview](/docs/dashboard/dashboard-campaigns/campaigns): Show the right paywall at the right moment with Superwall campaigns: placements, audiences and paywalls, campaign status, top-level metrics and the iOS app. - [Holdout Groups](/docs/dashboard/dashboard-campaigns/holdout-groups): Keep a share of an audience from seeing any paywall, then compare them with the users who did, to learn whether showing a paywall there pays off. - [Target Paywalls by Ad Campaign](/docs/dashboard/dashboard-campaigns/target-by-ad-campaign): Show a different paywall to users from a given ad network, campaign, ad set, ad or keyword, using the acquisition attributes Superwall sets on each install. - [Using Placement Parameters](/docs/dashboard/dashboard-campaigns/using-placement-parameters): Define and consume placement parameters in paywalls across platforms, including web checkout query parameters. - [Flows Analytics](/docs/dashboard/dashboard-creating-flows/analytics): Understand Flow Journey analytics, drop-off, page transitions, and how users move through multi-page flows. - [Flow Elements](/docs/dashboard/dashboard-creating-flows/flow-elements): Add interactive elements to your flows: multiple choice, text entry, progress indicators, and date pickers. - [Getting Started with Flows](/docs/dashboard/dashboard-creating-flows/getting-started): Create multi-page experiences like onboarding flows, cancellation surveys, and more. All within the same Superwall editor you're familiar with. - [How Flows are Structured](/docs/dashboard/dashboard-creating-flows/how-flows-are-structured): Understand the key concepts of a Flow: the navigation element, pages, routes, and branching. - [Linking Pages](/docs/dashboard/dashboard-creating-flows/linking-pages): Connect pages with routes, configure animations, and set up conditional branching. - [Flow Navigation](/docs/dashboard/dashboard-creating-flows/navigation): Move users forward and back through a Superwall flow with the Navigation element, Navigate Page tap behaviors and auto-advance timers. - [Ordering Screens](/docs/dashboard/dashboard-creating-flows/ordering-screens): Understand how page order works in Flows and how to organize your Canvas. - [Permission Prompts](/docs/dashboard/dashboard-creating-flows/permission-prompts): Request system permissions like notifications, location, and camera at the right moment in your flows. - [The Canvas](/docs/dashboard/dashboard-creating-flows/the-canvas): See your entire flow at a glance, zoom in and out, and use the mini-map to navigate complex flows. - [Flow Building Tips](/docs/dashboard/dashboard-creating-flows/tips): Build better Superwall flows: set user attributes from taps, keep going after purchase, simulate permission prompts, show progress and keep flows focused. - [AI Chat Builder](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-ai-chat): Use AI Chat in the paywall editor to build, inspect, and refine paywalls with natural language. - [App Store Screenshot](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-app-store-screenshot): Download a screenshot of your paywall sized for App Store Connect, ready to attach to a subscription's review information. - [Autoscroll Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-autoscroll-component): Add an autoscroll component to a Superwall paywall for marquee-style content that scrolls on its own. Set its width, add content and control scroll speed. - [Carousel Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-carousel-component): Add a carousel to a Superwall paywall that pages through slides on its own. Set paging options, add content and use its index variable to drive other elements. - [Paywall Debugger](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-debugger): Use the Superwall paywall debugger to see the raw CSS and evaluated variables for a selected component, so you can track down layout and design quirks. - [Drawer Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-drawer-component): Use Superwall's drawer component to display content presented in response to a button tap or a variable changing. - [Duplicating Paywalls](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-duplicating-paywalls): Duplicate a Superwall paywall from the editor or from the Paywalls list, either into the current project or into an app in another project. - [Dynamic Values](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-dynamic-values): Change paywall text, styles and visibility based on conditions with Superwall dynamic values: rules, groups, if/else logic and free trial detection. - [Floating Toolbar](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-floating-toolbar): Switch between Legacy, Device and Flow views with the Superwall editor's floating toolbar, change device and orientation, open variables and zoom the canvas. - [Progress Indicator Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-indicator-component): Show users their progress through a Superwall flow with the indicator element. Set current and total items, bind it to flow progress and choose where it goes. - [Text Input Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-input-component): Capture names, emails and feedback in a Superwall paywall or flow with the input element. Set placeholder text and keyboard type, then reuse what users type. - [Paywall Editor Layout](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-layout): Build paywalls in the Superwall editor's Layout tab: add elements and snippets, reorder and nest components, use the toolbar, share paywalls and view history. - [Liquid Templating](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-liquid): Format paywall text with Liquid in Superwall: filters, product prices, two-decimal formatting, Liquid in image URLs, and custom date and countdown filters. - [Local Resources](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources): Use images, videos, and other media bundled in your app for faster paywall loading and offline support. - [Paywall Localization](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-localization): Localize a Superwall paywall with AI-powered simple localization or .strings files. Also covers period lengths, dynamic values, reviewing updates and testing. - [Multiple Choice](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-multiple-choice-component): Capture user selections with multiple choice elements for branching, personalization, and data collection. - [Navigation Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-navigation-component): Page through content in a Superwall paywall with the navigation component. Change pages with its current index variable and pick a page transition. - [Trial Reminder Notifications](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-notifications): Remind users before their free trial ends with a local notification scheduled from the paywall. Set the title, body and how many days before the trial ends it fires. - [Getting Started with the Paywall Editor](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-overview): Use Superwall's best-in-class editor to bring virtually any paywall design to life, complete with advanced U.X. patterns. Or, browse our growing list of paywall templates to get started quickly. - [Previewing Paywalls on Device](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-previewing): Preview Superwall paywalls on your iOS or Android device by scanning a QR code. Set up a custom URL scheme or intent filter and handle deep links in your app. - [Paywall Products](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-products): Add products to a Superwall paywall, use products.selected in copy, format prices and trial offers, and pick billing plans for annual iOS subscriptions. - [Publishing Paywalls](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-publishing): Publish a Superwall paywall to make your edits live, then attach it to a campaign so users can see it. Unpublished changes are saved locally in the meantime. - [Renaming Paywalls](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-renaming-paywalls): Rename a Superwall paywall from the editor: click the pencil icon next to the paywall name in the top-left corner, type a new name and save. - [Paywall Settings](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-settings): Set paywall-wide behavior in Superwall: presentation style, scrolling, iPhone Duo safe area, game controllers, feature gating, caching and back button handling. - [Slider Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-slider-component): Add a slider to a Superwall paywall or flow so users can pick a number or scrub progress. Set range, step size and orientation, then use its value variable. - [Slides Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-slides-component): Add a gesture-driven slides component to a Superwall paywall for horizontal or vertical slides. Add content and use its Child Page Index variable to control it. - [Stack Component](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-stacks): Lay out Superwall paywalls with stacks, which work like CSS Flexbox. Set axis, alignment, spacing, wrap, scroll, paging and other stack properties. - [Styling Elements](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements): Style any component in the Superwall paywall editor: tap behaviors, purchase actions, AI images, typography, size, padding, borders, effects and custom CSS. - [Paywall Editor Surveys](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-surveys): Attach a close survey or a post-purchase survey to a Superwall paywall from the editor's Surveys menu, and open the survey editor to create new ones. - [Paywall Editor Theme](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-theme): Set a Superwall paywall's theme: background, primary and text colors, dark mode values, device size variables, custom fonts and your own theme variables. - [Paywall Variables](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-variables): Use variables in Superwall paywalls to reuse values, adapt to device size and format prices. Covers device, product, user and custom variables. - [Variable Reference](/docs/dashboard/dashboard-creating-paywalls/variable-reference): Every user, device and params property Superwall exposes to paywall templates and campaign filters, with types, examples and the SDK version that added each. - [Using Demand Score in Campaigns](/docs/dashboard/dashboard-demand-score/demand-score-experiments): Learn how to create audiences based on demand score ranges to run targeted experiments and improve conversion. - [Understanding Demand Score Insights](/docs/dashboard/dashboard-demand-score/demand-score-insights): Learn how to read and interpret the charts and breakdowns on the Demand Score page, including conversion rates, volume, trial outcomes, and per-placement and per-country analysis. - [Using Demand Score](/docs/dashboard/dashboard-demand-score/demand-score): Demand Score is a 1-100 value assigned to each user by Superwall, indicating their likelihood to convert. Use it to understand your audience and target users with the right offers. - [App Store Connect API Key and In-App Purchase Key](/docs/dashboard/dashboard-settings/app-store-connect-keys): Connect an iOS app to Superwall with an App Store Connect API key and an In-App Purchase key. Create both automatically with Set up with Apple, import them from another app, or enter the Key ID, Issuer ID and .p8 file by hand. - [App Store Server Notifications](/docs/dashboard/dashboard-settings/app-store-server-notifications): Send Apple's App Store Server Notifications to Superwall. Find your app's Superwall URL, set it in App Store Connect for production and sandbox, or forward notifications through RevenueCat or your own server. - [Access Controls](/docs/dashboard/dashboard-settings/overview-settings-access-controls): Manage organization roles, project access, and scoped API keys. - [Advanced Settings](/docs/dashboard/dashboard-settings/overview-settings-advanced): Disable Superwall to stop all paywalls and placement evaluation for an app, or permanently delete the app, from the Advanced section of Settings. - [All teams](/docs/dashboard/dashboard-settings/overview-settings-all-teams): View every team in your Superwall account from the All Teams section of Settings, and switch between them with a quick filter or the Command-K shortcut. - [Audit Log](/docs/dashboard/dashboard-settings/overview-settings-audit-log): Review organization activity in the Superwall dashboard. - [Billing and Invoices](/docs/dashboard/dashboard-settings/overview-settings-billing): Manage your Superwall billing: update billing details, add or change the card on file, check your subscription status, and view or download past invoices. - [API Keys](/docs/dashboard/dashboard-settings/overview-settings-keys): Copy your Superwall public API key to configure the SDK, and check session starts by SDK version and app version from the last seven days to debug issues. - [Organization Settings](/docs/dashboard/dashboard-settings/overview-settings-organization): Rename your Superwall organization and manage the App Store Connect keys it keeps for your Apple teams: add, replace or remove keys and see who can view them. - [Projects and Project Transfers](/docs/dashboard/dashboard-settings/overview-settings-projects): Group your iOS, Android and web apps into a Superwall project, add platforms to it, and transfer a project and all its apps to another organization. - [Public Beta](/docs/dashboard/dashboard-settings/overview-settings-public-beta): Turn on Superwall beta features for your account from the Public Beta section of Settings. Beta features can still have bugs, so use them with care. - [Refund Protection](/docs/dashboard/dashboard-settings/overview-settings-refund-protection): Tell Apple and Google Play how you want refund requests and chargebacks handled for your app. - [Google Play Revenue Tracking](/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking-google-play): Send Google Play purchase events to Superwall with a service account key and real-time developer notifications. - [Forward Apple's Notifications from RevenueCat](/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking-revenuecat-forwarding): Keep RevenueCat's URL in App Store Connect and have RevenueCat forward Apple's App Store Server Notifications to Superwall. - [RevenueCat Revenue Tracking](/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking-revenuecat): Send RevenueCat's subscription events to Superwall with a RevenueCat webhook, so your revenue charts count RevenueCat's purchases, renewals and refunds. - [Revenue Tracking](/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking): Connect App Store Connect, Google Play or RevenueCat to Superwall to track subscription revenue. Set up API keys, server notifications and Small Business rates. - [Team Members and Roles](/docs/dashboard/dashboard-settings/overview-settings-team): Invite teammates to your Superwall organization, remove members, rename your team, and see what Owner, Admin, Editor, Reader and Analyst roles can do. - [General App Settings](/docs/dashboard/dashboard-settings/overview-settings): Set your app's details in Superwall's General settings: app name, Apple App ID, bundle ID and URL scheme, or Stripe keys and app info for web checkout apps. - [Data Warehouse](/docs/dashboard/data-schema): See every event, attribute and revenue event your app sends to Superwall, chart any of them in place, and open the SQL behind it in the Queries editor. - [Acquisition Cohort Report](/docs/dashboard/guides/acquisition-cohort-report): Pull installs, trials, ad spend, CPI, and install-cohorted revenue per campaign, ad set, ad, or country through the Superwall MCP or API. - [Countdown Timers on Paywalls](/docs/dashboard/guides/countdown-timers): Add a live countdown timer to a Superwall paywall with Liquid: count down from when the paywall opens, from install, or to a fixed sale end date, and hide the offer when time runs out. - [Custom Fonts on Paywalls](/docs/dashboard/guides/custom-fonts): Use your own font or any Google Font on paywalls. Upload TTF, OTF, WOFF or WOFF2 files per weight and style, then pick the font for any text element. - [Delete User Data](/docs/dashboard/guides/delete-user-data): Delete everything Superwall holds about one of your app's users, for GDPR and other privacy requests, from the dashboard or the API, and cancel it if needed. - [Exit Offer Paywalls](/docs/dashboard/guides/exit-offer-paywalls): Show a second paywall, such as a discount, when a user closes your paywall without buying. Set it up with the paywall_decline placement and an audience filter. - [Free Trials and Introductory Offers on Paywalls](/docs/dashboard/guides/free-trials): Show free trials and introductory offers on Superwall paywalls: check trial eligibility with products.hasIntroductoryOffer, write trial copy with product variables, override eligibility, remind users before a trial ends, and target users who cancelled. - [Haptic Feedback on Paywalls](/docs/dashboard/guides/haptic-feedback): Play a native haptic when someone taps a paywall button, pick light, medium, heavy, success, warning, error or selection, and turn off the SDK's own haptics. - [iPhone Duo Support](/docs/dashboard/guides/iphone-duo-support): Superwall paywalls work on iPhone Duo. Keep your paywall clear of the front camera and status bar, preview it in the editor, and test it on a device or in the simulator. - [RevenueCat Migration Guide](/docs/dashboard/guides/migrating-from-revenuecat-to-superwall): A guide to migrating from RevenueCat to Superwall. - [Monthly Billing Plans for Annual Subscriptions](/docs/dashboard/guides/monthly-billing-plans): Sell an annual App Store subscription as 12 monthly payments with Superwall. Add Apple's monthly billing plan to the product, choose monthly installments or up-front billing per paywall, and compare the two in charts. - [Offer Codes, Promo Codes and Discounts](/docs/dashboard/guides/offer-codes-and-promo-codes): What Superwall supports for App Store offer codes, promotional and win-back offers, Google Play offers and promo codes, and Stripe discount codes on paywalls. - [Paywall Preloading and Caching](/docs/dashboard/guides/paywall-preloading-and-caching): Make Superwall paywalls open instantly. Learn how the SDK preloads paywalls at launch, how to prioritize or preload specific placements, and how Cache on Device keeps paywalls on the device. - [Paywall Presentation Styles](/docs/dashboard/guides/paywall-presentation-styles): Show a Superwall paywall full screen, as a modal, a bottom drawer, a centered popup, or pushed onto your navigation stack. Pick the style per paywall in the editor, with no app update. - [Pre-Launch Checklist](/docs/dashboard/guides/pre-launch-checklist): Ready to ship your app with Superwall? Here is a last minute checklist to give you confidence that you're ready to ship without issue. - [Presenting Paywalls from One Another](/docs/dashboard/guides/presenting-paywalls-from-one-another): Learn how to present a different paywall from one that's already presented. - [Query ClickHouse](/docs/dashboard/guides/query-clickhouse): Use the Superwall API to query your organization's ClickHouse-backed analytics data and find the event names and attribute keys each app sends. - [Restoring Purchases](/docs/dashboard/guides/restoring-purchases): Let users restore App Store and Google Play purchases with Superwall: add a Restore button to a paywall, call restorePurchases() from your app, customize the failure alert, and restore with a purchase controller. - [Supported Platforms and Devices](/docs/dashboard/guides/supported-platforms): Check Superwall SDK support and minimum OS versions across Apple, Android and web platforms, including purchases on Apple Watch and Apple TV. - [Testing Purchases: Sandbox, TestFlight and Test Mode](/docs/dashboard/guides/testing-purchases): Pick the right way to test your paywall and purchases: test mode, StoreKit files, Apple sandbox and TestFlight, Google Play testers, or Stripe sandbox. - [Abandoned Transaction Paywalls](/docs/dashboard/guides/tips-abandoned-transaction-paywall): Learn how to respond when a user starts a purchase, then cancels the transaction. - [First Touch Paywalls](/docs/dashboard/guides/tips-first-touch-paywall): Learn how to present a paywall the moment users interact with your app. - [Showing Unique Paywalls](/docs/dashboard/guides/tips-paywalls-based-on-placement): Learn how to present a unique paywall based on the audience that was matched within a campaign. - [Feature Gating: Gated and Non-Gated Paywalls](/docs/dashboard/guides/tips-paywalls-feature-gating): Decide from the dashboard whether a Superwall paywall blocks a feature until the user pays (Gated) or lets them continue after closing it (Non Gated), with no app update. - [Custom Actions](/docs/dashboard/guides/tips-using-custom-actions): Learn how to use custom actions. - [Using Referral or Promo Codes with Superwall](/docs/dashboard/guides/using-referral-or-promo-codes-with-superwall): Run referral and promo code offers with Superwall: validate codes in your app and show a discounted paywall, or use Stripe promotion codes on web checkout. - [Using Flows for Onboarding](/docs/dashboard/guides/using-superwall-for-onboarding-flows): Build first-run app onboarding with Flows, branching, user attributes, permission prompts, paywalls, and Flow Journey analytics. - [Video and Lottie Animations on Paywalls](/docs/dashboard/guides/video-and-lottie): Add video and Lottie animations to a paywall in the editor: upload or link a file, set autoplay, loop, mute and speed, and keep media loading fast. - [Web Flows](/docs/dashboard/guides/web-flows): Build web-to-app flows that qualify campaign traffic, personalize offers, and activate users before sending them to your app. - [Dashboard Documentation](/docs/dashboard): Start here for the Superwall Dashboard docs, with links to the dashboard overview, the paywall editor, campaigns, web checkout and the Superwall SDK. - [Account Management](/docs/dashboard/manage-account): Manage your Superwall account preferences, security settings, and authentication methods. - [Organization Overview and Charts](/docs/dashboard/organization-overview-and-charts): See proceeds, users, and conversions for every project in your organization, chart them together or by project, and open any project from one list. - [Dashboard Overview and Metrics](/docs/dashboard/overview-metrics): The Overview page gives you a holistic look at how your app is performing, complete with easy-to-find key metrics and top-level campaign data. - [Users and User Profiles](/docs/dashboard/overview-users): Get a snapshot view of users who recently triggered a placement in your app, see their user journey, revenue events and more. - [Paywalls & Flows](/docs/dashboard/paywalls): Create, preview, duplicate, archive and keep notes on paywalls and flows for the selected app. - [Adding Products](/docs/dashboard/products): Add App Store, Google Play and other store products to Superwall, set up entitlements, find product identifiers, and see how consumables and paid offers work. - [Subscription Management](/docs/dashboard/subscription-management): See how Superwall manages subscription states end-to-end, surface that data in the dashboard, and distribute updates across your stack. - [Paywall Surveys](/docs/dashboard/surveys): Add exit and post-purchase surveys to Superwall paywalls to learn why users decline or buy. Create surveys, attach them to paywalls and view responses. - [Paywall Templates](/docs/dashboard/templates): Use our template library to jump-start your paywall design process. Either plug in your products, switch them up to fit your needs, or remix them altogether. - [Changelog](/docs/expo/changelog): Release notes for the Superwall Expo SDK - [Cohorting in 3rd Party Tools](/docs/expo/guides/3rd-party-analytics/cohorting-in-3rd-party-tools): To easily view Superwall cohorts in 3rd party tools, we recommend you set user attributes based on the experiments that users are included in. You can also use custom placements for creating analytics events for actions such as interacting with an element on a paywall. - [Custom Paywall Analytics](/docs/expo/guides/3rd-party-analytics/custom-paywall-analytics): Learn how to log events from paywalls, such as a button tap or product change, to forward to your analytics service. - [3rd Party Analytics](/docs/expo/guides/3rd-party-analytics): Forward Superwall events to your own analytics in an Expo app: implement handleSuperwallEvent and send each event name and its params to your tool. - [Superwall Events](/docs/expo/guides/3rd-party-analytics/tracking-analytics): The SDK automatically tracks some events, which power the charts in the dashboard. - [Advanced Purchasing](/docs/expo/guides/advanced-configuration): If you need fine-grain control over the purchasing pipeline, use a purchase controller to manually handle purchases and subscription status. - [Custom Paywall Actions](/docs/expo/guides/advanced/custom-paywall-actions): Run your own Expo app code when a paywall button is tapped: add a custom action in the paywall editor and handle it with handleCustomPaywallAction. - [Game Controller Support](/docs/expo/guides/advanced/game-controller-support): Let users navigate Superwall paywalls with a game controller in your Expo app. Set isGameControllerEnabled to true and Superwall forwards gamepad input. - [Observer Mode](/docs/expo/guides/advanced/observer-mode): Report purchases made outside Superwall in your Expo app with observer mode and shouldObservePurchases, and see what Android needs from native code. - [Retrieving and Presenting a Paywall Yourself](/docs/expo/guides/advanced/presenting-paywalls): Show a Superwall paywall yourself in Expo with the PaywallView component, in a Modal or your own layout, and handle skips, errors and dismissals. - [Using the Presentation Handler](/docs/expo/guides/advanced/using-the-presentation-handler): Track when a paywall presents, dismisses, errors or is skipped in your Expo app by passing onPresent, onDismiss, onError and onSkip to usePlacement. - [Viewing Purchased Products](/docs/expo/guides/advanced/viewing-purchased-products): See which product a user bought from a Superwall paywall in your Expo app, using the presentation handler's onDismiss, the delegate, or a purchase controller. - [Configuring](/docs/expo/guides/configuring): Set Expo SDK options on SuperwallProvider, such as observer mode, test mode, Customer Center, iOS ad consent and the Android paywall presentation host. - [Consumable Products](/docs/expo/guides/consumable-products): Set up consumable products for Superwall paywalls in Expo apps. - [Customer Center](/docs/expo/guides/customer-center): Let customers manage purchases, restore transactions, request refunds, and contact support from a native screen. - [Debugging](/docs/expo/guides/debugging): Common issues and solutions when integrating the Superwall Expo SDK. - [Experimental Flags](/docs/expo/guides/experimental-flags): Turn on Superwall experimental flags in Expo to filter campaigns by subscription period type, state and auto-renew status, such as cancelled trials. iOS only. - [Handling Deep Links](/docs/expo/guides/handling-deep-links): Use handleDeepLink and campaign rules to present paywalls from deep links without hardcoding logic in your app. - [Local Resources](/docs/expo/guides/local-resources): Bundle images, videos, and other assets in your app so paywalls can load them instantly from the device. - [Managing Users](/docs/expo/guides/managing-users): Learn how to manage users in your app. - [Migrating from React Native SDK](/docs/expo/guides/migrating-react-native): Guide to migrating from the legacy React Native SDK - [Migrating from v1 to v2 - React Native](/docs/expo/guides/migrations/migrating-to-v2): SuperwallKit 2.0 is a major release of Superwall's React Native SDK. This introduces breaking changes. - [Setting a Locale](/docs/expo/guides/setting-locale): Override the default device locale when using the Expo SDK so you can preview localized paywalls and targeting. - [StoreKit testing (iOS only)](/docs/expo/guides/testing-purchases): How to set up StoreKit testing for iOS when using the Expo SDK. - [Using Expo SDK in Bare React Native Apps](/docs/expo/guides/using-expo-sdk-in-bare-react-native): Install Superwall's Expo SDK in existing React Native projects without Expo - [Using RevenueCat](/docs/expo/guides/using-revenuecat): If you want to use RevenueCat to handle your subscription-related logic with Superwall, follow this guide. - [Using the Superwall Delegate](/docs/expo/guides/using-superwall-delegate): Respond to Superwall events, custom paywall actions, subscription status changes and paywall events in Expo with useSuperwallEvents or the compat delegate. - [Using your own backend](/docs/expo/guides/using-your-own-backend): If you handle subscription logic and receipt validation on your own backend, follow this guide to keep Superwall in sync. - [Web Checkout](/docs/expo/guides/web-checkout): Integrate Superwall web checkout with your app for seamless cross-platform subscriptions - [Redeeming In-App](/docs/expo/guides/web-checkout/linking-membership-to-iOS-app): Handle a deep link in your app and use the delegate methods. - [Post-Checkout Redirecting](/docs/expo/guides/web-checkout/post-checkout-redirecting): Learn how to handle users redirecting back to your app after a web purchase. - [Using RevenueCat](/docs/expo/guides/web-checkout/using-revenuecat): Handle a deep link in your app and use the delegate methods to link web checkouts with RevenueCat. - [Welcome](/docs/expo): Welcome to the Superwall Expo SDK documentation - [Configure the SDK](/docs/expo/quickstart/configure): Configure the Superwall Expo SDK when your app launches: copy your Public API Key from Settings > Keys and wrap your app in SuperwallProvider. - [Feature Gating](/docs/expo/quickstart/feature-gating): Gate features behind Superwall paywalls in Expo by registering placements. Covers gated vs. non-gated paywalls, how audiences decide, and presentation results. - [Handling Deep Links](/docs/expo/quickstart/in-app-paywall-previews): Set up deep links in your Expo app to preview Superwall paywalls on device, open campaigns, and redeem web checkout purchases through Android App Links. - [Install the SDK](/docs/expo/quickstart/install): Install the Superwall React Native SDK via your favorite package manager. - [Present Your First Paywall](/docs/expo/quickstart/present-first-paywall): Learn how to present paywalls in your app. - [Setting User Attributes](/docs/expo/quickstart/setting-user-properties): Set user attributes from your Expo app to show user data on Superwall paywalls and target audiences. Attributes merge, and passing null removes one. - [Tracking Subscription State](/docs/expo/quickstart/tracking-subscription-state): Here's how to view whether or not a user is on a paid plan in React Native. - [User Management](/docs/expo/quickstart/user-management): Identify users in your Expo app with Superwall: anonymous IDs, identify and reset, passing user IDs to Google Play, and choosing safe, unique user IDs. - [CustomPurchaseControllerProvider](/docs/expo/sdk-reference/components/CustomPurchaseControllerProvider): A modern, hooks-based approach to handling purchases and purchase restores with the Superwall SDK. - [PaywallView](/docs/expo/sdk-reference/components/PaywallView): Embed a Superwall paywall inline in your React Native layout, instead of presenting it full-screen. - [SuperwallError](/docs/expo/sdk-reference/components/SuperwallError): Show fallback UI when Superwall fails to configure in Expo with the SuperwallError component, using static children or a render function that gets the error. - [SuperwallLoaded](/docs/expo/sdk-reference/components/SuperwallLoaded): Render parts of your Expo app only after Superwall finishes configuring with the SuperwallLoaded component. It renders nothing while loading or on error. - [SuperwallLoading](/docs/expo/sdk-reference/components/SuperwallLoading): Show a loading indicator while the Superwall Expo SDK initializes with the SuperwallLoading component. It renders nothing once configured or on error. - [SuperwallProvider](/docs/expo/sdk-reference/components/SuperwallProvider): Initialize the Superwall Expo SDK with the SuperwallProvider component: pass iOS and Android API keys, options, an error callback, and Android back handling. - [Customer Center](/docs/expo/sdk-reference/customer-center): Expo Customer Center presentation methods, options, configuration, and related types. - [consume()](/docs/expo/sdk-reference/hooks/consume): Consume a Google Play purchase token from the Expo hooks or compat API. - [getCustomerInfo()](/docs/expo/sdk-reference/hooks/getCustomerInfo): Fetch the customer's latest subscription and purchase info snapshot. - [getPresentationResult()](/docs/expo/sdk-reference/hooks/getPresentationResult): Check the outcome of a placement without presenting a paywall. - [purchase() / products()](/docs/expo/sdk-reference/hooks/purchase): Initiate a standalone purchase and fetch store product details outside of a paywall. - [queryInAppPurchases()](/docs/expo/sdk-reference/hooks/queryInAppPurchases): Query owned one-time Google Play purchases from the Expo SDK. - [togglePaywallSpinner()](/docs/expo/sdk-reference/hooks/togglePaywallSpinner): Show or hide the loading spinner on the currently presented paywall. - [usePlacement](/docs/expo/sdk-reference/hooks/usePlacement): A React hook that registers a placement so it can remotely trigger a paywall, gate feature access, and expose paywall-lifecycle state. - [useSuperwall](/docs/expo/sdk-reference/hooks/useSuperwall): Read Superwall SDK state and call actions in Expo with the useSuperwall hook, such as registerPlacement, identify, purchase and getCustomerInfo. - [useSuperwallEvents](/docs/expo/sdk-reference/hooks/useSuperwallEvents): Subscribe to any Superwall SDK event in Expo with the useSuperwallEvents hook, from paywall present and dismiss to purchases, custom actions and logs. - [useUser](/docs/expo/sdk-reference/hooks/useUser): Manage users in Expo with the useUser hook: identify and sign out users, update attributes, and read subscription status, entitlements and customer info. - [Overview](/docs/expo/sdk-reference): Reference documentation for the Superwall Expo SDK. - [Changelog](/docs/flutter/changelog): Release notes for the Superwall Flutter SDK - [Cohorting in 3rd Party Tools](/docs/flutter/guides/3rd-party-analytics/cohorting-in-3rd-party-tools): To easily view Superwall cohorts in 3rd party tools, we recommend you set user attributes based on the experiments that users are included in. You can also use custom placements for creating analytics events for actions such as interacting with an element on a paywall. - [Custom Paywall Analytics](/docs/flutter/guides/3rd-party-analytics/custom-paywall-analytics): Learn how to log events from paywalls, such as a button tap or product change, to forward to your analytics service. - [3rd Party Analytics](/docs/flutter/guides/3rd-party-analytics): Forward Superwall events to your own analytics in a Flutter app: implement handleSuperwallEvent on SuperwallDelegate and send each event and its params. - [Superwall Events](/docs/flutter/guides/3rd-party-analytics/tracking-analytics): The SDK automatically tracks some events, which power the charts in the dashboard. - [Advanced Purchasing](/docs/flutter/guides/advanced-configuration): If you need fine-grain control over the purchasing pipeline, use a purchase controller to manually handle purchases and subscription status. - [Custom Paywall Actions](/docs/flutter/guides/advanced/custom-paywall-actions): Run your own Flutter app code when a paywall button is tapped: add a custom action in the paywall editor and handle it in handleCustomPaywallAction. - [Game Controller Support](/docs/flutter/guides/advanced/game-controller-support): Let users navigate Superwall paywalls with a game controller in your Flutter app. Set isGameControllerEnabled to true and Superwall forwards gamepad input. - [Observer Mode](/docs/flutter/guides/advanced/observer-mode): Report purchases made outside Superwall in your Flutter app with observer mode and shouldObservePurchases, and see what Android needs from native code. - [Retrieving and Presenting a Paywall Yourself](/docs/flutter/guides/advanced/presenting-paywalls): Control what happens around a paywall in Flutter with a PaywallPresentationHandler on registerPlacement, since Flutter has no getPaywall. - [Using the Presentation Handler](/docs/flutter/guides/advanced/using-the-presentation-handler): Track when a paywall presents, dismisses, errors or is skipped in your Flutter app by attaching a PaywallPresentationHandler when you register a placement. - [Viewing Purchased Products](/docs/flutter/guides/advanced/viewing-purchased-products): See which product a user bought from a Superwall paywall in Flutter, using the presentation handler's onDismiss, SuperwallDelegate, or a purchase controller. - [Advanced Configuration](/docs/flutter/guides/configuring): When configuring the SDK you can pass in options that configure Superwall, the paywall presentation, and its appearance. - [Consumable Products](/docs/flutter/guides/consumable-products): Set up consumable products for Superwall paywalls in Flutter apps. - [Experimental Flags](/docs/flutter/guides/experimental-flags): Turn on Superwall experimental flags in Flutter to filter campaigns by subscription period type, state and auto-renew status, like cancelled trials. iOS only. - [Handling Deep Links](/docs/flutter/guides/handling-deep-links): Use handleDeepLink and campaign rules to present paywalls from deep links without hardcoding logic in your app. - [Migrating from v1 to v2 - Flutter](/docs/flutter/guides/migrations/migrating-to-v2): SuperwallKit 2.0 is a major release of Superwall's Flutter SDK. This introduces breaking changes. - [Using Superwall Deep Links](/docs/flutter/guides/superwall-deep-links): (iOS only) How to use Superwall Deep Links to trigger paywalls or custom in-app behavior. - [StoreKit testing (iOS only)](/docs/flutter/guides/testing-purchases): How to set up StoreKit testing for iOS when using the Flutter SDK. - [Using RevenueCat](/docs/flutter/guides/using-revenuecat): Use RevenueCat with Superwall in Flutter, either through a purchase controller that syncs subscription status or with RevenueCat's PurchasesAreCompletedBy. - [Using the Superwall Delegate](/docs/flutter/guides/using-superwall-delegate): Use SuperwallDelegate in Flutter to forward Superwall events to analytics, handle custom paywall actions, and react to subscription status and paywall events. - [Using your own backend](/docs/flutter/guides/using-your-own-backend): If you handle subscription logic and receipt validation on your own backend, follow this guide to keep Superwall in sync. - [Web Checkout](/docs/flutter/guides/web-checkout): Integrate Superwall web checkout with your app for seamless cross-platform subscriptions - [Redeeming In-App](/docs/flutter/guides/web-checkout/linking-membership-to-iOS-app): Handle a deep link in your app and use the delegate methods. - [Post-Checkout Redirecting](/docs/flutter/guides/web-checkout/post-checkout-redirecting): Learn how to handle users redirecting back to your app after a web purchase. - [Using RevenueCat](/docs/flutter/guides/web-checkout/using-revenuecat): Handle a deep link in your app and use the delegate methods to link web checkouts with RevenueCat in Flutter. - [Welcome](/docs/flutter): Welcome to the Superwall Flutter SDK documentation - [Configure the SDK](/docs/flutter/quickstart/configure): Configure the Superwall Flutter SDK when your app launches: copy your Public API Key from Settings > Keys and call Superwall.configure in main.dart. - [Presenting Paywalls](/docs/flutter/quickstart/feature-gating): Control access to premium features with Superwall placements. - [Handling Deep Links](/docs/flutter/quickstart/in-app-paywall-previews): Set up deep links in your Flutter app to preview Superwall paywalls on device, open campaigns, and redeem web checkout purchases through Android App Links. - [Install the SDK](/docs/flutter/quickstart/install): Install the Superwall Flutter SDK via pub package manager. - [Setting User Attributes](/docs/flutter/quickstart/setting-user-properties): Set user attributes from your Flutter app to show user data on Superwall paywalls and target audiences. Attributes merge; null values aren't supported yet. - [Tracking Subscription State](/docs/flutter/quickstart/tracking-subscription-state): Here's how to view whether or not a user is on a paid plan in Flutter. - [User Management](/docs/flutter/quickstart/user-management): Identify users in your Flutter app with Superwall: anonymous IDs, identify and reset, passing user IDs to Google Play, and choosing safe, unique user IDs. - [CustomerInfo](/docs/flutter/sdk-reference/CustomerInfo): Contains the latest subscription and entitlement information about the customer. - [Entitlements](/docs/flutter/sdk-reference/Entitlements): Container for all entitlements available to the user, organized by status. - [IntegrationAttribute](/docs/flutter/sdk-reference/IntegrationAttribute): Attributes for third-party integrations with Superwall. - [NonSubscriptionTransaction](/docs/flutter/sdk-reference/NonSubscriptionTransaction): Represents a non-subscription transaction (consumables and non-consumables). - [PaywallOptions](/docs/flutter/sdk-reference/PaywallOptions): Configuration for paywall presentation and behavior in the Superwall Flutter SDK. - [PaywallPresentationHandler](/docs/flutter/sdk-reference/PaywallPresentationHandler): A handler class that provides status updates for paywall presentation in registerPlacement() calls. - [PresentationResult](/docs/flutter/sdk-reference/PresentationResult): The result of a paywall presentation attempt. - [PurchaseController](/docs/flutter/sdk-reference/PurchaseController): An abstract class for handling custom purchase flows and subscription management. - [RedemptionResult](/docs/flutter/sdk-reference/RedemptionResult): Result types returned when the Flutter SDK redeems a web checkout link. - [StoreIdentifiers](/docs/flutter/sdk-reference/StoreIdentifiers): Store-specific identifiers returned with successful Flutter web checkout redemptions. - [StoreTransaction](/docs/flutter/sdk-reference/StoreTransaction): A public wrapper around store transaction data in Flutter SDK events. - [SubscriptionTransaction](/docs/flutter/sdk-reference/SubscriptionTransaction): Represents a subscription transaction in the customer's purchase history. - [Superwall.shared](/docs/flutter/sdk-reference/Superwall): The shared Superwall instance that provides access to all SDK methods. - [SuperwallDelegate](/docs/flutter/sdk-reference/SuperwallDelegate): An abstract class that receives global SDK events for analytics and lifecycle management. - [SuperwallOptions](/docs/flutter/sdk-reference/SuperwallOptions): Configuration options for customizing Superwall SDK behavior. - [TransactionProduct](/docs/flutter/sdk-reference/TransactionProduct): A public product identifier wrapper exported by the Flutter SDK. - [setSubscriptionStatus()](/docs/flutter/sdk-reference/advanced/setSubscriptionStatus): Manually sets the user's subscription status when using a custom PurchaseController. - [configure()](/docs/flutter/sdk-reference/configure): A static method that configures the Superwall SDK with your API key. - [consume()](/docs/flutter/sdk-reference/consume): Consumes an in-app purchase by its purchase token. - [getCustomerInfo()](/docs/flutter/sdk-reference/getCustomerInfo): Gets the latest customer information including subscriptions, transactions, and entitlements. - [getEntitlements()](/docs/flutter/sdk-reference/getEntitlements): Gets all entitlements available to the user, organized by status. - [getPresentationResult()](/docs/flutter/sdk-reference/getPresentationResult): Check the outcome of a placement without presenting a paywall. - [getUserId()](/docs/flutter/sdk-reference/getUserId): Gets the current user ID that was set via identify(). - [handleDeepLink()](/docs/flutter/sdk-reference/handleDeepLink): Processes deep links to trigger paywall previews and handle Superwall URLs. - [identify()](/docs/flutter/sdk-reference/identify): Associates a user ID with the current user for analytics and user tracking. - [Overview](/docs/flutter/sdk-reference): Reference documentation for the Superwall Flutter SDK. - [overrideProductsByName](/docs/flutter/sdk-reference/overrideProductsByName): Globally override products on any paywall by product name. - [registerPlacement()](/docs/flutter/sdk-reference/register): A function that registers a placement that can be remotely configured to show a paywall and gate feature access. - [setIntegrationAttribute()](/docs/flutter/sdk-reference/setIntegrationAttribute): Sets a single attribute for third-party integrations. - [setIntegrationAttributes()](/docs/flutter/sdk-reference/setIntegrationAttributes): Sets multiple attributes for third-party integrations at once. - [setUserAttributes()](/docs/flutter/sdk-reference/setUserAttributes): Sets custom attributes for the current user that can be used in campaign targeting. - [subscriptionStatus](/docs/flutter/sdk-reference/subscriptionStatus): A Stream that emits the user's current subscription status whenever it changes. - [Framework Actions](/docs/framework/actions): Close the paywall, restore purchases, open links, request OS permissions, and call back into your app, everything a paywall asks its host to do. - [Framework Assets](/docs/framework/assets): Add images, video, audio, fonts, and animations to a paywall by importing files. The build handles optimization, hosting, and caching. - [Build Paywalls with an AI Agent](/docs/framework/build-with-an-agent): Describe a paywall in plain English and let an AI agent build it, preview it in the studio, and ship it to Superwall. No commands to type. - [CLI Reference](/docs/framework/cli): Every superwall command (create, dev, push, promote, publish) with flags, auth, and the checks that run before anything ships. - [Framework Configuration](/docs/framework/config): Everything definePaywall accepts, products, background, transitions, trial reminders, and the behavior settings that shape a paywall. - [Framework Examples](/docs/framework/examples): Complete, standalone example projects, each teaching exactly one idea, from a minimal paywall to trials, funnels, and Rive animations. - [Hooks Reference](/docs/framework/hooks): Every hook the framework provides, signatures, what each returns, and the semantics that matter. - [Host Protocol](/docs/framework/host-protocol): The messages a paywall exchanges with whoever is showing it — the SDK on a device, the studio locally, the dashboard in a browser — and what each side promises. - [Superwall Framework](/docs/framework): Build paywalls, onboarding funnels, and web checkout flows as React mini-apps, in your repo, with your tools, shipped without an app update. - [Lifecycle & Events](/docs/framework/lifecycle): What a paywall knows and when, the preload rule that shapes every entry animation, and the SDK events you can react to. - [Framework Localization](/docs/framework/localization): Ship a Superwall Framework paywall in multiple languages by adding one message file per locale, then read strings with useTranslation() and set fallbacks. - [Migrating from the editor](/docs/framework/migrate-from-editor): Rebuild a paywall made in Superwall's visual editor as a framework paywall: what the CLI scaffolds, what an agent rebuilds, how you review it against the original, and how the switch happens. - [Migrating native screens](/docs/framework/migrate-native-screens): Turn a SwiftUI, UIKit, Jetpack Compose, Android Views, React Native or Flutter screen into a Superwall surface the app can change without a release: what the CLI reads from the source, what an agent rebuilds, how you review it against a simulator screenshot, and how the app is wired afterwards. - [Pages & Navigation](/docs/framework/navigation): Build multi-page paywalls, onboardings, and funnels with file-based pages and a stack router, no network between steps, no loading spinners. - [Framework Products](/docs/framework/products): Declare product slots in config.ts, read live store data through useProducts, and follow the three rules that keep prices honest. - [Project Structure](/docs/framework/project-structure): How a superwall/ directory is laid out, the two files the CLI manages, and the rules that keep a project portable. - [Framework Purchases](/docs/framework/purchases): Make the sale with usePurchase, handle completed, abandoned, and failed outcomes, restore purchases, and react to transactions from anywhere. - [Push, Promote & Publish](/docs/framework/push-and-promote): Ship paywalls with git semantics: push seals a version, promote points production at it, publish does both, and pull brings in teammates' work. - [Framework Quickstart](/docs/framework/quickstart): Scaffold a Superwall Framework project with superwall create, preview your first code-first paywall in the local studio, then push and promote it to production. - [The Studio](/docs/framework/studio): Preview every paywall locally with superwall dev: devices, themes, locales, live variables, and purchase, restore, permission and callback outcomes you choose. - [Framework Styling](/docs/framework/styling): Style Superwall Framework paywalls with plain CSS or Tailwind, using the dark and light color-scheme class, the background color, insets, and safe areas. - [Framework Teleport](/docs/framework/teleport): Continue a flow on the web from a route on: an iOS app hands the shopper to their browser, they pay with Stripe there, and come back to the app with access. - [Framework Page Transitions](/docs/framework/transitions): Use the Superwall Framework's five built-in page transitions, set them per call, page, or surface, tune them with CSS variables, or write your own. - [Free Trials](/docs/framework/trials): Fork your paywall on trial eligibility the store reports, pull trial terms from product variables, and remind users before a trial ends. - [Framework Troubleshooting](/docs/framework/troubleshooting): Fix common Superwall Framework CLI errors and runtime surprises, from 'Not a superwall project' and missing products to diagnostics that block a push. - [Variables & Personalization](/docs/framework/variables): React to user attributes, device state, and placement parameters, and write paywalls the dashboard can experiment on without a rebuild. - [Web Checkout](/docs/framework/web-checkout): Sell the same paywall on the web with one config key, Stripe payment in a sheet, Apple Pay, or a hosted checkout page, with purchase() unchanged. - [Web Funnels](/docs/framework/web-funnels): Quizzes and checkout funnels on the web: one paywall whose steps are pages, every answer kept in the URL so the flow survives any browser hand-off, and payment at the end. - [Adjust](/docs/integrations/adjust): The Adjust integration automatically sends Superwall subscription and payment events to Adjust via the server-to-server (S2S) event API. Configure per-platform app tokens, map individual event tokens, and track subscription lifecycle events with device-level attribution. - [Airbridge](/docs/integrations/airbridge): The Airbridge integration forwards Superwall webhook events to Airbridge, so subscription revenue is attributed to the campaigns and ads that drove it. - [Amplitude](/docs/integrations/amplitude): The Amplitude integration automatically sends Superwall subscription and payment events to your Amplitude project. Track subscription lifecycle events, analyze revenue metrics, and understand user behavior with automatic event mapping and revenue tracking. - [Retention Campaigns](/docs/integrations/apple-retention-messaging-campaigns): A/B test Apple retention messages with retention campaigns. Choose which subscribers see which message, split traffic between messages, and compare save rates. - [Apple Retention Messaging](/docs/integrations/apple-retention-messaging): Set up Apple's Retention Messaging API in Superwall, create retention messages for Apple to approve, and choose which subscribers see them. - [Apple Search Ads](/docs/integrations/apple-search-ads): Integrate Apple Search Ads with Superwall. View details on users acquired via search ads, visualize conversions from Apple Search Ads in charts, and create powerful campaign filters to target users using search ad data. Search ad integration requires 3.12.0 of the Superwall SDK or higher. - [Appstack](/docs/integrations/appstack): The Appstack integration forwards Superwall webhook events directly to Appstack for analytics and attribution. As a pass-through integration, it sends the raw event payload without transformation, giving Appstack full access to your subscription lifecycle data. - [AppStance](/docs/integrations/appstance): The AppStance integration sends Superwall subscription and payment events to the AppStance platform for Apple Ads ROAS optimization. Automatically forward iOS transaction data with Apple Search Ads attribution for campaign performance analysis. - [Customer.io](/docs/integrations/customer-io): The Customer.io integration sends subscription lifecycle events from Superwall to Customer.io's Data Pipelines API. This enables you to trigger targeted messaging campaigns, build user segments based on subscription behavior, and track the complete customer journey from trial to paid subscriber. - [Discord](/docs/integrations/discord): The Discord integration sends real-time subscription notifications to your Discord channels via webhooks. Get instant visibility into subscription activity with beautifully formatted, color-coded embed messages that make it easy to monitor revenue, track trials, and respond to billing issues as they happen. - [Facebook Pixel](/docs/integrations/facebook-pixel): Track browser-side paywall and checkout events from Superwall web paywalls with Facebook Pixel. This integration injects Meta's client-side Pixel script and maps Web2App events to Pixel events. - [Figma Plugin](/docs/integrations/figma-plugin): The Superwall Figma Plugin allows designers to convert Figma designs into fully functional paywalls with one click. - [Firebase](/docs/integrations/firebase): The Firebase integration automatically sends Superwall subscription and payment events to Firebase Analytics (Google Analytics 4) using the Measurement Protocol. Track subscription lifecycle events, analyze revenue metrics, and leverage Firebase's powerful analytics capabilities. - [Google Ads](/docs/integrations/google-ads): Run Google Ads with Superwall as your mobile measurement partner. Superwall attributes installs to your campaigns and uploads conversions back to Google Ads. - [Integrations](/docs/integrations): Connect Superwall to revenue tracking, webhooks, analytics, ad networks and messaging tools. See what each section of the Integrations page does. - [Meta Qualified Events](/docs/integrations/meta-ads-qualified-events): Send Meta an extra conversion for only the purchases you want more of, filtered by country, product or user properties and optionally held until the purchase survives a wait. - [Meta Ads](/docs/integrations/meta-ads): Run Meta ads with Superwall as your mobile measurement partner. Superwall attributes installs to your campaigns and sends conversion events back to Meta. - [Meta Conversion API](/docs/integrations/meta-conversion-api): Send subscription lifecycle events from Superwall to Meta's server-side Conversion API. Use this integration to report subscriptions, renewals, cancellations, refunds, and other revenue events to your Meta Pixel. - [Mixpanel](/docs/integrations/mixpanel): The Mixpanel integration allows you to automatically send Superwall subscription and payment events to your Mixpanel project. - [Superwall as your MMP](/docs/integrations/mmp): Use Superwall as your mobile measurement partner (MMP). Attribute installs to your ad campaigns, send conversion events back to ad networks, and measure ROAS without adding another SDK. - [OneSignal](/docs/integrations/onesignal): Sync Superwall subscription state to OneSignal user tags for messaging, segmentation, and Journeys. - [PostHog](/docs/integrations/posthog): The PostHog integration automatically sends Superwall subscription and payment events to your PostHog project using the Batch API. Track subscription lifecycle events, analyze revenue metrics, and enrich user profiles with automatic event mapping and minor-unit revenue conversion. - [Reddit Ads](/docs/integrations/reddit-ads): Run Reddit ads with Superwall as your MMP: send conversions to your Reddit Pixel, attribute installs to campaigns, and import ad spend. - [Singular](/docs/integrations/singular): Connect Singular to receive Superwall subscription lifecycle and revenue events, with SDID support for stronger attribution. - [Slack](/docs/integrations/slack): The Slack integration sends real-time notifications about subscription events to your Slack channels. Get instant updates about new subscribers, cancellations, renewals, and revenue changes with rich, color-coded messages and contextual emojis. - [Statsig](/docs/integrations/statsig): The Statsig integration allows you to automatically send Superwall subscription and payment events to your Statsig project. This integration provides comprehensive event tracking with user properties for experimentation and analytics. - [Webhooks](/docs/integrations/webhooks): Use webhooks to get real-time notifications about your app's subscription and payment events. - [Webhooks V2](/docs/integrations/webhooks/v2): Receive subscription lifecycle events with the subscriber's current state, identity and attributes in every payload. - [Verify Webhook Requests](/docs/integrations/webhooks/verify): Learn how to verify webhook requests using the signing secret to ensure authenticity and security. - [Interactive Paywall Preview](/docs/interactive-paywall-preview): The interactive paywall preview shows how your paywall looks on certain iOS devices, for different configurations: - [Changelog](/docs/ios/changelog): Release notes for the Superwall iOS SDK - [Cohorting in 3rd Party Tools](/docs/ios/guides/3rd-party-analytics/cohorting-in-3rd-party-tools): To easily view Superwall cohorts in 3rd party tools, we recommend you set user attributes based on the experiments that users are included in. You can also use custom placements for creating analytics events for actions such as interacting with an element on a paywall. - [Custom Paywall Analytics](/docs/ios/guides/3rd-party-analytics/custom-paywall-analytics): Learn how to log events from paywalls, such as a button tap or product change, to forward to your analytics service. - [3rd Party Analytics](/docs/ios/guides/3rd-party-analytics): Forward Superwall events to your own analytics tool on iOS with handleSuperwallEvent(withInfo:) in SuperwallDelegate, with typed cases for each event. - [Superwall Events](/docs/ios/guides/3rd-party-analytics/tracking-analytics): The SDK automatically tracks some events, which power the charts in the dashboard. - [Advanced Purchasing](/docs/ios/guides/advanced-configuration): If you need fine-grain control over the purchasing pipeline, use a purchase controller to manually handle purchases and subscription status. - [Custom callbacks](/docs/ios/guides/advanced/custom-callbacks): Handle custom callback requests from paywalls to run app-side logic and return results. - [Custom Paywall Actions](/docs/ios/guides/advanced/custom-paywall-actions): Run your own iOS code when a paywall button is tapped. Give the element a custom action in Superwall, then handle it in handleCustomPaywallAction(withName:). - [Purchasing Products Outside of a Paywall](/docs/ios/guides/advanced/direct-purchasing): Buy products outside a paywall with Superwall's purchase method on iOS, using StoreKit 1, StoreKit 2 or StoreProduct, then read the PurchaseResult. - [Game Controller Support](/docs/ios/guides/advanced/game-controller-support): Let players navigate Superwall paywalls with a game controller on iOS. Turn on isGameControllerEnabled, then forward input with gamepadValueChanged. - [Observer Mode](/docs/ios/guides/advanced/observer-mode): Report StoreKit purchases made outside Superwall on iOS with observer mode, so the transactions show up in your dashboard. Covers StoreKit 1 and 2. - [Retrieving and Presenting a Paywall Yourself](/docs/ios/guides/advanced/presenting-paywalls): Get a paywall yourself with getPaywall on iOS and present the PaywallViewController or SwiftUI PaywallView however you like, with skip and error handling. - [Request permissions from paywalls](/docs/ios/guides/advanced/request-permissions-from-paywalls): Trigger the iOS system permission dialog directly from a Superwall paywall action. - [Using the Presentation Handler](/docs/ios/guides/advanced/using-the-presentation-handler): Track when an iOS paywall presents, dismisses, errors or is skipped by passing a PaywallPresentationHandler to register in the Superwall SDK. - [Viewing Purchased Products](/docs/ios/guides/advanced/viewing-purchased-products): See which product a user bought from a Superwall paywall on iOS, with the presentation handler, SuperwallDelegate, a purchase controller or PaywallView. - [App Store Privacy Labels](/docs/ios/guides/app-privacy-nutrition-labels): Fill out App Store privacy nutrition labels for an iOS app that uses the Superwall SDK: which data types to select and a full list of the data it collects. - [Advanced Configuration](/docs/ios/guides/configuring): When configuring the SDK you can pass in options that configure Superwall, the paywall presentation, and its appearance. - [Consumable Products](/docs/ios/guides/consumable-products): Set up consumable products for Superwall paywalls on iOS. - [Custom Store Products](/docs/ios/guides/custom-store-products): Sell custom store products on Superwall paywalls with dashboard checkout or your own purchase controller, and sync revenue attribution and entitlements. - [Customer Center](/docs/ios/guides/customer-center): Give users a native screen to manage subscriptions, restore purchases, request refunds, and contact support. - [Making Purchases](/docs/ios/guides/direct-purchasing): Purchase any StoreKit product easily, with or without a paywall. - [Article-Style Paywalls: Inline with Additional Plans](/docs/ios/guides/embedded-paywalls-in-scrollviews): Embed an inline paywall in a scrollable article and optionally present a second full-screen paywall for additional plans. - [Experimental Flags](/docs/ios/guides/experimental-flags): Turn on Superwall iOS experimental flags in SuperwallOptions to filter campaigns by subscription period type, subscription state and auto-renew status. - [Handling Deep Links](/docs/ios/guides/handling-deep-links): Use handleDeepLink and campaign rules to present paywalls from deep links without hardcoding logic in your app. - [Overriding Introductory Offer Eligibility](/docs/ios/guides/intro-offer-eligibility-override): Control when users see free trials and intro offers on your paywalls by overriding the default eligibility logic. - [Local Resources](/docs/ios/guides/local-resources): Bundle images, videos, and other media in your app for use in paywalls, enabling faster load times and offline support. - [Native macOS Support](/docs/ios/guides/macos): Add Superwall paywalls to a native AppKit or SwiftUI Mac app, configure purchases and Customer Center, and test window presentation and deep links. - [Migrating from v2 to v3 - iOS](/docs/ios/guides/migrations/migrating-to-v3): SuperwallKit 3.0 is a major release of Superwall's iOS SDK, previously known as `Paywall`. This introduces breaking changes. - [Migrating from v3 to v4 - iOS](/docs/ios/guides/migrations/migrating-to-v4): SuperwallKit 4.0 is a major release of Superwall's iOS SDK. This introduces breaking changes. - [StoreKit 1 vs StoreKit 2](/docs/ios/guides/storekit-versions): Choose StoreKit 1 or StoreKit 2 in the Superwall iOS SDK. See the default, when the SDK uses StoreKit 1 anyway, and which features need StoreKit 2. - [Using Superwall Deep Links](/docs/ios/guides/superwall-deep-links): How to use Superwall Deep Links to trigger paywalls or custom in-app behavior. - [Test Mode](/docs/ios/guides/test-mode): Simulate in-app purchases without StoreKit using test mode, which lets you test your entire paywall flow end-to-end. - [Setting up StoreKit testing](/docs/ios/guides/testing-purchases): Test in-app purchases on Superwall iOS paywalls locally: set up a StoreKit configuration file and scheme in Xcode, then use Transaction Manager. - [Using RevenueCat](/docs/ios/guides/using-revenuecat): Use RevenueCat with Superwall on iOS: build a PurchaseController that handles purchases and restores and syncs entitlements, or use PurchasesAreCompletedBy. - [Using the Superwall Delegate](/docs/ios/guides/using-superwall-delegate): Set the SuperwallDelegate on iOS to handle Superwall events, custom paywall actions, subscription status changes and paywall present or dismiss events. - [Using your own backend](/docs/ios/guides/using-your-own-backend): If you handle subscription logic and receipt validation on your own backend, follow this guide to keep Superwall in sync. - [watchOS and tvOS Support](/docs/ios/guides/watchos-tvos): Track purchases, subscription status and entitlements on Apple Watch and Apple TV with SuperwallKit, and handle placements without paywall presentation. - [Web Checkout](/docs/ios/guides/web-checkout): Integrate Superwall web checkout with your iOS app for seamless cross-platform subscriptions - [Redeeming In-App](/docs/ios/guides/web-checkout/linking-membership-to-iOS-app): Handle a deep link in your app and use the delegate methods. - [Post-Checkout Redirecting](/docs/ios/guides/web-checkout/post-checkout-redirecting): Learn how to handle users redirecting back to your app after a web purchase. - [Using RevenueCat](/docs/ios/guides/web-checkout/using-revenuecat): Handle a deep link in your app and use the delegate methods to link web checkouts with RevenueCat. - [Welcome](/docs/ios): Welcome to the Superwall iOS SDK documentation - [Configure the SDK](/docs/ios/quickstart/configure): Configure the Superwall iOS SDK at app launch in UIKit or SwiftUI with your Public API Key from the dashboard, and optionally pass a PurchaseController. - [Presenting Paywalls](/docs/ios/quickstart/feature-gating): Control access to premium features with Superwall placements - [Handling Deep Links](/docs/ios/quickstart/in-app-paywall-previews): Set up deep links in your iOS app with a URL scheme or Universal Links, pass them to Superwall's handleDeepLink, and preview paywalls on device by QR code. - [Install the SDK](/docs/ios/quickstart/install): Install the Superwall iOS SDK (SuperwallKit) with Swift Package Manager or CocoaPods, check the iOS and Xcode version requirements, and import it in Swift. - [Setting User Attributes](/docs/ios/quickstart/setting-user-properties): Customize paywalls and target users by setting user attributes - [Tracking Subscription State](/docs/ios/quickstart/tracking-subscription-state): Monitor user subscription status in your iOS app - [User Management](/docs/ios/quickstart/user-management): Identifying users and managing their identity in your iOS app - [NonSubscriptionTransaction](/docs/ios/sdk-reference/NonSubscriptionTransaction): Represents a non-subscription transaction (consumables and non-consumables). - [PaywallOptions](/docs/ios/sdk-reference/PaywallOptions): Configuration for paywall presentation and behavior in the Superwall iOS SDK. - [PaywallPresentationHandler](/docs/ios/sdk-reference/PaywallPresentationHandler): A handler class that provides status updates for paywall presentation in register() calls. - [PurchaseController](/docs/ios/sdk-reference/PurchaseController): A protocol for handling Superwall's subscription-related logic with your own purchase implementation. - [SubscriptionTransaction](/docs/ios/sdk-reference/SubscriptionTransaction): Represents a subscription transaction in the customer's purchase history. - [Superwall](/docs/ios/sdk-reference/Superwall): The shared instance of Superwall that provides access to all SDK features. - [SuperwallDelegate](/docs/ios/sdk-reference/SuperwallDelegate): A protocol that handles Superwall lifecycle events and analytics. - [SuperwallEvent](/docs/ios/sdk-reference/SuperwallEvent): An enum representing analytical events that are automatically tracked by Superwall. - [SuperwallOptions](/docs/ios/sdk-reference/SuperwallOptions): A configuration class for customizing paywall appearance and behavior. - [getPaywall()](/docs/ios/sdk-reference/advanced/getPaywall): A function that retrieves a PaywallViewController for custom presentation. - [configure()](/docs/ios/sdk-reference/configure): A static function that configures a shared instance of Superwall for use throughout your app. - [confirmAllAssignments](/docs/ios/sdk-reference/confirmAllAssignments): Confirms all experiment assignments and returns them in an array. - [customerInfo](/docs/ios/sdk-reference/customerInfo): Contains the latest information about all of the customer's purchase and subscription data. - [entitlements](/docs/ios/sdk-reference/entitlements): The entitlements tied to the device, accessible via Superwall.shared.entitlements. - [getCustomerInfo](/docs/ios/sdk-reference/getCustomerInfo): Gets the latest CustomerInfo asynchronously. - [getDeviceAttributes](/docs/ios/sdk-reference/getDeviceAttributes): Gets properties stored about the device that are used in audience filters. - [getPresentationResult()](/docs/ios/sdk-reference/getPresentationResult): Check the outcome of a placement without presenting a paywall. - [handleDeepLink()](/docs/ios/sdk-reference/handleDeepLink): A function that handles deep links and triggers paywalls based on configured campaigns. - [identify()](/docs/ios/sdk-reference/identify): A function that creates an account with Superwall by linking a userId to the automatically generated alias. - [Overview](/docs/ios/sdk-reference): Reference documentation for the Superwall iOS SDK. - [integrationAttributes](/docs/ios/sdk-reference/integrationAttributes): Gets the current integration attributes that have been set. - [localResources](/docs/ios/sdk-reference/localResources): Register local resources so paywalls can load bundled media by resource ID. - [refreshConfiguration](/docs/ios/sdk-reference/refreshConfiguration): Manually refreshes the Superwall configuration. Intended for development and wrapper SDKs. - [refreshCustomerInfo](/docs/ios/sdk-reference/refreshCustomerInfo): Fetch the user's latest entitlements from Superwall after your server reports a purchase, and get updated CustomerInfo with async/await or a completion handler. - [register()](/docs/ios/sdk-reference/register): A function that registers a placement that can be remotely configured to show a paywall and gate feature access. - [setIntegrationAttributes](/docs/ios/sdk-reference/setIntegrationAttributes): Sets integration attributes for third-party analytics and attribution providers. - [setUserAttributes()](/docs/ios/sdk-reference/setUserAttributes): A function that sets user attributes for use in paywalls and analytics on the Superwall dashboard. - [subscriptionStatus](/docs/ios/sdk-reference/subscriptionStatus): A published property that indicates the subscription status of the user. - [userId](/docs/ios/sdk-reference/userId): A property on Superwall.shared that returns the current user's ID. - [Changelog](/docs/kmp/changelog): Release notes for the Superwall KMP SDK - [3rd Party Analytics](/docs/kmp/guides/3rd-party-analytics): Forward Superwall events to your own analytics stack. - [Purchases and Subscription Status](/docs/kmp/guides/advanced-configuration): Own your purchase logic with a PurchaseController. - [Handling Deep Links](/docs/kmp/guides/handling-deep-links): Handle Superwall deep links for paywall previews and web checkout redemption. - [Platform Differences](/docs/kmp/guides/platform-differences): Where Android and iOS behavior is not one-to-one in the KMP SDK. - [Using the Superwall Delegate](/docs/kmp/guides/using-superwall-delegate): Observe the paywall lifecycle and SDK events from shared Kotlin code. - [Welcome](/docs/kmp): Welcome to the Superwall KMP SDK documentation - [Configure the SDK](/docs/kmp/quickstart/configure): Configure Superwall in your shared Kotlin code. - [Feature Gating](/docs/kmp/quickstart/feature-gating): Control access to premium features with Superwall placements. - [Install the SDK](/docs/kmp/quickstart/install): Add the Superwall KMP SDK to your Kotlin Multiplatform project. - [Present your first paywall](/docs/kmp/quickstart/present-first-paywall): Register a placement and present a Superwall paywall from shared code. - [Tracking Subscription State](/docs/kmp/quickstart/tracking-subscription-state): Observe whether a user is on a paid plan from shared Kotlin code. - [User Management](/docs/kmp/quickstart/user-management): Identify users and set attributes from shared Kotlin code. - [Layout Tab](/docs/layout-tab): Add, delete, move, customize, and duplicate paywall elements from the Layout tab of the legacy Superwall paywall editor, which is now deprecated. - [3rd Party Analytics (Legacy)](/docs/legacy/legacy_3rd-party-analytics): Superwall can easily be integrated with 3rd party analytics tools. - [Purchases and Subscription Status (Legacy)](/docs/legacy/legacy_advanced-configuration) - [Cohorting in 3rd Party Tools (Legacy)](/docs/legacy/legacy_cohorting-in-3rd-party-tools): To easily view Superwall cohorts in 3rd party tools, we recommend you set user attributes based on the experiments that users are included in. You can also use custom placements for creating analytic events for actions such as interacting with an element on a paywall. - [Configuring the SDK (Legacy)](/docs/legacy/legacy_configuring-the-sdk): As soon as your app launches, you need to configure the SDK with your **Public API Key**. You'll retrieve this from the Superwall settings page. - [Custom Paywall Actions (Legacy)](/docs/legacy/legacy_custom-paywall-events): You can set the click behavior of any element on a paywall to be a custom paywall action. This allows you to tie any tap in your paywall to hard-coded application logic. - [Showing Paywalls (Legacy)](/docs/legacy/legacy_feature-gating): At the heart of Superwall's SDK lies `Superwall.shared.register(event:params:handler:feature:)`. - [User Management (Legacy)](/docs/legacy/legacy_identity-management): It is necessary to uniquely identify users to track their journey within Superwall. - [Deep Links and In-App Previews (Legacy)](/docs/legacy/legacy_in-app-paywall-previews): It's important to tell Superwall when a deep link has been opened. This enables two things: - [iOS - CocoaPods (Legacy)](/docs/legacy/legacy_installation-via-cocoapods): Install the Superwall iOS SDK via CocoaPods. To see the latest release, [check out the repository](https://github.com/superwall/Superwall-iOS). - [Android - Gradle (Legacy)](/docs/legacy/legacy_installation-via-gradle): Install the Superwall Android SDK via Gradle. To see the latest release, [check out the repository](https://github.com/superwall/Superwall-Android). - [React Native - Package.json (Legacy)](/docs/legacy/legacy_installation-via-package): Install the Superwall React Native SDK via npm or yarn. To see the latest release, [check out the repository](https://github.com/superwall/react-native-superwall). - [Flutter - pubspec.yaml (Legacy)](/docs/legacy/legacy_installation-via-pubspec): Install the Superwall Flutter SDK via pub package manager. To see the latest release, [check out the repository](https://github.com/superwall/Superwall-Flutter). - [iOS - Swift Package Manager (Legacy)](/docs/legacy/legacy_installation-via-spm): Install the Superwall iOS SDK via Swift Package Manager. To see the latest release, [check out the repository](https://github.com/superwall/Superwall-iOS). - [Installation (Legacy)](/docs/legacy/legacy_installation): Superwall can be installed with many different package managers. Please find your preferred package manager below. - [Pre-Launch Checklist (Legacy)](/docs/legacy/legacy_pre-launch-checklist): Ready to ship your app with Superwall? Here is a last minute checklist to give you confidence that you're ready to ship without issue. - [Presenting Paywalls from One Another (Legacy)](/docs/legacy/legacy_presenting-paywalls-from-one-another): Learn how to present a different paywall from one that's already presented. - [Retrieving and Presenting a Paywall Yourself (Legacy)](/docs/legacy/legacy_presenting): Use this technique to get an instance of a paywall manually, using either UIKit, SwiftUI, or Jetpack Compose. - [Setting User Attributes (Legacy)](/docs/legacy/legacy_setting-user-properties): By setting user attributes, you can display information about the user on the paywall. You can also define [audiences](/dashboard/dashboard-campaigns/campaigns-audience) in a campaign to determine which paywall to show to a user, based on their user attributes. - [Superwall Events (Legacy)](/docs/legacy/legacy_tracking-analytics): The SDK automatically tracks some events, which power the charts in the dashboard. - [Troubleshooting (Legacy)](/docs/legacy/legacy_troubleshooting) - [Using RevenueCat (Legacy)](/docs/legacy/legacy_using-revenuecat): If you want to use RevenueCat to handle your subscription-related logic with Superwall, follow this guide. - [Using the Superwall Delegate (Legacy)](/docs/legacy/legacy_using-superwall-delegate): Use a Superwall delegate to help interface with 3rd party analytics, see which product was purchased on a paywall, handle custom events and more. - [Passing in options (Legacy)](/docs/legacy/legacy_using-superwalloptions): When configuring the SDK you can pass in options that configure Superwall, the paywall presentation, and its appearance. - [Paywall Settings Sidebar](/docs/paywall-settings-sidebar): The settings sidebar is split into 3 sections: Products; Design; and Advanced. - [Changelog](/docs/react-native/changelog): Release notes for the Superwall React Native SDK - [Welcome](/docs/react-native): Welcome to the Superwall React Native SDK documentation - [PaywallOptions](/docs/react-native/sdk-reference/PaywallOptions): Options for configuring the appearance and behavior of paywalls. - [PaywallPresentationHandler](/docs/react-native/sdk-reference/PaywallPresentationHandler): Handles events related to paywall presentation. - [PurchaseController](/docs/react-native/sdk-reference/PurchaseController): An abstract class that defines the contract for a purchase controller. - [Superwall](/docs/react-native/sdk-reference/Superwall): The shared instance of Superwall that provides access to all SDK features. - [SuperwallDelegate](/docs/react-native/sdk-reference/SuperwallDelegate): A class that handles Superwall lifecycle events and analytics. - [SuperwallOptions](/docs/react-native/sdk-reference/SuperwallOptions): Options for configuring the Superwall SDK. - [configure()](/docs/react-native/sdk-reference/configure): A static function that configures a shared instance of Superwall for use throughout your app. - [getUserAttributes()](/docs/react-native/sdk-reference/getUserAttributes): Retrieves the user attributes, set using setUserAttributes. - [handleDeepLink()](/docs/react-native/sdk-reference/handleDeepLink): Handles a deep link. - [identify()](/docs/react-native/sdk-reference/identify): Creates an account with Superwall by linking the provided userId to Superwall's automatically generated alias. - [Overview](/docs/react-native/sdk-reference): Reference documentation for the Superwall React Native SDK. - [register()](/docs/react-native/sdk-reference/register): A function that registers a placement that can be remotely configured to show a paywall and gate feature access. - [setUserAttributes()](/docs/react-native/sdk-reference/setUserAttributes): Sets user attributes for use in paywalls and on the Superwall dashboard. - [Subscription Status](/docs/react-native/sdk-reference/subscriptionStatus): Methods for getting and setting the user's subscription status. - [Types and Enums](/docs/react-native/sdk-reference/types): Reference for types, enums, and result objects used in the React Native SDK. - [Paywall Recipes](/docs/recipes): Grow revenue with video recipes for Superwall: show different paywalls per audience, offer abandoned transaction discounts, and show a paywall on first touch. - [How do I change my login email address?](/docs/support/dashboard/2125187334-how-do-i-change-my-login-email-address): Change the email on your Superwall login: invite the new address as a team member, create an account with it, and sign in to the dashboard. - [How do I update my Apple Small Business Program status in Superwall?](/docs/support/dashboard/2132346026-how-do-i-update-my-apple-small-business-program-status-in-superwall): Set your Apple Small Business Program dates in Superwall's Revenue Tracking settings so new transactions use the 15% proceeds cut. - [Why don't trial conversion and cancellation rates add up to 100%?](/docs/support/dashboard/2172810792-why-don-t-trial-conversion-and-cancellation-rates-add-up-to-100): See why Superwall's trial conversion and trial cancellation rates don't sum to 100%: each uses a different base, and billing issues count separately. - [Video: Revenue Charts Tour](/docs/support/dashboard/2563776677-revenue-charts-tour): Watch a video tour of Superwall's free revenue charts: proceeds, paywall conversions, refund rates, filters, and CSV export of any chart. - [Video: Breaking Down Revenue Charts by User Attributes](/docs/support/dashboard/3633020467-breaking-down-revenue-charts-by-user-attributes): Watch developer advocate Jordan show how to break down Superwall revenue charts by user attributes to see revenue for different groups of users. - [How is the Estimated ARPU metric calculated in Superwall?](/docs/support/dashboard/4129730749-how-is-the-estimated-arpu-metric-calculated-in-superwall): See how Superwall calculates Estimated ARPU: projected trial proceeds plus actual proceeds, divided by users, with trial projections from past conversion rates. - [How do I find my Superwall Server Secret?](/docs/support/dashboard/5346543318-how-do-i-find-my-superwall-server-secret): Find the token RevenueCat needs to send events to Superwall: it's in your app's RevenueCat webhook URL on the Revenue tracking page. - [How to Optimize Refund Protection Settings](/docs/support/dashboard/5483562984-how-to-optimize-refund-protection-settings): Optimize Superwall Refund Protection for iOS apps: check that it's working, then switch the preference from 'No preference' to 'Prefer decline'. - [Video: Configuring Products to use in Superwall](/docs/support/dashboard/8137029255-configuring-products-to-use-in-superwall): Watch a step-by-step video on adding products to Superwall from App Store Connect or RevenueCat so you can use them in your paywalls. - [Video: How to Show Different Paywalls to Certain Users with Audiences](/docs/support/dashboard/8360602963-how-to-show-different-paywalls-to-certain-users-with-audiences): Watch a video on showing different Superwall paywalls with audiences, targeting users who tap a button, the local time of day, and everyone else. - [Video: Get Started with Apple Search Ads](/docs/support/dashboard/8851145816-get-started-with-apple-search-ads): Watch a video on connecting Apple Search Ads to Superwall to see search ads data in charts, filter audiences, and view attributes of acquired users. - [How do I add my VAT number to invoices?](/docs/support/dashboard/9023151337-how-do-i-add-my-vat-number-to-invoices): Add your VAT number to Superwall invoices from Settings, Billing by entering it next to your name. It then appears on all future invoices. - [How can I recover an archived product in Superwall?](/docs/support/dashboard/9149611399-can-i-recover-an-archived-product-in-superwall): Recover an archived product in Superwall: you can't unarchive it in the dashboard, so create a new product with the same configuration instead. - [What is the difference between 'Trial Cancel' and 'Trial Expire' tags?](/docs/support/dashboard/9274386153-what-is-the-difference-between-trial-cancel-and-trial-expire-tags): See the difference between Superwall's Trial Cancel and Trial Expire tags, with an example timeline of a one-week trial cancelled after one day. - [A Superwall product tour](/docs/support/dashboard/9588935743-a-superwall-product-tour): Watch a quick Superwall product tour covering revenue charts, setting up a campaign, what placements are, and editing paywalls. A good first stop. - [Why is initial conversion lower than new trials on some days?](/docs/support/dashboard/9621028514-why-is-initial-conversion-lower-than-new-trials-on-some-days): See why initial conversion can be lower than new trials in Superwall: initial conversion is cohorted by install date, while new trials are not. - [How to Start a Fresh A/B Test](/docs/support/dashboard/how-to-reset-paywall-history-for-a-b-testing): Learn the different ways to start a new A/B test with clean metrics, whether by resetting assignments or creating a new campaign. - [Dashboard Help Articles](/docs/support/dashboard): Browse Superwall support articles about the dashboard, including revenue charts, metrics, products, billing, account settings, and integrations. - [What is the legacy User role in team settings?](/docs/support/dashboard/what-is-the-legacy-user-role-in-team-settings): The User role is a legacy role with Admin-level permissions, kept for backward compatibility. New team members should use the current roles instead. - [Why does the 'SDK releases behind' warning still appear after updating?](/docs/support/dashboard/why-does-the-sdk-releases-behind-warning-still-appear): See why the Superwall dashboard's 'SDK releases behind' warning stays after you update: it counts SDK versions across all active users of your app. - [How to Transfer Your App to a New Owner](/docs/support/faq/1379595978-how-to-transfer-app-to-a-new-owner): Transfer a Superwall project and its apps to a new owner from Settings, General. Covers who can send it, what moves, and what happens to API keys. - [How does Superwall's pricing work?](/docs/support/faq/2801653905-how-does-superwalls-pricing-work): See how Superwall pricing works: MAR-based plans from Indie to Enterprise, what monthly attributed revenue means, and the legacy conversion-based tiers. - [Are Paywall Events and Urgency Messaging App Store Compliant?](/docs/support/faq/app-store-compliance-paywall-events): Learn about Apple App Store compliance for paywall events like Paywall Dismissed and Transaction Abandoned, as well as urgency-style messaging. - [Can I pre-authenticate users on the subscription management page?](/docs/support/faq/can-i-pre-authenticate-users-on-subscription-management-page): Pre-fill the email on the Superwall subscription management page with a query parameter. Full pre-authentication isn't possible; users still need a magic link. - [How do I migrate my existing purchases to RevenueCat?](/docs/support/faq/how-do-i-migrate-my-existing-purchases-to-revenuecat): Migrate existing purchases from Superwall to RevenueCat: what data Superwall can export as a CSV, the steps to request it, and the export pricing. - [How much does Superwall increase app size on iOS?](/docs/support/faq/how-much-does-superwall-increase-app-size-on-ios): See how much the SuperwallKit iOS SDK adds to your app's install size, about 7.7 MB, and where to track the latest SDK size on Emerge Tools. - [How do I extract Apple Search Ads attribution data from Superwall?](/docs/support/faq/how-to-extract-apple-search-ads-data-from-superwall): Learn how to access raw Apple Search Ads attribution data from the Superwall SDK on the client side, since ASA data is not included in webhooks or third-party integration payloads. - [How do I migrate to Superwall from another provider?](/docs/support/faq/how-to-migrate-from-another-provider-to-superwall): Guide for migrating from Adapty, Qonversion, Glassfy, or other subscription SDKs to Superwall - [Frequently Asked Questions](/docs/support/faq): Browse answers to common Superwall questions about pricing, app transfers, subscription management, app size, revenue data, and failed transactions. - [Why is my Android app missing historical revenue data after setting up the Google Play integration?](/docs/support/faq/why-is-my-android-app-missing-historical-revenue-data): See why your Android app is missing historical revenue in Superwall after connecting Google Play: Google offers no API for past transactions. - [Why is my transaction failure rate high?](/docs/support/faq/why-is-my-transaction-failure-rate-high): See why your transaction failure rate is high: what counts as a failed checkout, common causes, a normal 5-6% rate, and what you can improve. - [Support Center](/docs/support): Need help with anything Superwall-related? We're here to help. - [Video: How to create a countdown timer on a paywall](/docs/support/paywall-editor/1377495156-how-to-create-a-countdown-timer-on-a-paywall): Watch a video on building a live countdown timer into a paywall with the Superwall paywall editor, from adding the timer to previewing it. - [Video: Adding Products to Paywalls](/docs/support/paywall-editor/1502195570-adding-products-to-paywalls): Watch a video on adding products to Superwall paywalls. Most templates have room for two products, but you can customize any template for more. - [Are video and images automatically compressed when uploaded to a paywall via the editor?](/docs/support/paywall-editor/1523245773-are-videos-automatically-compressed-when-uploaded-to-a-paywall-via-the-editor): Find out if Superwall compresses videos and images uploaded in the paywall editor, plus recommended limits: 3-10 second videos and under 20 images. - [Video: Building your first paywall](/docs/support/paywall-editor/1932646675-building-your-first-paywall): Watch developer advocate Jordan build a paywall from scratch in the Superwall paywall editor and test it on a device. Made for first-time users. - [Video: Using Custom Actions to Setup Referral Systems](/docs/support/paywall-editor/2079174387-using-custom-actions-to-setup-referral-systems): Watch Superwall office hours on using custom actions to run app-specific logic, including a full referral system flow with mobile or web checkout. - [When adding a product, is it possible to fetch the price for non subscription products?](/docs/support/paywall-editor/2306253672-can-i-use-a-feature-shown-in-the-attached-screenshot): Find out whether the Superwall paywall editor can fetch prices for non-subscription products when you add them to a paywall. It isn't supported yet. - [Video: How to use custom actions in your paywall](/docs/support/paywall-editor/2427577661-how-to-use-custom-actions-in-your-paywall): Watch a quick tip on setting up custom actions in a Superwall paywall so a tap on a paywall element runs app-specific logic in your app. - [Video: Showing paywalls with a discount for abandoned transactions](/docs/support/paywall-editor/2455479259-showing-paywalls-with-a-discount-for-abandoned-transactions): Watch a tutorial on showing a discounted paywall when users abandon a transaction in Superwall, with no app update needed if the SDK is installed. - [Video: Using Custom Placements for Tracking Paywall Interactions](/docs/support/paywall-editor/3696237744-using-custom-placements-for-tracking-paywall-interactions): Watch a video on tracking paywall interactions with custom placements in Superwall, added as a tap behavior and forwarded to your analytics service. - [Display dynamic images in your paywalls](/docs/support/paywall-editor/4109039578-display-dynamic-images-in-your-paywalls): Watch a video on using variables in image URLs in the Superwall paywall editor to show dynamic images, such as a game, a profile, or an event. - [Video: How to make paywalls adapt to device, light or dark mode, and more.](/docs/support/paywall-editor/5453267914-how-to-make-paywalls-adapt-to-device-light-or-dark-mode-and-more): Watch a video on making Superwall paywalls adapt by hiding and showing elements based on device, available width, light or dark mode, and more. - [Video: Building a Multi-Tier Paywall using the Superwall Editor](/docs/support/paywall-editor/6032457649-building-a-multi-tier-paywall-using-the-superwall-editor): Watch a video on building a multi-tier paywall in the Superwall editor, such as Standard and Pro tiers that each offer monthly and annual plans. - [How do I animate elements in the Superwall editor?](/docs/support/paywall-editor/6426797732-how-do-i-animate-text-elements-in-the-superwall-editor): Animate elements in the Superwall paywall editor with tap behavior animations, Effects, or Lottie, GIFs, and video. CSS @keyframes isn't supported. - [Video: How to use Dynamic Values](/docs/support/paywall-editor/6485999553-how-to-use-dynamic-values): Watch a video on dynamic values in the Superwall paywall editor: change text, buttons, and components based on conditions like trials or the selected plan. - [Video: Tracking User Behavior on Paywalls](/docs/support/paywall-editor/6666110181-tracking-user-behavior-on-paywalls): Watch Superwall office hours on tracking paywall user behavior with custom placements: button taps, multi-page paywall progress, and plan toggles. - [Paywall Editor: Menus or Modals Closing](/docs/support/paywall-editor/6770999766-paywall-editor-menus-or-modals-closing): Fix menus or modals that close on their own in the Superwall paywall editor. Browser extensions are often the cause, so test in a private window. - [How do I copy a paywall from one account to another?](/docs/support/paywall-editor/7124788686-how-do-i-copy-a-paywall-from-one-account-to-another): Copy a paywall to another Superwall account with the editor's Share link. The copy arrives without products, and you can make the paywall private again. - [Can I delete or update existing snippets?](/docs/support/paywall-editor/7448860745-can-i-delete-or-update-existing-snippets): Find out if you can delete or update snippets in the Superwall paywall editor. Snippets can't be deleted, but you can update an existing one. - [Video: AI Image Generation in Paywalls](/docs/support/paywall-editor/8950966564-ai-image-generation-in-paywalls): Watch a video on Superwall's AI image generation in the paywall editor, which creates hero images, banners, icons, and more for your paywalls. - [Paywall Editor](/docs/support/paywall-editor): Learn how to use the Superwall Paywall Editor to create and manage your paywalls. - [How to setup sandbox testing without affecting production metrics](/docs/support/sdk/3107042948-how-to-setup-sandbox-testing-without-affecting-production-metrics): Set up sandbox testing in Superwall without skewing production metrics: one API key, plus an isSandbox audience placed above your production audiences. - [Video: How to present a paywall from the first touch in app](/docs/support/sdk/3165338058-how-to-present-a-paywall-from-the-first-touch-in-app): Watch a video on presenting a paywall on the user's first tap with the touches_began placement in Superwall, instead of showing it at app launch. - [Video: How to Install and Configure the Superwall SDK in Flutter (In Under 2 Minutes!)](/docs/support/sdk/3422417486-how-to-install-and-configure-the-superwall-sdk-in-flutter-in-under-2-minutes): Watch a two-minute video on installing the Superwall SDK in Flutter, configuring it with your API key, and registering a placement to show a paywall. - [How to Setup Web Restoration Alert Options](/docs/support/sdk/3677919065-how-to-setup-web-restoration-alert-options): Turn off the Superwall web restoration alert with PaywallOptions.shouldShowWebRestorationAlert, useful when users already have a StoreKit subscription. - [Video: Presenting a Paywall in an iOS App Using Superwall](/docs/support/sdk/4341680566-presenting-a-paywall-in-an-ios-app-using-superwall): Watch a video on presenting a paywall in an iOS app with Superwall: how registered events, campaigns, and your app connect to show paywalls. - [Video: Using Xcode's Transaction Manager](/docs/support/sdk/4506454639-using-xcode-s-transaction-manager): Watch a video on testing subscription states with Xcode's Transaction Manager: cancel subscriptions, test price increases, refunds, and more. - [How do I disable Streamlined Purchasing for iOS apps?](/docs/support/sdk/5896158743-how-do-i-disable-streamlined-purchasing-for-ios-apps): Disable Streamlined Purchasing for iOS apps that use Superwall. The SDK doesn't support it yet, so you need to call the StoreKit APIs in your app. - [Video: How to Install Superwall's SDK into your iOS App](/docs/support/sdk/6889849185-how-to-install-superwall-s-sdk-into-your-ios-app): Watch a video on installing the Superwall SDK into your iOS app with Swift Package Manager or CocoaPods, so you can start showing paywalls. - [Video: Making a Purchase with Superwall](/docs/support/sdk/8208368408-making-a-purchase-with-superwall): Watch a video on making the first purchase of a product in an iOS app with Superwall, to check that your paywall and products work end to end. - [SDK Help Articles](/docs/support/sdk): Browse Superwall support articles about the SDK, including installation, paywall presentation, sandbox testing, purchases, and iOS StoreKit settings. - [Why isn't my free trial showing up in my paywall?](/docs/support/troubleshooting/1205343891-why-isn-t-my-free-trial-showing-up-in-my-paywall-preview): Fix a free trial that isn't showing on your Superwall paywall: check introductory offer eligibility and the offer setup in App Store Connect. - [Troubleshooting: Android SDK](/docs/support/troubleshooting/3578026824-troubleshooting-android-sdk): Troubleshoot the Superwall Android SDK: links to fixes for products or prices not loading and paywalls not showing, plus how to get support. - [Why aren't my transactions attributing to a placement/paywall?](/docs/support/troubleshooting/3920414585-why-aren-t-my-revenuecat-transactions-attributing-to-a-placement-paywall): Fix transactions with no placement or paywall in Superwall when using a PurchaseController or RevenueCat: SDK, revenue tracking, and identify checks. - [Why am I seeing a billing issue after my free trial ends?](/docs/support/troubleshooting/4741512872-why-am-i-seeing-a-billing-issue-after-my-free-trial-ends): See why a billing issue appears after a free trial ends, how Apple and Google retry the charge, and how Superwall campaign results count these trials. - [Troubleshooting: Expo SDK](/docs/support/troubleshooting/4780985851-troubleshooting-expo-sdk): Troubleshoot the Superwall Expo SDK: the Expo SDK 53+ requirement, products not loading, paywalls not showing, and a fix for paywall autorotation on Android. - [Why is my webhook's originalAppUserId different from the user ID I set?](/docs/support/troubleshooting/5131096404-why-is-my-webhook-s-originalappuserid-different-from-the-user-id-i-set): Fix a webhook originalAppUserId that doesn't match your user ID: minimum iOS, Android, and Expo SDK versions, and when to call identify(). - [Why am I not receiving webhook events?](/docs/support/troubleshooting/5316844925-why-am-i-not-receiving-webhook-events-when-using-revenuecat): Fix missing Superwall webhook events with RevenueCat: observer mode and StoreKit configuration files stop events, so test with real App Store transactions. - [Why are my webhook events not triggering?](/docs/support/troubleshooting/5990752866-why-are-my-webhook-events-not-triggering): Fix Superwall webhook events that don't trigger: set up App Store Connect events in Revenue Tracking, and test with TestFlight instead of local StoreKit. - [Paywall and Product Troubleshooting](/docs/support/troubleshooting/6022066375-troubleshooting): Fix common Superwall SDK issues: unexpected paywall presentation, debugging paywalls in production, StoreKit test transactions, sandbox trials, and products. - [Why am I seeing 'Sign in to Apple Account' when testing in-app purchases?](/docs/support/troubleshooting/6204964383-why-am-i-seeing-sign-in-to-apple-account-when-testing-in-app-purchases): Fix the 'Sign in to Apple Account' alert when testing in-app purchases: use a StoreKit config file on the simulator or a Sandbox Account on a device. - [Paywall Not Showing](/docs/support/troubleshooting/6381986971-paywall-not-showing): Fix a Superwall paywall that won't show, shows when it shouldn't, or loads forever: check subscription status, test devices, campaigns, and WKAppBoundDomains. - [Troubleshooting: Flutter SDK](/docs/support/troubleshooting/6999598520-troubleshooting-flutter-sdk): Troubleshoot the Superwall Flutter SDK: links to fixes for products or prices not loading and paywalls not showing, plus how to get support. - [Why am I seeing 520 errors from the events API endpoint?](/docs/support/troubleshooting/7581794451-why-am-i-seeing-520-errors-from-the-events-api-endpoint): See why the Superwall SDK gets 520 errors from the events API endpoint: they drive its retry logic, no data is lost, and you can safely ignore them. - [Why am I getting PlacementNotFound errors for active placements in Expo?](/docs/support/troubleshooting/8550351416-why-am-i-getting-placementnotfound-errors-for-active-placements-in-expo): Fix PlacementNotFound errors for active placements in the Superwall Expo SDK: fully quit and relaunch the app to load your latest dashboard changes. - [Why does my subscription status remain INACTIVE after successful purchase?](/docs/support/troubleshooting/8569105587-why-does-my-subscription-status-remain-inactive-after-successful-purchase): Fix a subscription status that stays INACTIVE after a successful purchase: add entitlements to products in Superwall, or check your PurchaseController. - [Troubleshooting: iOS SDK](/docs/support/troubleshooting/8881818609-troubleshooting-ios-sdk): Troubleshoot the Superwall iOS SDK: links to fixes for products or prices not loading and paywalls not showing, plus how to get support. - [Why does my entitlement show 'Missing App ID' after connecting App Store Connect API?](/docs/support/troubleshooting/9207773532-why-does-my-entitlement-show-missing-app-id-after-connecting-app-store-connect-api): Fix the 'Missing App ID' warning on Superwall products after connecting the App Store Connect API by adding your Apple App ID in Settings, General. - [Why are my products showing 'Unknown' status in Superwall?](/docs/support/troubleshooting/9558513118-why-are-my-products-showing-unknown-status-in-superwall): Fix products showing 'Unknown' status in Superwall: check the App Store Connect API setup, product IDs, app IDs, API key role, and agreements. - [Why is my paywall not loading on Android with Billing Service Unavailable?](/docs/support/troubleshooting/9619927130-why-is-my-paywall-not-loading-on-android-with-billing-service-unavailable-error): Fix Superwall paywalls not loading on Android with Billing Service Unavailable: set subscription status in your PurchaseController or check Google Play Billing. - [How to Test Paywalls with Local Currency for a Specific Country](/docs/support/troubleshooting/how-to-test-paywalls-with-local-currency-for-a-specific-country): Learn how to preview your paywall as a user in a specific country would see it, including local currency and audience matching. - [Troubleshooting Help Articles](/docs/support/troubleshooting): Browse Superwall troubleshooting articles for paywalls not showing, products not loading, webhooks, subscription status, and SDK errors on each platform. - [Products Not Loading: iOS](/docs/support/troubleshooting/products-not-loading/1253018505-products-not-loading-ios): Fix products not loading on a real iOS device, TestFlight, or App Store build: a checklist for Xcode, the Superwall dashboard, and App Store Connect. - [Products Not Loading: Android](/docs/support/troubleshooting/products-not-loading/3716347779-products-not-loading-android): Fix products not loading on Android with Superwall: a checklist for dashboard products, Play Store sign-in, the billing permission, and merchant account. - [Products Not Loading: iOS Simulator](/docs/support/troubleshooting/products-not-loading/4739776203-products-not-loading-ios-simulator): Fix products not loading in the iOS simulator: set up a local StoreKit config file in Xcode and match its product IDs to your Superwall paywall. - [Products Not Loading: iOS Device with StoreKit config file](/docs/support/troubleshooting/products-not-loading/4845457144-products-not-loading-ios-device-with-storekit-config-file): Fix products not loading on an iOS device built from Xcode with a StoreKit config file: check the scheme and that product IDs match your paywall. - [Products Not Loading: Browser Preview](/docs/support/troubleshooting/products-not-loading/9984011656-products-not-loading-safari-preview): See why products and prices don't load in Superwall browser paywall previews. This is expected, so test product info in your app on a real device. - [Products Not Loading: Troubleshooting Guide](/docs/support/troubleshooting/products-not-loading): Fix products not loading on Superwall paywalls: common symptoms, plus guides for the iOS simulator, real iOS devices, Android, and browser preview. - [Why does my user show active subscription but no data in the dashboard?](/docs/support/troubleshooting/subscription-status-active-but-no-dashboard-data): Understanding why a user may have an active subscription on device but no entitlements, Apple events, or webhooks in the Superwall dashboard - [How to Debug Paywall Issues in Production](/docs/support/troubleshooting/troubleshooting-debug-paywalls-production): Learn how to use the dashboard’s event logs to debug paywall behavior for real users. - [Why Are Users Still Seeing a Removed Paywall?](/docs/support/troubleshooting/troubleshooting-old-paywall-persists-after-removal): Troubleshoot why some users continue to see a paywall that you have removed from all campaigns, and learn how to reset sticky assignments. - [Paywall Memory Usage on iOS](/docs/support/troubleshooting/troubleshooting-paywall-memory-usage-on-iOS): Investigate why your paywall might look like it's using more memory than you expect in Instruments. - [Why are my trials still showing as pending after they should have converted?](/docs/support/troubleshooting/troubleshooting-pending-trials-not-converting): See why trials stay pending in Superwall campaign results: how billing issues, Apple's 16-day billing retry, grace periods, and Stripe affect outcomes. - [Sandbox Entitlements Persist After Reset](/docs/support/troubleshooting/troubleshooting-sandbox-entitlements-persist): Why Apple sandbox entitlements remain active after clearing purchase history and reinstalling, and how to work around this limitation. - [Sandbox Free Trial Isn’t Appearing](/docs/support/troubleshooting/troubleshooting-sandbox-free-trial-not-showing): Why free trials sometimes don’t show up in sandbox testing and what to do about it. - [StoreKit Transactions Not Clearing in Xcode](/docs/support/troubleshooting/troubleshooting-storekit-transaction-stuck): Fix for when a test transaction seems stuck or active when it shouldn’t be. - [TestFlight Subscriptions](/docs/support/troubleshooting/troubleshooting-testflight-subscriptions): Learn why subscriptions behave differently in TestFlight, including identity resets and accelerated renewal schedules. - [Fixing Unexpected Paywall Behavior](/docs/support/troubleshooting/troubleshooting-unexpected-paywall-behavior): Step-by-step checklist when a paywall shows up when it shouldn’t—or doesn’t when it should. - [Why is my paywall not updating after publishing?](/docs/support/troubleshooting/why-is-my-paywall-not-updating-after-publishing): Troubleshoot why users may still see an outdated paywall after you've made and published updates in the Superwall dashboard - [Video: Web Checkout Tour on iOS](/docs/support/web-checkout/1872595046-web-checkout-tour-on-ios): Watch a video tour of Superwall web checkout on iOS: create and configure a Stripe app, show a paywall with web checkout links, and see redemption. - [Why am I seeing 'An error occurred while loading the Stripe Portal' in the manage subscription page?](/docs/support/web-checkout/3771535881-why-am-i-seeing-an-error-occurred-while-loading-the-stripe-portal-in-the-manage-subscription-page): Fix 'An error occurred while loading the Stripe Portal' on the Superwall manage subscription page by setting up Stripe's test-mode customer portal. - [How do I disable the activation link email for web checkout?](/docs/support/web-checkout/3969573187-how-do-i-disable-the-activation-link-email-for-web-checkout): Turn off the Superwall activation link email for web checkout with the 'Disable Superwall Emails' setting in your Stripe app's General settings. - [How do I retrieve Stripe customer data after web checkout?](/docs/support/web-checkout/how-to-retrieve-stripe-customer-data-after-web-checkout): Learn how to access the Stripe customer ID and email after a user completes a web checkout purchase. - [Web Checkout](/docs/support/web-checkout): Learn how to use the Superwall Web Checkout to integrate Web Checkout into your app. - [Why is there no revenue tracking setup for web checkout?](/docs/support/web-checkout/web-checkout-revenue-tracking-is-automatic): Web checkout revenue tracking is automatic when using Stripe, unlike iOS and Android which require manual configuration. - [Changelog](/docs/unity/changelog): Changelog for the Superwall Unity SDK beta. - [Advanced Configuration](/docs/unity/guides/advanced-configuration): Configure beta Superwall Unity SDK options and advanced APIs. - [Custom Callbacks](/docs/unity/guides/custom-callbacks): Run your own C# code when a paywall button asks for it, then send success or failure back so the paywall can branch on the result. - [Custom Purchase Controller](/docs/unity/guides/custom-purchase-controller): Use a custom purchase controller with the Unity SDK beta. - [Game Controller Input](/docs/unity/guides/game-controller-input): Enable game controller support for Unity paywalls. - [Using the Superwall Delegate](/docs/unity/guides/using-superwall-delegate): Receive Superwall lifecycle callbacks in Unity. - [Welcome](/docs/unity): Welcome to the Superwall Unity SDK beta documentation. - [Configure the SDK](/docs/unity/quickstart/configure): Configure Superwall once when your Unity game starts. - [Install the SDK](/docs/unity/quickstart/install): Install the Superwall Unity SDK beta through Unity Package Manager. - [Presenting Paywalls](/docs/unity/quickstart/present-paywalls): Register Superwall placements from Unity C# scripts. - [Tracking Subscription State](/docs/unity/quickstart/tracking-subscription-state): Read or set subscription status from a Unity game. - [User Management](/docs/unity/quickstart/user-management): Identify, reset, and attach attributes to Unity players. - [SDK Reference](/docs/unity/sdk-reference): Reference for the Superwall Unity SDK beta C# API. - [Home Page](/docs/using-the-dashboard): Tour the legacy Superwall dashboard home page: the Getting Started checklist, Paywalls, Campaigns, realtime analytics, and how to sign out or switch teams. - [Web Checkout Overview](/docs/web-checkout): Let customers purchase products online via Stripe, then link them to your app with one seamless flow. No authentication required. - [Adaptive Pricing](/docs/web-checkout/web-checkout-adaptive-pricing): Let web checkout customers pay in a local currency with Stripe Adaptive Pricing. - [Creating Products](/docs/web-checkout/web-checkout-adding-a-stripe-product): Create products in Stripe to show on your web paywalls. - [Stripe Setup](/docs/web-checkout/web-checkout-configuring-stripe-keys-and-settings): Connect Superwall to Stripe using the official Stripe app and configure your settings. - [Creating an App](/docs/web-checkout/web-checkout-creating-an-app): Add a Stripe app to an existing project within Superwall. - [Web Checkout Links](/docs/web-checkout/web-checkout-creating-campaigns-to-show-paywalls): Learn how to use campaigns and placements to present web paywalls using Superwall's web checkout links. - [App2Web Stripe Checkout](/docs/web-checkout/web-checkout-direct-stripe-checkout): Link U.S. App Store users from an iOS paywall to Stripe Checkout in Safari with App2Web, plus Apple Pay, localized prices, and prefilled customer details. - [Discount Codes](/docs/web-checkout/web-checkout-discount-codes): Let customers enter a Stripe promotion code on your web paywall, update the price in place, and carry the discount through to Stripe checkout. - [Web Checkout FAQ](/docs/web-checkout/web-checkout-faq): Frequently asked questions about web checkout. - [Managed Payments](/docs/web-checkout/web-checkout-managed-payments): Sell on the web with Stripe as merchant of record for Stripe web checkout payments. - [Restoring & Managing Purchases](/docs/web-checkout/web-checkout-managing-memberships): Learn how users can manage and restore purchases made via the web. - [SDK Setup](/docs/web-checkout/web-checkout-sdk-setup): Set up your app to handle Web Checkout purchases, deep links, and post-checkout redirecting. - [Stripe One-Time Purchases](/docs/web-checkout/web-checkout-stripe-one-time-purchases): Use Stripe one-time prices for lifetime access or consumable purchases in web checkout. - [Teleport Checkout](/docs/web-checkout/web-checkout-teleport): Send users from an iOS paywall to a checkout page you design, take payment in the browser, and bring them back to the app. - [Sandbox Purchases](/docs/web-checkout/web-checkout-testing-purchases): Test with your web paywalls by using sandbox products. - [Web-Only Checkout](/docs/web-checkout/web-checkout-web-only): Use web checkout without a mobile app for web apps, websites, or any non-App-Store product. - [Custom Callbacks](/docs/web/guides/custom-callbacks): Run your own code when a paywall asks for it, then send back success or failure so the paywall can pick its next step. Web SDK 0.3.4+. - [Events](/docs/web/guides/events): Listen to SDK lifecycle events and register a global delegate. - [Purchases](/docs/web/guides/purchases): How checkout works, what happens after a purchase, and how to take it over. - [Server-side gating](/docs/web/guides/server-side-gating): Enforce entitlements on your backend, where users cannot tamper with them. - [Welcome](/docs/web): Welcome to the Superwall Web SDK documentation - [Configure](/docs/web/quickstart/configure): Create a Superwall instance and understand what happens before it is ready. - [Feature gating](/docs/web/quickstart/feature-gating): Run code only when a user is entitled to it. - [Install the SDK](/docs/web/quickstart/install): Add the Superwall Web SDK to your browser or React app. - [Present your first paywall](/docs/web/quickstart/present-first-paywall): Register a placement and show a paywall in the browser. - [Tracking subscription state](/docs/web/quickstart/tracking-subscription-state): Read and react to a user's subscription status and entitlements. - [User management](/docs/web/quickstart/user-management): Identify users, set attributes, and sign them out. - [Hooks](/docs/web/react/hooks): React hooks for identity, placements, events, and reactive SDK state. - [Provider](/docs/web/react/provider): Wire the Superwall Web SDK into a React 19 app.
Сайты с близкой оценкой ИИ-оптимизации — сравните, как они настроили llms.txt и разметку.