Prevenue Docs

PostHog Source Setup

Forward selected PostHog product events into Prevenue with a scoped ingest key.

Use PostHog when your product events already flow through PostHog and you want to forward a small, high-signal allowlist to Prevenue.

Open Settings > Integrations > PostHog in Prevenue to create credentials and review activity.

What PostHog should send

Forward custom product or revenue events that include account identity. Good examples include:

  • pricing_viewed
  • workspace_created
  • onboarding_completed
  • upgrade_clicked
  • limit_hit
  • subscription_updated
  • invoice_payment_failed
  • workspace_invited
  • integration_connected
  • integration_configured
  • team_member_invited
  • downgrade_page_viewed
  • cancel_started

Do not forward every PostHog SDK/system event. Events whose names begin with $ are usually diagnostic in Prevenue and should not be treated as customer evidence.

Required fields

PostHog payloads should include:

  • event
  • uuid or id
  • timestamp
  • properties.distinct_id
  • An account identity such as properties.account_id, properties.group_id, properties.workspace_id, or $groups.workspace

For Prevenue app events, properties.workspace_id is used as the customer/account identity.

Account facts

When PostHog already has account or group traits, forward the standard SaaS facts in properties with the event allowlist:

  • account_created_at, signup_at, or customer_created_at
  • plan, plan_name, or current_plan
  • account_status or subscription_status
  • is_in_trial, trial_started_at, and trial_ends_at when Stripe is not connected
  • user_count, active_user_count, seat_count, or member_count

Stripe remains authoritative for billing and trial state when connected. PostHog should not forward raw user lists, emails, support text, query strings, or free-form cancellation reasons.

Setup steps

  1. Open Settings > Integrations > PostHog.
  2. Create a PostHog intake credential.
  3. Copy the endpoint and Authorization: Bearer <key> header.
  4. In PostHog, create a Data Pipelines webhook destination.
  5. Set the destination URL to the Prevenue PostHog endpoint.
  6. Add the Authorization header.
  7. Forward only selected custom revenue or product events.
  8. Exclude PostHog SDK/system events whose names begin with $.
  9. Send a custom test event with account identity.
  10. Return to Prevenue and confirm recent normalized PostHog activity.

The PostHog destination test button may send $pageview. Prevenue can receive that as a diagnostic, but it does not complete customer-event setup.

Sample event shape

{
  "event": "onboarding_completed",
  "properties": {
    "app_area": "onboarding",
    "account_created_at": "2026-06-01T12:00:00.000Z",
    "active_user_count": 6,
    "distinct_id": "user_456",
    "is_in_trial": true,
    "plan": "starter",
    "seat_count": 10,
    "trial_ends_at": "2026-06-28T12:00:00.000Z",
    "workspace_id": "acct_or_workspace_123"
  },
  "timestamp": "2026-06-20T15:00:00.000Z",
  "uuid": "ph_evt_001"
}

Verify setup

  1. Open Settings > Integrations > PostHog.
  2. Confirm the status is ready or connected.
  3. Check last activity and issues.
  4. Open Events and filter source by PostHog.
  5. Confirm the rows are customer events, not only diagnostics.
  6. Confirm mappings for the PostHog events.
  7. Re-run the Revenue Signal Scan.