Documentation · Billing & Plans.

Plans, trials, and your monthly event allowance — explained.

A 7-day free trial with no card, one pooled monthly event allowance across all your shops, instant in-app upgrades, and a self-serve billing portal. Secure, Stripe-backed payments from checkout to dashboard.

See pricing Back to docs

Overview

Admaxxer billing runs on Stripe — secure checkout for purchase and a self-serve billing portal for managing your subscription (card updates, invoice viewing, plan swaps, cancellations). Every plan's price, included monthly events, retention window, and team seats come from a single canonical definition that the pricing page, this documentation, your billing screen, and checkout all read from. Because there is exactly one source for those numbers, what you see on /pricing is always what you're billed and what's enforced.

The customer flow is short: pick a plan on /pricing, sign up (no card, 7-day trial), upgrade through secure checkout, and return to your workspace already activated. You can change plans any time from your billing portal. There are no surprise overage bills, no surprise downgrades, and no waiting on a sales call to upgrade — you stay in control end to end.

Stripe is the authority for your billing state (subscription status, billing cycle, invoice history), and your Admaxxer account reflects that state for what you can do in the product (active plan, allowances, features). The two stay in lockstep automatically, so a change you make in checkout or your billing portal is reflected in your dashboard within seconds.

Plans

Five tiers, monthly or annual. Annual = monthly × 10 (two months free). The one metered allowance is tracked pixel events per month — Starter 15,000, Growth 100,000, Pro 750,000, Scale 3,000,000, Enterprise 15,000,000. Team seats, ad-account connections, and Maxxer AI chat messages are unlimited on every paid plan (Maxxer chat uses your own AI provider key, billed by that provider). Your events allowance is pooled per account: if you own multiple shops, their tracked events share one monthly pool, and a single upgrade lifts the allowance for every shop you own.

Admaxxer plans — pricing and quotas (canonical: shared/pricing.ts)
Plan Monthly Annual Tracked events / mo Retention Team seats
Starter (AD_STARTER) $9 / mo $90 / yr (2 months free) 15,000 12 months 1
Growth (AD_GROWTH) $29 / mo $290 / yr (2 months free) 100,000 18 months 3
Pro (AD_PRO) $79 / mo $790 / yr (2 months free) 750,000 24 months 10
Scale (AD_AGENCY) $199 / mo $1990 / yr (2 months free) Unlimited 36 months 25
Enterprise (AD_ENTERPRISE) $499 / mo $4990 / yr (2 months free) Unlimited 60 months Unlimited
Platform (AD_PLATFORM) $999 / mo $9990 / yr (2 months free) Unlimited 60 months Unlimited

For full feature breakdowns and side-by-side comparisons, see the customer-facing /pricing page.

Plan names

Plans are simply named Starter, Growth, Pro, Scale, and Enterprise, each available monthly or annually. You choose one when you sign up or upgrade, and you can move between them at any time from your billing portal — every shop you own moves to the new plan together.

Why we don't bill on usage

Many ad-tech tools bill on revenue managed or ad spend processed. We don't. Flat plans give you predictable cost — no surprise invoice when you have a big month — and give us predictable revenue, so we're not pushing you toward a higher tier you don't need. The trade-off is we leave some money on the table with heavy users, and we're happy to make that trade for a cleaner relationship.

Free trial — 7 days, no card required

Every signup gets 7 days, no credit card. Your trial begins the moment you activate it and runs for a full 7 days with the real Starter experience — the same allowances a paying Starter customer gets, not a watered-down preview. The dashboard shows a banner counting down the days remaining. We email you before the trial ends, and when the window closes your account switches to an expired state with an upgrade prompt until you pick a plan.

Why no card up front? Because we'd rather you experience the full product before deciding to pay. You get the genuine Starter feature set for the whole week, and nothing is charged unless you actively choose a plan.

What if I'm stuck on the billing page?

On rare occasions you might find every page of Admaxxer redirecting you back to /billing. This usually means your free trial wasn't started yet. Look for the green "Start 7-day free trial — no credit card required" button at the top of the billing page and click it. Your trial activates instantly and you'll be sent to onboarding.

If you don't see the green button, refresh the page once. It appears for any account that hasn't started a trial yet — it doesn't matter how you arrived on /billing, and it survives any redirect, deep link, or bounce.

Why this can happen: in October 2026 we introduced an "explicit trial" flow where new users actively click to start their trial, so we never charge a card without consent. A small number of people completed signup before clicking the button — we now start a 7-day Starter trial automatically for anyone who finishes onboarding without one, so the loop is closed for new accounts. If you're an older account that landed in this state, the green button on /billing will always start your trial.

