Integrations · PostHog

PostHog + your billing: find who pays and stopped using.

PostHog knows who uses your product. Your billing knows who pays. Keep joins the two and tells you which paying customers are slipping away — before the cancellation shows up.

Why usage comes before churn

Most churn dashboards measure what already happened: the cancellation. By then the customer decided weeks ago. The earlier signal is behaviour — a team that logged in daily and now logs in once a week.

That signal lives in your product analytics, not in your billing. Keep reads it from PostHog and puts a dollar amount next to it. It does not predict churn with a score; each at-risk account carries an explicit reason you can check.

What Keep flags

Risk reasons Keep assigns to paying accounts, from usage and billing data.
—What it means
Usage dropActivity in the last 7 days fell below half of the 7 days before.
SilentNo activity for longer than your own users usually go quiet — a threshold learned from their rhythm, between 3 and 30 days, 14 by default, and adjustable.
InactiveNo activity at all in the last 30 days.
ForgottenNo visible usage and no recorded contact in HubSpot for a number of days — nobody is watching the account from either side.
Dropped a key featureStopped using a feature it relied on. Needs feature names sent through Keep's activity API.

What Keep reads and stores

Based on Keep's PostHog integration as of September 2026.
—Keep and PostHog
ConnectionOAuth with read-only scopes (project:read, query:read). US and EU regions.
ReadsPer-person event counts for the last 14 days, when each person was last seen in the last 30, and their email for the match.
WritesNothing.
StoresAccess and refresh tokens, encrypted with AES-256-GCM.

How to connect

  1. Connect your revenue first

    Stripe, AbacatePay, or Asaas gives Keep the list of paying customers and their MRR.

  2. Authorize PostHog

    OAuth with read-only scopes. There is no key to paste.

  3. Check the match rate

    Keep shows how many paying customers it could match to usage, so you see the gap instead of trusting a partial number.

How matching works

Keep matches each PostHog person to a paying customer by the billing email. In B2B, where one person pays and others use the product, HubSpot fills the gap: with it connected, colleagues at the same company domain count too, and usage is summed for the whole company.

When you need an exact match, Keep's activity API accepts the Stripe customer id directly from your backend, which removes the guesswork.

Questions

Does Keep read the content of my PostHog events?
No. It reads aggregated counts per person — how many actions in the period and when each person was last seen — plus the person's email for the match.
Do I need PostHog to use Keep?
No. Billing alone gives revenue, cancellations, downgrades, and failed payments. PostHog, or Keep's activity API, is what adds the paying-but-inactive signal.
Does it work with PostHog EU Cloud?
Yes. Keep supports both the US and EU PostHog regions.
I use Mixpanel, Amplitude, or Segment. Can I still use Keep?
Not natively today. You can send usage from your own backend through Keep's activity API, keyed by Stripe customer id or email.

Other integrations

See who is paying and gone quiet.

Connect your billing and PostHog and get the first list of at-risk accounts, ordered by MRR.