# PostHog + Klaviyo integration and analysis

Connect PostHog and Klaviyo to Hendrik. Use PostHog captured journey data with Klaviyo message and flow context to test a lifecycle hypothesis.

## The question this stack can answer

Did product activity and Klaviyo activity change together?

## What Hendrik reads from each source

- **PostHog:** Events, sessions, releases, and feature flags show whether the product or checkout journey changed.
- **Klaviyo:** Flows, campaigns, and lifecycle activity show messages, audience changes, and repeat purchase context.

## 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 Klaviyo account with the relevant message, flow, and attribution definitions.
- 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.
- Message attribution is observational and does not show that exposure caused a store, payment, or subscription outcome.

## Illustrative example

### PostHog + Klaviyo 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
- flow-attributed orders (count, 28 days) (Klaviyo): 310 → 420

### 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.
- **Message and audience definition:** Check Klaviyo attribution setting, send volume, audience, exclusions, flow changes, and message window before interpreting attributed value.
- **Explain the divergence:** PostHog: checkout-completed events (count, 28 days) changed from 1,360 to 1,160. Klaviyo: flow-attributed orders (count, 28 days) changed from 310 to 420. Compare the timing and definitions before attributing one change to the other.

### What Hendrik sees

PostHog checkout-completed events fell. Klaviyo flow-attributed orders rose.

### What to do next

Check the journey and lifecycle configuration before changing a program; reassess from stable event and message definitions.

**Limit:** Message exposure and product events are not a causal or person-level match by default.

## Provider documentation

- [PostHog documentation](https://posthog.com/docs)
- [Klaviyo documentation](https://help.klaviyo.com/hc/en-us)

## Start with this stack

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