Skip to main content
Upstack Data

PostHog integration: identity-resolved events and contacts

Stream resolved product and commerce events into PostHog for analysis on a person, not a session.

Role
Destination
Category
Analytics & CRM
Pre-built connectors
12 sources
Plans
All plans

What Upstack sends

Every event reaches PostHog attached to one person. Captured on the server, resolved to a person, then sent.

In: from Shopify1 of 12 sources
  • order_idShopify order and checkout token
  • email / phonecustomer contact from checkout
  • customer_idShopify customer record, if they have one
  • line_itemsproducts, variants and quantities
  • total / subtotal / discountorder economics

Storefront events from the Upstack Pixel, orders directly from Shopify.

Upstack DataResolved before it is sent
  • IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
  • customer_typeNew or returning, resolved before send.
  • DeduplicationOne person, one record, across devices and identifiers.
  • Bot and fraud filteringAutomated traffic never becomes a contact.
Out: to PostHogOn every event
  • distinct_idthe person, across devices
  • event name and propertiesfunnels and retention
  • $set person propertiesuser-level attributes

Analysis on a person, not a session.

About PostHog

PostHog’s identity merge is powerful and only fires when someone identifies themselves.

Upstack resolves the person before events arrive, so anonymous activity is already attached, including sessions on devices where the user never logged in. Funnels and retention then measure people rather than devices, and session replay links to a complete history.

What PostHog is

PostHog is a product-analytics platform covering events, funnels, session replay and feature flags, typically run by product and growth teams.

Product analytics answers questions about people, not sessions. That makes the analysis only as good as the identity resolution underneath the event stream.

How PostHog works

PostHog captures events against a distinct_id. When someone later identifies (logs in, converts), PostHog aliases their anonymous ID to the identified one and merges the histories, so earlier anonymous activity is retained. Person properties can be set on the same call. Funnels, retention and paths are computed over that merged person, and session replay is linked to it. The identity merge is the mechanism the entire analysis rests on.

What you can do with it

Three jobs this connector does inside PostHog.

01

Send complete conversions

Conversions reach PostHog through its server-side API with restored click IDs and hashed identifiers attached, so more of what you send is matched on arrival, and the conversions you never saw stop being invisible.

02

Optimize on the customer you want

Map any order attribute to the conversion PostHog receives (profit rather than revenue, new customers rather than repeat buyers, high-value orders rather than every checkout), so the platform learns from the buyers worth acquiring.

03

Analysis on a person

Product and commerce events land in PostHog already resolved, so funnels and retention analyze people rather than sessions.

Pre-built connectors

12 sources connect to PostHog. Whichever of these you run, PostHog is one switch away.

See all connectors

Documentation

Set-up reference.

Set-up, event schema and field mapping for PostHog as a destination, next to the PostHog developer docs.

FAQ

PostHog integration questions.

What does Upstack send to PostHog?

Stream resolved product and commerce events into PostHog for analysis on a person, not a session.

How do I connect PostHog to Upstack?

Under Destinations, add PostHog with your Project API Key, which starts with phc_, and the Data Region (US or EU) that matches where your PostHog project is hosted. You need your PostHog Project API Key from Project Settings and the data region, US or EU, where your project is hosted.

How do I check that events are reaching PostHog?

Visit your store, view a product or add to cart, and confirm the event appears in PostHog under Activity, Live Events.

Which plans include the PostHog integration?

All plans. Upstack has three plans that scale with your order volume, and the same integrations are on every plan.

How does Upstack identify users in PostHog?

Upstack assigns each visitor a consistent distinct_id that persists across sessions, devices and browsers when it can resolve the visitor’s identity. Anonymous visitors get a temporary ID that Upstack tries to merge once the visitor is identified.

Will I see duplicate events if I also have PostHog installed via another method?

Possibly. If PostHog’s JavaScript snippet or another integration sends the same events, you may see duplicates, so disable overlapping event types in either Upstack or the other integration.

Similar integrations

Other destinations to send to.

See all integrations

Get PostHog tracking right.

A 15-minute walkthrough tailored to your stack and channels.