Plans & billing
SignalGuide has three tiers: Free, Pro, and Agency. Payments go through Stripe. You can upgrade, downgrade, or cancel at any time from the Settings page.
Plans
Free
Free forever, no card required. What's included:
- 1 website
- On-demand analysis — run from the dashboard whenever you want
- MCP access — plug into Claude, ChatGPT, or Cursor
- 30-day snapshot history
- Up to 3 content clusters
- No scheduled delivery
Pro — $49/month
Everything in Free, plus scheduled briefings and the full feature set for a single site:
- 1 website
- Scheduled briefings — daily, weekly, or monthly
- Email and Slack delivery
- AI referral tracking (ChatGPT, Gemini, Perplexity, Claude)
- Priority alerts on drops and spikes
- Unlimited content clusters
- 12-month history
Agency — $199/month
Everything in Pro, scaled to multiple sites:
- Up to 15 websites (enforced in
api/routes/sites.py) - White-label reports
- PDF export
- Client sharing links
- API access
- Priority support
starter plan label appears in the codebase but has no active Stripe product and no separate feature set — it is treated as free. There is no Starter pricing tier to purchase.Upgrading
Go to Settings → Subscription. Click Upgrade to Pro or Upgrade to Agency. That button hits POST /billing/create-checkout in api/routes/billing.py, which creates a Stripe checkout session and redirects you to Stripe's payment page.
After payment, Stripe fires a webhook to POST /billing/webhook. The webhook handler reads the price ID from the completed subscription, maps it to a plan name, and updates your account. Your plan updates within a few seconds of Stripe confirming payment.
Both Pro and Agency offer a 14-day trial. The trial is handled by Stripe; no card charge occurs until the trial period ends.
Managing your subscription
Once you're on a paid plan, Settings → Subscription shows a Manage subscription button. That button calls POST /billing/portal, which creates a Stripe customer portal session and redirects you to Stripe's self-service portal.
From the Stripe portal you can:
- Update your payment method
- View invoices and download receipts
- Switch between Pro and Agency
- Cancel the subscription
Cancelling
Cancel from the Stripe portal (see above). When Stripe processes the cancellation it sends a customer.subscription.deleted webhook. The webhook handler in api/routes/billing.py sets your plan back to free.
After downgrade to free:
- Scheduled reports stop — existing schedule rows remain but the plan check blocks delivery.
- Sites beyond the first are not deleted — but you can't create new ones until you're back to one active site.
- Snapshot history and configuration (clusters, conversion pages, vanity filters) are preserved.
Billing troubleshooting
Plan didn't update after payment
The plan update happens via Stripe webhook. If the webhook delivery failed or is delayed (Stripe retries for up to 72 hours), your plan may not reflect payment immediately. Wait a few minutes and refresh Settings. If it still shows Free after 10 minutes, email support@signalguide.io with your account email and we'll sort it out.
Can't open the Stripe portal
The portal button requires that your account has a stripe_customer_id. This ID is set when you first go through checkout. If you skipped checkout and never started a subscription, the portal button returns a 400. Start a subscription first.
Related: Troubleshooting.