Trials last 7 days, no credit card, with Starter unlocked (15,000 tracked events / month pooled across every shop you own, unlimited ad connections, the Maxxer AI agent; MMM, incrementality, and ad-level LTV are paid-only). The trial is Starter-only and once per account — if you need higher event allowances or paid-only features before your trial ends, subscribe directly to that plan; your remaining trial days are not lost, you simply move to paid earlier. When the trial ends, the dashboard pauses event tracking until you add a payment method through secure checkout.

Quick FAQ

Can I switch my trial to a higher plan?
No — the trial is Starter-only. To get more events, retention, or paid-only features (MMM, incrementality, ad-level LTV) during your trial, subscribe to the higher plan through secure checkout. Your remaining trial days aren't lost; you simply move to paid earlier.
I added a 2nd shop. Why does its event allowance look different from my main shop?
It shouldn't. Your Starter trial's 15,000-event allowance is shared across every shop you own, and every newly-added shop inherits your current plan and status automatically. If you're seeing different numbers per shop, refresh /billing — a few shops created before May 2026 may need a one-time refresh, which our team can apply if it persists.
The button says "Start 7-day free trial — no credit card required". Where is it?
Top of /billing, before the plan grid. If it's missing, refresh once. It appears for any account that hasn't started a trial yet.
Why was I bounced back to billing?
Your dashboard needs an active trial or plan to load. Until you have one, it redirects you to /billing. Clicking the green button activates your trial and unlocks the dashboard immediately.

Refund policy — 14 days, monthly

14-day money-back guarantee on monthly plans, once per workspace. If you're not satisfied within the first 14 days of an upgrade, email support and we'll refund your last month directly to the original payment method via Stripe. The "once per workspace" qualifier prevents abuse (cycling between paid and refunded), not legitimate refund requests — we honor honest customer concerns without quibbling.

Annual plans receive a prorated refund mid-term — you only pay for the months you used. Cancellations apply at the end of the current billing period unless you specifically request immediate cancellation with a prorated refund.

Checkout flow

When you choose a plan, Admaxxer sends you to Stripe's secure, hosted checkout to enter payment. Complete it and you're returned to your workspace already on your new plan; cancel and you're returned to /pricing with nothing changed and no charge.

You never type card details into Admaxxer itself — checkout happens on Stripe's PCI-compliant page, and once your payment succeeds your plan activates automatically (see the next section).

Activation — what happens after you pay

As soon as your payment is confirmed, your plan activates within seconds and applies to every shop you own — there's no manual step on your end. You're returned to your workspace already on the new plan, with your full event allowance unlocked across all of your shops.

Activation is reliable by design. We confirm which plan you bought from your payment itself, so the right tier turns on every time. And if anything goes wrong mid-activation, your payment is never left in a half-applied state — activation either completes fully or is safely retried, so you never end up paying without the plan turning on.

Plan change — proration handled

Change your plan any time from your billing portal. On an upgrade, Stripe charges only the prorated difference for the rest of your current billing period, and your higher allowances unlock immediately — there's no interruption to your dashboard while the change applies.

Downgrades take effect at the end of your current billing period rather than immediately, so your allowances don't tighten mid-month while you're actively working.

Quota enforcement — hard cap, no overage

There's one metered allowance: tracked pixel events per month, pooled across every shop you own. We continuously track your combined usage, and when it reaches your plan's monthly allowance we pause new event tracking on all of your shops. Tracking stays paused until either your monthly window resets or you upgrade to a higher plan — at which point it resumes right away.

We never bill overage. If you hit your allowance mid-month, you can't accidentally run up a surprise bill — tracking simply pauses until you choose to upgrade or your window resets. This works the same for trial and paid accounts.

The 80% heads-up + 100% limit-reached emails

Two emails reach you on the way to your limit, at most once per monthly window:

You'll only ever receive one of each email per monthly window, so a fast-growing shop won't be spammed. When your window resets, both your usage and these reminders reset too, so the next cycle behaves exactly the same.

Pooled per account, not per shop

Your tracked-event allowance is shared across all the shops you own — it's tied to your account, not to any single shop. Add a second or third shop and they all draw from the same monthly pool, which updates continuously as traffic comes in. If one shop has a big month, it simply uses more of the shared pool; if you need more headroom, a single upgrade lifts the allowance for every shop at once. When your monthly window resets, the shared pool refills automatically.

What "limit reached" looks like to your integrations

