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
| — | What it means |
|---|---|
| Usage drop | Activity in the last 7 days fell below half of the 7 days before. |
| Silent | No 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. |
| Inactive | No activity at all in the last 30 days. |
| Forgotten | No visible usage and no recorded contact in HubSpot for a number of days — nobody is watching the account from either side. |
| Dropped a key feature | Stopped using a feature it relied on. Needs feature names sent through Keep's activity API. |
What Keep reads and stores
| — | Keep and PostHog |
|---|---|
| Connection | OAuth with read-only scopes (project:read, query:read). US and EU regions. |
| Reads | Per-person event counts for the last 14 days, when each person was last seen in the last 30, and their email for the match. |
| Writes | Nothing. |
| Stores | Access and refresh tokens, encrypted with AES-256-GCM. |
How to connect
Connect your revenue first
Stripe, AbacatePay, or Asaas gives Keep the list of paying customers and their MRR.
Authorize PostHog
OAuth with read-only scopes. There is no key to paste.
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.