# PostHog + Stripe integration and analysis

Connect PostHog and Stripe to Hendrik. Compare PostHog captured checkout events with Stripe payment, refund, and dispute data to test a checkout or measurement hypothesis.

## The question this stack can answer

Do PostHog checkout events line up with Stripe payments?

## What Hendrik reads from each source

- **PostHog:** Events, sessions, releases, and feature flags show whether the product or checkout journey changed.
- **Stripe:** Payments, refunds, and disputes show whether money was collected after an order was placed.

## What you need to connect

- Use one explicit 28-day comparison window, time zone, market, and legal-entity scope before comparing values.
- Connected PostHog project with the relevant event definition and capture coverage.
- Connected Stripe account with payment, refund, and dispute data for the same legal entity.
- Keep provider-specific definitions visible and use an identity or product mapping only where it is established for this workspace.

## Important limits

- Captured events depend on instrumentation and coverage; they do not automatically identify a payment, order, or campaign.
- Payments must not be added to storefront or marketplace revenue; transaction reconciliation needs a proven payment relationship.

## Illustrative example

### PostHog + Stripe review

Previous: 1–28 January. Current: 29 January–25 February. Both periods contain 28 days. Monetary values use USD and all timestamps use UTC.

*About this example: Synthetic data · illustrative analysis · Hendrik only acts with the permissions you give it.*

- checkout-completed events (count, 28 days) (PostHog): 1,360 → 1,160
- successful payment amount (USD, 28 days) (Stripe): 102,000 USD → 94,000 USD

### What Hendrik checks

- **Event and release context:** Check PostHog event definition, instrumentation coverage, feature-flag exposure, annotations, and session scope before interpreting a journey change.
- **Payment and refund scope:** Check Stripe payment, refund, dispute, and balance-transaction dates. Establish an order-to-payment reference before reconciliation.
- **Explain the divergence:** PostHog: checkout-completed events (count, 28 days) changed from 1,360 to 1,160. Stripe: successful payment amount (USD, 28 days) changed from 102,000 USD to 94,000 USD. Compare the timing and definitions before attributing one change to the other.

### What Hendrik sees

PostHog checkout-completed events fell. Stripe successful payment amount fell.

### What to do next

Review the product journey and processor data before changing acquisition; reassess after instrumentation and payment scope are stable.

**Limit:** PostHog events do not establish a Stripe transaction relationship without a proven reference.

## Provider documentation

- [PostHog documentation](https://posthog.com/docs)
- [Stripe documentation](https://docs.stripe.com/reports)

## Start with this stack

[Create a workspace and connect PostHog + Stripe](https://app.withhendrik.com/auth?mode=sign-up&acquisition_channel=marketing&return_to=%2Fonboarding%2Factivation&cta_location=integration_markdown&landing_page_id=combination-posthog-stripe&combination=posthog-stripe)
