Documentation Index
Fetch the complete documentation index at: https://docs.abtestly.com/llms.txt
Use this file to discover all available pages before exploring further.
Plans
ABTestly has four self-serve plans plus Enterprise.What’s included in every plan
- Unlimited team members
- Unlimited historical data preserved on every site (even after downgrade)
- Full targeting feature set
- Real-time results dashboard
- 99.9% snippet uptime
- Email support
Plan limits
| Free | Starter | Pro | Business | Enterprise | |
|---|---|---|---|---|---|
| Monthly price | $0 | $49 | $99 | $249 | $599+ |
| Sites | 1 | 2 | 5 | 10 | Unlimited |
| Active experiments | 1 | 5 | Unlimited | Unlimited | Unlimited |
| Monthly tracked users (MTU) | 3,000 | 50,000 | 200,000 | 1,000,000 | Custom |
| Annual discount | — | 20% | 20% | 20% | Custom |
What’s a Monthly Tracked User (MTU)?
An MTU is a unique visitor (identified by a per-site hashed user ID stored inlocalStorage) who is bucketed into at least one experiment during the calendar month. The counter resets at 00:00 UTC on the 1st of each month.
- If a visitor returns multiple times in the same month, they count once.
- If they’re in 5 experiments simultaneously, they still count once.
- If they have no
localStorage(e.g., they cleared cookies, switched browser, or use private browsing), each visit is a new MTU.
What happens if I hit my MTU limit?
ABTestly never auto-charges for overages. Instead, your site enters graceful degradation:- Visitors already bucketed continue to see their variant. Their cached
localStorageassignment is honored, exposures still flow to your dashboard, statistical validity is preserved for the active cohort. - New visitors are NOT bucketed. They see the original page and don’t consume an MTU.
- No data loss. Already-bucketed users keep generating exposures and conversions.
- You get email warnings at 80% and 100% so you can upgrade if needed.
How it works under the hood
ABTestly maintains a Durable Object per organization that tracks distinct user hashes across all sites in that month. When the count hits 100% of your plan’s MTU, the snippet’s served config gets adegraded: true flag injected at the edge. The snippet’s new-visitor branch reads this flag and skips bucketing.
The change propagates within ~5 minutes of hitting the cap (cron tick interval + edge cache TTL).
Upgrading
In your dashboard → avatar menu → Billing & Plan → choose a higher tier. Checkout is handled by Paddle (our Merchant of Record — they handle tax, invoicing, and global payments). Upgrade takes effect within 5 seconds of payment. Your new limits apply immediately.Downgrading
Same path — choose a smaller plan. Your existing data is preserved (we call this “grandfathering”):- If you have 5 sites on Pro and downgrade to Starter (2 sites), your 5 sites continue running. You can’t add new sites until you’re under 2, but existing ones are unaffected.
- Same applies to active experiments — running tests stay running.
- MTU limit drops immediately to the new tier’s allowance. If that puts you over budget, graceful degradation kicks in.
Cancellation
In your dashboard → Billing & Plan → Manage subscription → opens Paddle’s customer portal → Cancel subscription. Your subscription continues to bill (and you keep paid-tier access) until the end of your current period. After the period ends:- Your account is downgraded to Free tier limits
- Your data is preserved forever (not deleted)
- You can re-subscribe anytime to get back to your previous tier
Inactivity
If you’re on the Free tier and your account has no activity for 90 days (no dashboard logins, no API calls, no exposures recorded), we’ll archive it. You’ll get a warning email at day 83. Archived ≠ deleted. Your data is preserved. Next time you log in, you’ll see a one-click Reactivate page. Click it, your account is back to normal. No re-onboarding, no re-confirming email, no data loss. Paid-tier accounts are never archived for inactivity.Founding 100 promo
The first 100 customers who sign up for Pro get 20% off for 12 months (99/month). Coupon code:FOUNDING100
Apply at checkout. Paddle validates the redemption counter — once 100 customers have used it, the code stops working. There’s no waitlist; first come, first served.