Publishing & MonetizationMonetization

Monetization

Configure paywall rules, products, price points, and coupons in the PanelWave CMS — and test what free and paying readers will see.

PanelWave lets you decide what is free and what is paid in a work. Monetization in the CMS has three parts:

  • Paywall rules — define which content is gated and what unlocks it (a subscription, a one-time purchase, or age verification).
  • Products and coupons — define what readers can buy: subscription tiers and one-time purchases, with multi-currency price points and discount codes.
  • Entitlement simulation — test the whole setup from a reader's point of view before anything goes live.

For the underlying concepts see Monetization concepts and the paywall section of the format.

Current limitations, honestly: reader checkout and real payment processing are not live yet — payment-provider connections exist in the product editor but stay disabled until they are configured, and reader access is currently simulated for testing rather than driven by real purchases. You can fully configure rules, products, and coupons today; charging readers comes with a later release.

Paywall rules

Open a work's backstage and choose Paywall in the navigation. The Paywall Configuration screen shows how many panels are currently locked and lists your rules.

The content map

At the top, the Content map summarizes your gating at a glance:

  • Every panel appears as a chip marked Free, Preview (free preview before the paywall), or Gated, grouped by chapter.
  • A plain-language rollup explains the reader's experience, for example: "Readers can view 12 of 40 panels free (5-panel preview). The remaining 28 panels require a premium subscription or a one-time purchase."
  • Health warnings flag common mistakes — for example if every panel is gated ("readers get no free preview") or if a rule targets panels that no longer exist.
  • A red banner lists active Chapter or Extras Item rules whose target is missing, deleted, or (for extras) still a draft. Such a rule is left out of the published work, so that content would ship free.

Creating a rule

Click New Paywall Rule and fill in the dialog:

FieldDescription
Rule NameA label such as "Premium Subscription"
ScopeWork Level, Chapter, Panel Level, or Extras Item
Chapter / Extras ItemShown for those scopes: pick the chapter or extras item the rule gates. Saving without a target is refused ("Pick the chapter this rule gates.")
Entitlement TypeSubscription Required, One-Time Purchase, Age Verification, or Free Access
Required Subscription TiersFor subscription rules: any of basic, premium, pro
Price / CurrencyFor purchase rules: the price in USD, EUR, GBP, or JPY (when empty, the first unlocking product's price is published)
Unlocking productsFor purchase rules: readers who bought any one of the checked products unlock it; none checked means any purchase does. The player offers a Buy option for each checked product, with that product's name and price
Minimum AgeRequired for Age Verification rules; optional on every other rule, where it adds an age check on top of the subscription or purchase
Preview Panel CountHow many panels readers can view before the paywall
DescriptionOptional note about the rule
ActiveWhether the rule is enforced

Rules can be filtered by scope and status, and each rule card offers Activate/Deactivate, Edit, Duplicate, and Delete. Rule cards also show their details — tiers, price, minimum age, preview count — and which panels they apply to.

A Bulk Apply to Panels action exists on each rule for assigning many panels at once, but panel assignments made this way are not yet saved permanently in the current release.

How each scope gates content:

  • Work Level — the whole work; the free preview counts from the first panel.
  • Chapter — only the picked chapter; its free preview counts panels within that chapter, and for those panels a chapter rule takes precedence over a work rule.
  • Panel Level — the listed panels.
  • Extras Item — only the picked extras item (for example a bonus gallery), never story panels.

With a Minimum Age on a subscription or purchase rule, readers need both: the player asks for their age first, then shows the paywall until they subscribe or buy. Age requirements add up across rules: every rule that applies to a panel and names a minimum age must be met, so a chapter's free preview or a Free Access panel rule never lets readers skip a work-wide age gate (the gate asks for the highest age that applies). The preview and the simulator below follow the same rule. Rules created before this release with the old Global (All Works) scope behave as Work Level rules and are labelled Work Level (legacy "global").

Always leave a free preview. The Preview Panel Count is what hooks readers before they hit the paywall — the content map warns you if nothing at all is free.

Rules in moved or copied works

A work archive carries all of the work's paywall rules, including inactive drafts. When the archive is imported — on another system, in another account, or as a copy — every rule arrives deactivated, with its settings intact and a note in its Description saying when it was imported and whether it was live in the source work. Check each rule, then Activate the ones you want. Products and coupons are not part of an archive; set them up on the target system.

Products, price points, and coupons

The Products Management screen is where you define what readers can buy.

In the current release this screen is not yet linked from a work's backstage navigation (it is available in the app's test area). Its configuration is fully functional and saved.

