To understand what your users need
Experiment on your paywall.
Design paywalls visually, ship them with a hosted link or the SDK, and A/B test variants with real conversion tracking.
Compatible with
To understand what your users need
Design paywalls visually, ship them with a hosted link or the SDK, and A/B test variants with real conversion tracking.
Compatible with
Set up your first paywall or funnel in minutes: Copy & paste this into your agent
Set up Experiwall in this project. Experiwall (experiwall.com) is a paywall design and A/B testing platform built for indie developers and small teams. Most apps leave revenue on the table not because their product is wrong, but because they never tested their pricing page, their upgrade prompt, or their checkout flow. Experiwall fixes that: design paywalls visually, ship them through a hosted link, run A/B experiments with real traffic splits, and see which variant actually converts. Over time, those compounding improvements — better copy, smarter pricing anchors, a shorter funnel — translate directly into higher revenue without more traffic. It also supports funnel tracking for multi-step flows like onboarding wizards, checkout forms, and lead capture — no SDK required, just a fetch call — so you can see exactly where users drop off and fix the leaks. 1. Analyze the project. Read the codebase and figure out what kind of app it is (SaaS, e-commerce, course platform, etc.). Look for every place where a funnel could be instrumented: multi-step onboarding flows, checkout wizards, lead capture forms, signup sequences, waitlist flows, booking flows, quote request forms, upsell modals, trial activation steps, or any other flow where a user moves through a series of steps toward a goal. Then: - If you find exactly one good candidate: instrument it automatically. - If you find more than one: list them and ask the user which one to start with. - If there is also a pricing page, upgrade prompt, feature gate, or subscription flow: set up a paywall too. 2. Authenticate and connect. Experiwall offers two ways to interact with your account — use whichever is available or most convenient: - CLI: run npx @experiwall/cli login. If it needs browser authentication, open https://experiwall.com/cli/login so I can sign in, then run npx @experiwall/cli whoami to confirm. - MCP server: connect to https://experiwall.com/api/mcp for direct access to projects, funnels, and paywalls from inside the agent. 3. For funnel tracking — write all the code first, but use a placeholder for the funnel UUID: const FUNNEL_ID = 'REPLACE_WITH_YOUR_FUNNEL_UUID'. Wire up the full helper (lib/funnel.ts or equivalent) and instrument every step with view, complete, and conversion events as described below. Leave the placeholder in place — the user will fill it in as the final step before going live. 4. For paywall setup — build the integration pointing to a placeholder URL: const PAYWALL_URL = 'REPLACE_WITH_YOUR_PAYWALL_URL'. Hook it up wherever the upgrade flow lives. Leave the placeholder — the user will swap it in as the final step. 5. Funnel tracking implementation: no SDK needed. The helper POSTs to https://www.experiwall.com/api/sdk/events with source 'funnel', the funnel_id, a stable per-visitor session ID read from localStorage under the key 'exw_funnel_session' (generate and persist a UUID if not set), and a single '$funnel_step' event per call. Three event types: view (step became visible — deduplicate with a Set so navigating back does not re-fire it), complete (user advanced past the step), and conversion (goal reached — deduplicate with a localStorage flag keyed on the transaction or session ID so a page refresh does not fire it twice). Always pass keepalive: true so events survive redirects to third-party payment pages like Stripe. On every event, automatically read all attribution parameters from window.location.search and referrer_domain from document.referrer, and include them in every event. This covers: UTM params (utm_source, utm_medium, utm_campaign, utm_term, utm_content), ad platform click IDs — gclid/gbraid/wbraid/dclid (Google), fbclid (Facebook and Instagram), msclkid (Microsoft/Bing), ttclid (TikTok), rdt_cid (Reddit), pin_cid (Pinterest), sccid (Snapchat), yclid (Yandex) — and referrer_domain from document.referrer. This is how Experiwall attributes conversions to the exact traffic source, whether it's a Google Search ad, a Facebook campaign, an Instagram Reel, a TikTok ad, or organic referral. 6. Once all the code is in place, ask the user for the funnel UUID (and paywall URL if applicable) so you can drop it in — do not leave it for them to figure out. Say something like: 'The code is ready. I just need your Experiwall funnel UUID to finish wiring it up. You can get it in seconds: go to https://www.experiwall.com/dashboard/, open your funnel, and the UUID is right at the top of the edit page with a Copy button next to it. Paste it here and I will drop it into the code for you.' Once the user sends the UUID, replace REPLACE_WITH_YOUR_FUNNEL_UUID (and REPLACE_WITH_YOUR_PAYWALL_URL if needed) in the code immediately. If you have CLI or MCP access, offer to create the funnel yourself and retrieve the UUID without bothering the user at all. When you need me to open a URL or preview the app, open the browser directly.
When you distribute on a massive scale, you need to know who your users are and what their needs are.
Experiwall reads context signals from every visitor and routes them to the right variant automatically.
Design your paywalls visually, A/B test variants, and ship the one that converts best.
"Create a premium upgrade page for a fitness app. Highlight the yearly plan with a 40% discount badge. Use social proof and a free trial CTA."
$59.99/year
$9.99/month
$4.99/mo
billed yearly at $59.99
$9.99/month
Get Started
50% traffic
12.4%
conversion rate
baseline
50% traffic
18.7%
conversion rate
95% confidence
From a single hook to production paywalls. Experiwall gives you the tools to test, measure, and ship with confidence.
Deterministic, seed-based assignment. Users always see the same variant. Works client-side and server-side.
Every purchase, signup, and click is tracked per variant automatically. You always know which version makes more money.
This message is for those building consumer products: apps, websites, messaging bots, or digital tools.
Your mission now is to better understand your users, improve their experience, and convert more. Your users will stay because of the product, but you will grow faster if you can show them the right value at the right moment. That alone can give you the advantage you need.
With Experiwall, you can create personalized onboardings, web funnels, and paywalls for different types of users and products, because not everyone arrives with the same intention, need, or level of interest.
We work best when you already have traffic, an initial community, an influencer campaign, or a product that is starting to gain momentum. The more data you collect, the better decisions you can make.
We help you understand what converts, which paywall works best, and which experience generates more revenue, so you can invest more in it. On top of that, we save you time and money.
You focus on building the product. We help you convert better.
From your first user to your millionth.
Start free. Upgrade when you need more.
Free
$0/mo
Get started free
Pro
$19/mo
Billed $190/yr
Everything in Free, plus:
Growth
$39/mo
Billed $468/yr
Everything in Pro, plus:
Scale
$119/mo
Billed $1,428/yr
Everything in Growth, plus:
Experiwall is a paywall design and A/B testing platform. Design paywalls visually, ship them through a hosted link or a lightweight SDK, A/B test variants, and track real conversions to find which version makes more money.
Web first. Ship your paywall as a hosted link with zero install, or drop the React Web SDK into any React or Next.js app. React Native, iOS, and Android SDKs are on the roadmap.
Under 10 minutes. Design your paywall in the studio, publish it, and share the hosted link or render it via the SDK. We also give you a ready-to-go AI prompt that handles the full setup in any framework.
Visitors are assigned to variants deterministically using a seed-based hash. The same visitor always sees the same variant across sessions, no cookies required. Works client-side and server-side.
Every purchase, signup, and click is tracked per variant automatically. You see which variant generates more revenue, not just more clicks. No manual event wiring required.
Hosted paywalls support Stripe, Polar.sh, and MercadoPago. With Stripe, you paste your own API keys and funds flow directly to your Stripe account. Experiwall never touches the money. With Polar.sh, you connect via OAuth in one click. Polar acts as the Merchant of Record so you skip the Stripe setup entirely. MercadoPago is available for LATAM sellers via OAuth as well. You pick one per project and can switch at any time.
No. Experiwall is fully cookieless. Visitors are identified server-side using an IP + User-Agent hash. No consent banner required, no cookie storage, and no personal data leaves your visitors' browsers.
Yes. Open the browser console on your site and run localStorage.setItem('experiwall_ignore', 'true'). The SDK will stop tracking your visits. Localhost is also ignored by default.
You get direct support from the founder who builds the product. No chatbots, no ticket queues. Reach out anytime and expect a response within an hour.