Billing and promo codes
Premium has two checkout paths:
- Campaign lifetime premium:
$20once for one campaign. - Premium user:
$5/mofor every unarchived campaign the user owns while the subscription is active.
Upgrade flow
Campaign owners open the Premium page and choose either Buy for this campaign or Start Premium user. Checkout is hosted by Stripe.
When Stripe confirms a campaign lifetime checkout, that campaign stays premium after ownership transfer. When Stripe confirms a Premium user checkout, the owner's unarchived campaigns are premium while the subscription is active.
Premium user subscriptions can be managed in Stripe Customer Portal. Subscription-sourced premium campaigns get a 7-day grace period to renew, buy campaign lifetime premium, or transfer to a Premium owner if the subscription stops granting access.
Promo codes
Promo codes are entered in Stripe Checkout. A fully discounted checkout still goes through Stripe so the premium path has an audit trail and redemption tracking.
If you run the app, use the human runbook in runbooks/generate-promo-code.md
to create Stripe promotion codes.
Billing ownership
Only the campaign owner chooses a premium path for that campaign. Campaign lifetime premium transfers with the campaign. Premium user benefits stay with the subscribed account and apply only to campaigns that account owns.
Grace period
If a Premium user subscription stops granting access, subscription-sourced premium campaigns keep premium behavior during a 7-day grace period. During that window the owner can renew the subscription, buy campaign lifetime premium, or transfer ownership to another Premium user.
If grace ends without a premium path, campaign data remains preserved and premium actions pause.