# Getting Started

Source: https://docs.ezoic.com/docs/subscriptions/getting-started/


Ezoic Subscriptions helps you launch paid access without building checkout, subscriber sessions, payment handling, or account management from scratch. The implementation is centered on the onsite script: your site checks a product handle, then delivers the paid benefit when access is allowed — most commonly removing ads, and also unlocking premium content — and opens Ezoic checkout when access is needed.

The most common setup is selling an ad-free experience, so this guide uses a `remove-ads` product as its running example. Gating premium article content works the same way — swap in a `premium` product where it fits your site.

## Before You Start

You need:

1. The ability to edit your site HTML, templates, theme, or application code.
2. Access to Ezoic Subscriptions setup in your Ezoic account.
3. Completed payment onboarding so checkout can sell access.
4. A product with a product handle (such as `remove-ads`) and at least one price.
5. A clear decision about the benefit subscribers receive — an ad-free experience, unlocked content, or another feature.

If someone else maintains your site, share the integration guides with them before launch.

## Key Concepts

**Product:** The paid benefit you sell — such as removing ads or unlocking premium content — bought as a subscription or a one-time purchase. A product like `Remove Ads` is what your site code checks and sells. You can create more than one product per site.

**Product handle:** The developer-facing key your site checks with `hasAccess(...)` and passes to `showPaywall({ product })`. For example, a product named `Remove Ads` might use the product handle `remove-ads`.

**Price:** A way to buy a product, such as `Monthly` or `Annual`. Each price has a price handle you can pass to `openCheckout({ price })` for custom checkout buttons.

**Donation:** Optional reader support that does not unlock pages or grant a product. Donations are pay-what-you-want above a minimum amount you set — in USD by default, with optional per-currency minimums and suggested amounts.

**Subscriber portal:** The account area at `https://subscriber.ezoic.com` where subscribers can manage subscriptions, receipts, invoices, and payment methods.

## Setup Checklist

1. Complete payment onboarding in your Ezoic account.
2. Create a product. It gets a **product handle** (such as `remove-ads`) that your site code uses. Add at least one **price**, which gets its own **price handle**.
3. Add the onsite script to every page where subscriptions or donations should work:

   ```html
   <script src="https://sm.ezoic.com/min.js" async defer></script>
   ```

4. Check access with `ezsubscriptions.hasAccess("remove-ads")` to decide whether to deliver the paid benefit — for example, removing ads or revealing content.
5. When access is not allowed and you're ready to sell it, open the paywall with `ezsubscriptions.showPaywall({ product: "remove-ads" })`.
6. If you gate article or page content for readers, add paywalled-content structured data before launch (not needed for ad removal, tools, or other non-article products).
7. Optionally collect donations with a `data-ezoic-donate` button or `ezsubscriptions.openDonation()`.
8. [Test your checkout in test mode](/docs/subscriptions/testing-sandbox/) with Stripe test cards — no real charges.
9. Verify checkout, login, and the subscriber portal before announcing paid access.

## Next Steps

- Complete the prerequisites: [Payment Setup](/docs/subscriptions/payment-setup/) and [Products, Prices, and Paid Access](/docs/subscriptions/products/).
- Install the widget with [Onsite Script Integration](/docs/subscriptions/site-integration/).
- Gate content and features with the [Publisher-Managed Access API](/docs/subscriptions/publisher-managed-access/).
- Choose how visitors sign in with [Visitor Authentication](/docs/subscriptions/visitor-authentication/).
- Match your brand with [Paywall Appearance and Styling](/docs/subscriptions/paywall-appearance/).
- For gated articles, follow [SEO and Paywalling Best Practices](/docs/subscriptions/seo-paywalling-best-practices/).
- Collect reader support with [Donations](/docs/subscriptions/donations/).
- Understand what buyers see in the [Subscriber Experience](/docs/subscriptions/subscriber-experience/).
- Verify your integration in [Testing with Test Mode](/docs/subscriptions/testing-sandbox/) before launch.
- Make access decisions on your own server with the [Server-to-Server REST API](/docs/subscriptions/rest-api/).
- Debug integration issues with [Troubleshooting](/docs/subscriptions/troubleshooting/).

