docs
Documentation menu

Billing, usage & spend cap

How MAU is metered, what's billable, and how the spend cap works.

#What you pay for — billable (reachable) MAU

Pushlane bills on monthly active users (MAU), but only the ones we can actually reach. Your billable figure is the intersection of two sets, recomputed each calendar month (UTC):

  • Active this month — distinct users with at least one event in the current calendar month, straight from the ClickHouse event ledger (the single source of usage truth).
  • Reachable — the user has at least one active device and has not opted out of marketing. This mirrors the delivery gate exactly: a user we would not push to is billed $0.
Note
The Settings → Billing screen shows your live billable MAU and the exact cost this month — nothing is estimated. The figure it displays is the same one the invoice keys on.

#How the price is computed

Each plan bundles a flat monthly base fee and an included MAU allowance. Above the allowance, overage bills per started 1,000-MAU block — so the number you see is the number you pay:

PlanBase / moIncluded MAUOverage
Free$01,000hard cap (no overage)
Growth$9910,000$5 / 1,000 MAU
Scale$39950,000$4 / 1,000 MAU
Enterprisefrom $1,999250,000custom (contact sales)

The metered figure is reported to Lemon Squeezy once a day by a scheduled job (action: "set", idempotent — re-flushing the same window never double-bills). Between flushes the dashboard always reflects the real ClickHouse number.

#The spend cap

A spend cap is an optional hard ceiling on your monthly spend, in dollars. Set it in Settings → Billing. Pushlane converts your cap into an equivalent MAU ceiling for your plan, then enforces it before every send:

  • While you are under the cap, everything sends normally.
  • Once your billable MAU reaches the cap's MAU-equivalent, sends to users you have not yet pushed this month are suppressed — reaching a not-yet-counted user would push your bill past the cap. Those users simply wait until next month.
  • Users you have already pushed this month — from any of your flows — are exempt: they are already counted in this month's billable MAU, so a further send to them costs nothing extra and keeps flowing.

The exemption is measured per user, across all your flows, by whether we have already delivered a push to that user this month (not by which flow). This is a deliberately conservative stand-in for “already billable”: it never lets a genuinely new user through the cap, and at most it may briefly hold a user who became billable through activity we have not yet pushed on.

Every suppression is logged in decision_log with reason spend_cap (visible in Logs), and the Billing screen shows how many sends the cap held back this month. Nothing is ever silently dropped, and a send is never faked as delivered.

Heads up
The spend cap is a best-effort cost protection, not a delivery guarantee. If Pushlane cannot read your cap status momentarily, it fails open — it sends rather than blocking delivery. (This is the opposite of consent, which fails closed.) The cap is also re-evaluated on a short cache, so it engages within a few minutes of your billable MAU crossing the threshold, not on the exact send.

Next: RevenueCat →