When you reach your allowance, anything sending us events — your storefront pixel, a server-side integration, or our SDK — receives a clear "limit reached, try again later" response rather than an error suggesting something is broken. That signal tells your integration the events will start flowing again once your window resets or you upgrade, so nothing needs to be reconfigured on your end.

Billing portal — self-serve

From your billing screen you can open a secure, Stripe-hosted billing portal to update your card, view and download past invoices, switch plans, or cancel — without writing to support. Any change you make there is reflected in your Admaxxer account within seconds, so your plan and allowances always match what's in the portal.

The portal lets you swap plans, update your card, view invoices, and cancel; supplying a tax ID is optional.

Payment failure handling

When a payment fails, Stripe automatically retries it over the following days — typically a few attempts over 2-3 weeks — and we email you so you can update your card in your billing portal. If every retry fails, your account loses paid access. Your data is preserved for 90 days, so you can update your card and reactivate without losing anything; only after 90 days is the data scheduled for removal.

The 90-day window is a deliberate choice. Many tools delete your data the moment a subscription lapses, so coming back even two weeks later means starting from scratch. Our buffer gives you a real chance to recover from a bounced card without losing your attribution history, AI chat threads, or saved dashboards. The trade-off is storage cost, which we're happy to absorb in exchange for a smoother return.

We email you once when a payment first fails, and not again until a retry actually fails — we won't flood your inbox while your card is being retried. A declined payment is stressful enough without a pile of duplicate emails.

Attribution carries through checkout

When you upgrade, the marketing context of how you found Admaxxer — your campaign source, medium, and campaign name (UTMs), plus your analytics identifier — travels with you through secure checkout. That means a paid conversion is attributed back to the exact campaign that drove it, so your own acquisition reporting stays accurate end to end.

This is the same first-party attribution discipline Admaxxer applies to your store's revenue: every purchase keeps its full marketing context from first touch through to the sale, with nothing dropped along the way.

How we keep billing secure and reliable

Payments are handled entirely by Stripe, a PCI-compliant payment processor. You enter card details on Stripe's secure checkout — Admaxxer never stores or even sees your raw card number, only Stripe's tokens. Your card and invoices live in your Stripe-backed billing portal, which you can open any time from your billing screen.

Every message Stripe sends us about your subscription is cryptographically verified before we act on it, so subscription and payment status can't be forged or tampered with. And every checkout returns you to the correct place in your workspace, already on your new plan — there's no broken hand-off between paying and getting access.

Coupons, promo codes, and discounts

If you have a promo code, enter it on the secure checkout page — there's an "Add promotion code" field — and the discount applies automatically. Codes can be a percentage off, a fixed amount off, or limited to a set duration, and the math is handled for you on every invoice.

One thing to note: a discount changes your price, not your plan. A Starter customer with a generous coupon still has Starter's allowances — a promo code lowers what you pay, it doesn't quietly bump you to a higher tier. To get more events or features, you upgrade your plan.

Tax handling and invoicing

Stripe Tax computes sales tax, VAT, and GST automatically based on the customer's billing address. We enable Stripe Tax at the account level and let it flow through Checkout — customers see the tax line item before they pay. Invoices generated by Stripe include the tax breakdown, the merchant's tax ID, and (where required) the customer's tax ID. EU customers can supply a VAT number in the Customer Portal; we forward it to Stripe Tax for proper B2B treatment.

For US customers, sales tax is computed per state based on Stripe Tax's economic-nexus tracking. We register in states where we cross the threshold; below threshold, no tax applies. Customers can request a tax-exempt status via support; once configured in Stripe, the exemption applies on the next renewal.

Keeping your subscription in sync

Stripe notifies Admaxxer whenever something changes about your subscription — a successful purchase, a plan change, a renewal, a failed payment, or a cancellation — and your account updates to match within seconds. So whether you upgrade in checkout, swap plans in your billing portal, or a renewal goes through, your dashboard always reflects your true, current plan and allowances.

Two safeguards make this dependable. First, we cryptographically verify every notification from Stripe before acting on it, so your subscription status can't be forged or tampered with. Second, if Stripe sends the same notification more than once (it retries to guarantee delivery), we recognize the duplicate and apply the change only once — you'll never be double-charged or double-applied because of a retry.

Frequently asked

