PostHog
Server-side event delivery to PostHog for product analytics, identity resolution, group analytics, and feature flags via the official posthog-node SDK.
Where this fits
PostHog is a server destination in the walkerOS flow:
Sends events server-side to PostHog's ingestion API, translating walkerOS events into `capture`, `identify`, and `groupIdentify` calls with full control over identity and group resolution.
Installation
Loading...
- Integrated
- Bundled
Loading...
Configuration
This destination uses the standard destination config wrapper (consent, data, env, id, ...). For the shared fields see destination configuration. Package-specific fields live under config.settings and are listed below.
Settings
| Property | Type | Description | More |
|---|---|---|---|
apiKey | string | PostHog project API key (starts with "phc_"). Find it in PostHog project settings. | |
host | string | PostHog API host. Defaults to https://us.i.posthog.com. Use https://eu.i.posthog.com for EU or your self-hosted URL. | |
flushAt | number | Number of events queued before auto-flush. Default: 20. | |
flushInterval | number | Milliseconds between periodic flushes. Default: 10000. | |
personalApiKey | string | Personal API key (phx_...) for local feature flag evaluation. | |
featureFlagsPollingInterval | number | Milliseconds between feature flag definition polls. Default: 30000. | |
disableGeoip | boolean | Disable GeoIP lookups globally. Useful for GDPR compliance. | |
debug | boolean | Enable PostHog SDK debug logging. Default: false. | |
identify | any | walkerOS mapping value resolving to an identity object. Keys: distinctId, $set, $set_once. Resolved on every push (server is stateless). | |
group | any | walkerOS mapping value resolving to a group object. Keys: type, key, properties. Resolved on every push. | |
include | Array<string> | Event sections to flatten into capture() properties (e.g. ["data", "globals"]). |
Required fields
Mapping
Per-event rules under config.mapping. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.
| Property | Type | Description | More |
|---|---|---|---|
identify | any | Per-event identity mapping. Resolves to { distinctId, $set?, $set_once? }. Fires client.identify() when $set/$set_once present. | |
group | any | Group assignment. Resolves to { type, key, properties? }. Fires client.groupIdentify() when properties present, adds groups to capture(). |
Examples
capture with group context
Event
Out
capture with include
Event
Out
consent grant
Event
Out
consent revoke
Event
Out
default capture
Event
Out
group identify with properties
Event
Mapping
Out
identify with set and set once
Event
Mapping
Out
💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)