Products

Click New Product to create either a Subscription (with a Monthly, Yearly, or Lifetime billing interval) or a One-Time Purchase. Each product has:

  • Product Name, Description, and a Features list (the selling points shown to readers — at least one is required),
  • a default Price and Currency (USD, EUR, GBP, JPY, CAD, AUD),
  • Active and Featured toggles, and a sort order (Move Up / Move Down).

Product cards show payment-provider details (Stripe product/price IDs, PayPal SKU/plan) and a sync status chip such as "Stripe: not synced". The Sync action stays disabled until a payment provider is actually configured for your team.

Regional price points

Under Regional prices you can add price points — additional currency- or region-specific prices that override the default: each row is a currency, an amount, and optionally a region (or "All regions (currency-wide)"). A region-specific price wins over a currency-wide one, which wins over the default. A Prices by region panel lets you check what a reader in, say, Germany or Japan would be charged, and a Wero-ready chip marks products that have a EUR price.

The page also includes a revenue estimate — a deliberately rough model where you enter expected monthly readers and a conversion rate to see indicative recurring and one-time revenue per product.

Coupons

The Coupons section manages discount codes readers will be able to redeem at checkout:

FieldDescription
CodeThe redemption code (letters, numbers, hyphens, underscores — e.g. SAVE25)
TypePercentage or Fixed amount (fixed amounts have a currency)
ExpiresOptional expiry date (empty = never expires)
Max redemptionsOptional usage cap (empty = unlimited)
Applies toSpecific products, or every product if none are selected
ActiveWhether the coupon is redeemable

Each coupon shows its status (Active, Inactive, Expired, or Used up) and usage count, and a Preview action calculates the coupon's exact effect on each active product's price — including why it doesn't apply (wrong currency, product not covered, expired, and so on).

Simulating reader access

The Entitlement backstage screen is a sandbox for answering "what would this reader see?" — no real reader accounts are involved.

Opened from a work's backstage, the simulator evaluates that work's own rules over its chapters in reading order, with the same logic as the player (chapter previews, extras items, age plus entitlement), and lists which extras items are locked. Opened without a work, it runs a built-in demo scenario.

Click Start Simulation, then either pick a Quick Scenario — Free User, Basic Subscriber, Premium Subscriber, Pro Subscriber, One-Time Buyer, Underage User — or dial in the details yourself:

  • Subscription — has one or not, and its tier (Basic/Premium/Pro),
  • One-Time Purchases — which products the reader owns,
  • Age Verification — the reader's age (verified from 18 up).

The screen then shows which content is Unlocked and which is Locked, and the Paywall Test Results explain each decision with a reason ("Preview panel (free)", "Requires premium or pro subscription", "Age verification required (18+)", …) and the rule that applied.

Two buttons make the test tangible:

  • Preview Paywall Overlay shows the reader-facing lock screen: a "Content Locked" overlay listing the benefits of upgrading with a Subscribe Now / Upgrade to Premium call to action (in the simulator these buttons are visual only).
  • Preview as this user opens the Preview screen with this reader's entitlements applied — the preview header shows a "Previewing as …" badge — so you can read the work exactly as that reader would.

You can Reset, Copy State, and Import/Export simulation states as JSON to share test setups with your team.

How the paywall reaches readers

Paywall rules travel with your work: publishing writes them into the manifest as schema-valid paywall.rules — Chapter, Extras Item and Panel rules carry their target as refId, a purchase rule lists all its unlocking products in requiredProductIds (format 1.6 — the player offers one Buy option per product) and also names the first of them in requireEntitlement for older players; each referenced product's name, description and default price are exported in paywall.products, so every Buy option shows the product's own name and price, subscription rules list their subscriptionTiers, and a minimum age is written as minimumAge / ageGate. Inactive rules and rules with a missing target are left out. The PanelWave Player enforces them when readers hit gated content — showing the lock overlay and checking the reader's entitlements.

On the public reader the paid parts never leave the server: for an anonymous reader, panels behind a subscription or purchase rule are reduced to a placeholder marked "x-locked": true (title and duration only — no artwork, balloons or audio), and locked extras keep only their title. Readers see a lock in their place; in page view they can click it to open the paywall for that panel. Age gates stay in the reader, since an age is self-declared and the server cannot verify it. Review links show the full work, but still ask for the age. Purchasing itself will happen on the reading site through hosted payment pages, not inside the CMS.