Do I need a credit card to start the trial?
No. The 7-day trial requires no credit card. Your trial starts the moment you activate it and runs for a full 7 days with Starter-tier limits. We email you before it ends, and when the window closes your account simply switches to an expired state until you choose a plan — nothing is charged automatically.
How do I know plan prices and quotas are always accurate?
Every plan's price, included monthly events, retention window, and team seats come from one canonical definition that the pricing page, this documentation page, your billing screen, and our checkout all read from. There is exactly one place these numbers live, so what you see on /pricing is always what you're billed and what's enforced — they can't drift apart.
What happens when I exceed a plan quota?
The one metered limit is tracked events per month, and it's pooled across every shop you own. When the combined usage across all your shops reaches your plan's monthly allowance, we pause new event tracking on all of them and tell you you've hit your limit. We never bill overage. To resume tracking, either upgrade to a higher plan (in-app, instant) or wait for your monthly window to reset. Ad-account connections and team seats are unlimited on every paid plan — they're informational, not gated.
How does plan change work mid-cycle?
Upgrade from your billing screen and your new plan takes effect immediately. We charge only the prorated difference for the rest of your current billing period, your higher allowances unlock right away, and there's no interruption to your dashboard while the change applies.
Is my payment information safe?
Yes. All payments, cards, and invoices are handled directly by Stripe — Admaxxer never stores your raw card number. You enter card details on Stripe's secure checkout and manage them in your billing portal; we only ever see Stripe's tokens, never the card itself.
What's the refund policy?
14-day money-back guarantee on monthly plans, once per workspace. Annual plans receive a prorated refund mid-term — you only pay for the months you used. Refunds are issued via Stripe directly to the original payment method.
Can I downgrade my plan?
Yes. Use the Customer Portal (POST /api/billing/portal returns the portal session URL). You can downgrade at any time; the change applies at the end of the current billing period. Quotas tighten on the next renewal.
What happens if my card fails?
Stripe automatically retries a failed payment over the following days, and we email you so you can update your card in your billing portal. If every retry fails, your account loses paid access — but your data is preserved for 90 days, so you can update your card and pick up exactly where you left off without losing anything.
What if I'm stuck on the billing page and every dashboard route bounces me back?
This usually means your free trial wasn't started yet. Look for the green 'Start 7-day free trial — no credit card required' button at the top of the billing page and click it. Your trial activates instantly and you'll be sent to onboarding. If you don't see the green button, refresh the page once — it appears for anyone who hasn't started their trial yet, no matter how you arrived on /billing.
Why does the billing page show no trial CTA when I land on it?
If the green 'Start 7-day free trial — no credit card required' card is missing, refresh the page once. It appears for any account that hasn't started a trial yet and survives any redirect, deep link, or bounce. If the refresh still shows no CTA, your trial is already active and you should be able to reach /dashboard directly.
Can I switch my trial to Growth, Pro, or another plan?
No. The 7-day free trial is Starter-only. If you need more events, retention, or advanced features (MMM, incrementality, ad-level LTV) before your trial ends, subscribe to the higher plan via Stripe Checkout — your remaining trial days are not lost, you simply move to paid earlier. There is no second free trial: every subsequent plan change happens via the Stripe Customer Portal or /api/v1/billing/change-plan, fully metered.
I have multiple shops. Do I get a separate trial for each?
No. The 7-day trial is per user, not per workspace. Every shop you add (via the 'Add shop' button in the workspace switcher) inherits your current trial: same Starter quotas, same end date, same status. The 15,000 monthly event quota is pooled across every shop you own — if Shop A consumes 12,000 events, Shop B has 3,000 remaining for the same window. When you upgrade to a paid plan, every shop you own moves to the same plan automatically.
What happens when I hit my monthly tracked-event cap?
We send one heads-up email when your combined usage reaches about 80% of your plan's monthly allowance (roughly 12,000 events on Starter, 80,000 on Growth, 600,000 on Pro, 2,400,000 on Scale, 12,000,000 on Enterprise) so you have time to upgrade. If you reach 100%, you get a second 'limit reached' email and we pause new event tracking on all of your shops until either your monthly window resets or you upgrade — at which point tracking resumes immediately. This works the same for trial and paid accounts, and we never bill overage. You'll only ever get one of each email per monthly window, so a fast-growing shop won't be spammed.
Why did I receive an 'event cap reached' email?
Because the combined tracked events across every shop you own crossed your plan's monthly allowance, which is shared across all of them. For example, if one shop used 14,000 events and another used 1,200 on a 15,000-event plan, your shared pool is at 15,200 and you've hit the limit even though no single shop maxed out on its own. Your shared allowance refills automatically when your monthly window resets, and the warning emails reset with it — so next cycle they'll fire again as expected.

Next steps