Skip to main content

Pastor signs up for ITW Premium

Persona

A solo pastor who found IllustrateTheWord while searching for a specific illustration (forgiveness, Easter, grief) and discovered many results show only teasers with lock icons. At $9.95/mo they see the value: 50,000+ illustrations, unlimited access, ability to save favorites, and organized collections for sermon series. Decision cycle is fast once they see the price.

Entry points

  1. Premium gate on detail page — Clicks "Unlock with Premium — $9.95/mo."
  2. Pricing page link — From social media, landing page, or marketing email to /pricing.
  3. Search result gate — Finds a premium illustration in search, clicks it, encounters gate.
  4. Teaser — Reads a partial illustration and clicks "Read full version" → gate → upgrade CTA.

Click-through flow

Steps

  1. Discover gated or limited content — Detail page for a premium illustration shows teaser only. visibility_tier field gates free/unauth users to the excerpt. Lock icon and "Unlock with Premium" CTA visible.

  2. Arrive at signup (if not logged in)/signup: Google OAuth button, email/password form (Name optional, Email required, Password 8+ chars), 17-tradition dropdown (no, wait — that is SermonWise; ITW signup has: Email required, Password required, Name optional, newsletter opt-in, Cloudflare Turnstile captcha). Supabase Auth creates user. Confirmation email sent.

  3. Confirm email — Magic link → illustratetheword.com/auth/callback. Supabase verifies token, logs user in. Redirects to /pricing?checkout=monthly (if from premium gate) or homepage (if direct signup).

  4. Review pricing and select plan — Two-column layout: Free ($0/forever) and Premium ($9.95/mo, "Most Popular"). Monthly/Annual toggle (annual shows ~17% savings). Premium card highlights 50,000+ library, movie analogies, devotionals, LensLines, unlimited slide downloads, save/organize favorites. If not logged in, "Subscribe" redirects to /signup?plan=premium first.

  5. Stripe Checkout — Product "IllustrateTheWord Premium — $9.95/mo." Email pre-filled from auth. Standard Stripe card fields. No trial. On success, redirects to /profile?subscription=success.

  6. Post-checkout confirmation and library access — Success banner with PartyPopper: "Welcome to ITW Premium!" Profile page shows "Your Plan: Premium," favorites count, "Manage Subscription" button. Stripe webhook fires asynchronously; row inserted into user_subscriptions (user_id, plan = itw_premium, current_period_end). All visibility_tier = 'premium' illustrations now render in full — no lock icons or teasers.

Acceptance spec

Canonical: knowledge/acceptance/itw-premium.md (30 touchpoints: T1–T8 discovery through signup, T16–T18 checkout and full access).

Success criteria

  • Can navigate to /signup, create an account, and receive a confirmation email.
  • After confirming email, lands on /pricing ready to subscribe.
  • Stripe Checkout opens with correct pricing.
  • After payment, sees success banner and is immediately logged in.
  • Any previously gated illustration now renders in full with no lock icon.

Known failure modes

  • Duplicate email form fields. Signup page has two email inputs — auth form and newsletter footer. In tests, use data-testid="itw-signup-auth-email" to target auth field. See acceptance spec Touchpoint 7.

  • Flagged illustrations under review. ~41 illustrations flagged and pending theological review (FA-029). Verify these are filtered from search and browse: WHERE flagged_at IS NULL.

  • Progressive Christianity filter. Illustrations tagged with Progressive Christianity tradition must not appear without manual review. Verify filtering at search/browse query time.