PostHog as a destination
Send flow (survey) events from getuserfeedback.com into PostHog.
- Last reviewed
PostHog as a destination
Use this when you want flow activity from getuserfeedback.com to appear in PostHog next to the rest of your product analytics.
Each enabled flow event is sent to PostHog's batch capture API. We use the
event's userId first, then anonymousId, as PostHog distinct_id.
What good looks like: after you turn the destination on, PostHog shows the enabled flow events under Activity or Events, with the same event names you configured in getuserfeedback.com.
1. Create the integration
- Open Integrations and click New integration.
- Under Data out, choose PostHog.
- Click Continue.
- Enter your PostHog project token in Project API key. PostHog's capture
API sends this value as
api_key, and PostHog may label it Project API key or Project token in project settings. - Choose the PostHog endpoint for your project:
| PostHog project | Endpoint |
|---|---|
| US Cloud | https://us.i.posthog.com |
| EU Cloud | https://eu.i.posthog.com |
Choose the endpoint for the same PostHog project that owns the project token. Using the wrong region usually looks like an authentication failure.
- Choose which events to send and how they should be named in PostHog.
- Click Create integration.
The destination starts paused. Open the integration detail page, review the settings, then turn it on.
2. Send a test event
- Open the PostHog destination in getuserfeedback.com.
- Click Send test event from the actions menu.
- Confirm the request succeeds.
- In PostHog, open Activity or Events and look for the destination event name you configured.
The request preview in getuserfeedback.com redacts the PostHog api_key.
What we send
We send batches to PostHog's /batch/ capture endpoint. The request body has
two top-level fields:
api_key: your PostHog project token.batch: one item for each enabled flow event.
Each PostHog batch item includes:
{"event": "Flow Completed","properties": {"distinct_id": "user_123","$insert_id": "msg_123","response_id": "response_123","flow_id": "flow_123","page_path": "/survey","locale": "en-US"},"timestamp": "2026-06-21T00:00:00.000Z","uuid": "018f5d75-2222-5000-9000-abcdefabcdef"}The default outbound events are:
| getuserfeedback.com event | When it sends |
|---|---|
Flow Completed | A flow was completed successfully. |
Flow Viewed | A flow was displayed. |
Flow Dismissed | A flow was closed without a response. |
You can turn each event on or off and rename the destination event before it is sent to PostHog.
Event fields
| Field | How we set it |
|---|---|
event | The destination event name from your integration settings. |
properties.distinct_id | The event userId, falling back to anonymousId. Events without either identity are skipped. |
properties.$insert_id | The event message ID. |
uuid | A stable UUID derived from the event message ID, so retries do not create duplicate PostHog events. |
timestamp | The original event timestamp. |
properties.response_id | Present for response-backed events. |
properties.flow_id | Present when the event is tied to a flow. |
properties.page_path | The page path from event context, when available. |
properties.page_referrer | The page referrer from event context, when available. |
properties.locale | The event locale, when available. |
properties.identities | The event identities array. |
properties.traits | Profile traits included with the event, or null. |
What can break
- PostHog returns
401or403. Check that the project token belongs to the selected PostHog project, then check that the endpoint matches the project's region. - PostHog returns
429or a5xxresponse. We retry these as temporary delivery failures. If the destination keeps retrying, check PostHog status and rate limits. - The event is skipped before sending. The event needs a
userIdoranonymousIdso we can set PostHogdistinct_id. - The destination says it needs attention. Open the integration detail page for the latest issue. Dead-lettered deliveries need a settings fix before future events can be delivered reliably.
- You don't see the event in PostHog. Confirm the event is enabled in the destination settings, the destination is turned on, and you are looking at the same PostHog project whose token you entered.