PostHog Destination
PostHog quick info
PostHog is in beta, and accepts Track, Page, Identify, and Alias calls. If you reference it in the Integrations object, call it “PostHog”.
PostHog is self-hosted, open-source analytics product. Get the same powerful features as other product analytics software but keep full control over your data.
This destination is maintained by PostHog. For any issues with the destination, contact the PostHog Support team.
Getting Started
- From the Destinations catalog page in the Segment App, click Add Destination.
- Search for “PostHog” in the Destinations Catalog, and select the PostHog destination.
- Choose which Source should send data to the PostHog destination.
- Go to your PostHog set up page, and find and copy the API key.
- Enter the PostHog API Key that you copied in the PostHog destination settings in Segment.
Note: If you’re hosting your own PostHog instance, add the URL of your instance without the trailing slash in the PostHog instance setting. For example, https://posthog-example.herokuapp.com
Page
If you aren’t familiar with the Segment Spec, take a look at the Page method documentation to learn about what it does. An example call would look like:
analytics.page()
Segment sends Page calls to PostHog as a $pageview
.
Screen
If you aren’t familiar with the Segment Spec, take a look at the Screen method documentation to learn about what it does. An example call would look like:
[[SEGAnalytics sharedAnalytics] screen:@"Home"];
Segment sends Screen calls to PostHog as a $screen
event.
Identify
If you aren’t familiar with the Segment Spec, take a look at the Identify method documentation to learn about what it does. An example call would look like:
analytics.identify('userId123', {
email: 'john.doe@example.com'
});
Segment sends Identify calls to PostHog as an identify
event. Data from Identify calls appears in PostHog under the People tab.
Track
If you aren’t familiar with the Segment Spec, take a look at the Track method documentation to learn about what it does. An example call would look like:
analytics.track('Login Button Clicked')
Segment sends Track calls to PostHog as a track
event.
Alias
If you aren’t familiar with the Segment Spec, take a look at the Alias method documentation to learn about what it does. An example call would look like:
analytics.alias('507f191e81')
Segment sends Alias calls to PostHog as an alias
event.
Personas
You can send computed traits and audiences generated using Segment Personas to this destination as a user property. To learn more about Personas, contact us for a demo.
For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Personas sends an Identify call with the property order_completed_last_30days: true
. When the user no longer satisfies this condition (for example, it’s been more than 30 days since their last order), Personas sets that value to false
.
When you first create an audience, Personas sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.
Settings
Segment lets you change these destination settings from the Segment app without having to touch any code.
API Key
Go to Project Settings to find your Project API Key
PostHog instance
If you’re self-hosting PostHog, add the url of your instance: https://posthog-example.herokuapp.com. If you’re using app.posthog.com you can leave this field empty.
This page was last modified: 31 Jul 2020
Need support?
Questions? Problems? Need more info? Contact us, and we can help!