Skip to content

Add Premium landing A/B test - #151

Merged
AlejandroAkbal merged 2 commits into
mainfrom
premium-ab-test-review
Jul 27, 2026
Merged

AlejandroAkbal merged 2 commits into
mainfrom
premium-ab-test-review

Conversation

@AlejandroAkbal

@AlejandroAkbal AlejandroAkbal commented Jul 27, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add native Matomo PremiumLandingV1 assignment
  • add OfferFirst and YearlyFocus landing-page variants
  • retain the current page as original

Validation

  • pnpm vitest run test/assets/monetization-measurement.test.ts
  • pnpm typecheck
  • pnpm build
  • git diff --check

Summary by CodeRabbit

  • New Features
    • Added a new Premium offer landing page with pricing plans, feature highlights, testimonials, FAQs, and customer ratings.
    • Added payment dialogs with credit card and cryptocurrency checkout options.
    • Added support for promotional banners and responsive feature galleries.
    • Introduced tailored Premium landing page variations to highlight different subscription plans.
    • Improved Premium page SEO and structured product information.

@AlejandroAkbal
AlejandroAkbal merged commit 017bd6b into main Jul 27, 2026
1 check was pending
@coderabbitai

coderabbitai Bot commented Jul 27, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c85587c5-462d-40a2-9f1a-7cd92ca4b628

📥 Commits

Reviewing files that changed from the base of the PR and between 757fef7 and b3bc626.

📒 Files selected for processing (5)
  • app/components/pages/premium/PremiumOfferLanding.vue
  • app/composables/useExperiments.ts
  • app/pages/premium/index.vue
  • app/plugins/040.matomo.client.ts
  • test/assets/monetization-measurement.test.ts

📝 Walkthrough

Walkthrough

The premium page now supports experiment-controlled landing variations. Non-original variations render a new offer landing component, while the original retains the existing page. Matomo assigns and tracks the variation, and monetization tests cover the new component and tracking behavior.

Changes

Premium landing experiment

Layer / File(s) Summary
Variation state and Matomo tracking
app/composables/useExperiments.ts, app/plugins/040.matomo.client.ts
Adds typed premium landing variation state and Matomo PremiumLandingV1 assignment and page-view tracking.
Premium offer landing UI
app/components/pages/premium/PremiumOfferLanding.vue
Adds variant-specific pricing, translated content, promotion and feature sections, FAQ content, payment links, modal checkout options, and SEO/schema metadata.
Premium page variation routing and validation
app/pages/premium/index.vue, test/assets/monetization-measurement.test.ts
Renders the new landing for non-original variations, preserves the existing page for the original variation, and expands monetization and experiment tracking assertions.

Sequence Diagram(s)

sequenceDiagram
  participant Visitor
  participant Matomo
  participant PremiumPage
  participant PremiumOfferLanding
  Visitor->>PremiumPage: Open /premium
  PremiumPage->>Matomo: Initialize PremiumLandingV1 tracking
  Matomo->>PremiumPage: Set landing variation
  PremiumPage->>PremiumOfferLanding: Render selected offer variant
  Visitor->>PremiumOfferLanding: Select a payment plan
  PremiumOfferLanding->>Matomo: Track selected interval
  PremiumOfferLanding->>Visitor: Show payment options modal
Loading

Possibly related PRs

  • Rule-34/App#121: Modifies the same Matomo initialization and routing flow affected by the premium landing variation tracking.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch premium-ab-test-review
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch premium-ab-test-review

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant