What is PostHog?
PostHog is an open-source product analytics platform that tracks user behavior, feature usage, and more. It’s popular with SaaS teams who want self-hosted analytics.Prerequisites
Before setting up the integration, ensure your PostHog setup includes user emails:Connecting PostHog
Step 1: Get Your Webhook Configuration
- Go to Settings → Integrations in Sequenzy
- Find PostHog under Product Analytics
- Click Connect
- Copy the Webhook URL and Webhook Secret shown
Step 2: Create Webhook Destination in PostHog
- Go to your PostHog Dashboard
- Navigate to Data Pipelines → Destinations
- Click + New → Destination
- Search for “Webhook” in the list and click + Create
- Configure the webhook:
- Webhook URL: Paste your Sequenzy webhook URL
- Headers: Add
X-Webhook-Secretwith your secret from Step 1
- Optionally filter which events to send (or send all - we’ll handle filtering)
- Click Create & Enable

Step 3: Complete Connection in Sequenzy
- Return to Sequenzy’s PostHog connection modal
- Click Connect PostHog
What Gets Synced
All PostHog events are accepted by default, including pageviews ($pageview). When an event is received, Sequenzy:
- Checks for an email in the event properties (
email,user_email,$email, or nesteduser.email) - Skips events without email - anonymous events are silently ignored
- Creates or updates the subscriber with that email
- Records the event with the
product.prefix (e.g.,product.$pageview,product.feature_used) - Triggers any automations listening for that event
Event Naming
PostHog events are prefixed withproduct. in Sequenzy:
| PostHog Event | Sequenzy Event |
|---|---|
feature_used | product.feature_used |
onboarding_completed | product.onboarding_completed |
$pageview | product.$pageview |
Synced Attributes
Event properties (excluding internal PostHog fields) are stored as subscriber attributes:| Attribute | Source |
|---|---|
posthogDistinctId | PostHog distinct_id |
| Custom properties | Any non-internal event properties |
Using with Automations
Feature Adoption Sequence
Trigger emails when users haven’t used a key feature:- Go to Automations → Create New
- Set trigger to Event Received →
product.signup_completed - Add a Wait step: 3 days
- Add a Condition: Check if
product.feature_usedwas NOT received - Send a “Did you know about this feature?” email
Onboarding Based on Product Usage
Send different onboarding based on what users do:Re-engagement for Inactive Users
Target users who stopped using the product:- Create a segment: “No
product.events in last 14 days” - Send a re-engagement campaign to this segment
Event Properties as Variables
Use PostHog event properties in your emails:Event Allowlist (Optional)
By default, all PostHog events are synced. To sync only specific events:- Go to Settings → Integrations
- Click the gear icon next to PostHog
- Toggle Only sync selected events
- Add event names to the allowlist
$pageview) that you don’t need in Sequenzy.
Troubleshooting
Events Not Appearing
- Verify the webhook URL is correct in PostHog
- Check that the
X-Webhook-Secretheader matches your Sequenzy secret - Most common issue: Events don’t have an email - call
posthog.identify()with user email when they log in
Subscriber Not Created
Events without email are silently skipped. Ensure:- You’re calling
posthog.identify(userId, { email: '...' })when users log in - The email is in one of these fields:
email,user_email,$email,userEmail, oruser.email(nested) - The email is a valid format
Anonymous Events Being Skipped
This is expected behavior. Sequenzy can’t send emails to anonymous users, so we skip events without email addresses. Once a user is identified withposthog.identify(), all their subsequent events will be synced.
Missing Event Properties
PostHog internal fields (starting with$) are excluded by default. If you need specific properties, make sure they’re included in your PostHog event without the $ prefix.
FAQ
Do I need PostHog Cloud or can I use self-hosted?
Do I need PostHog Cloud or can I use self-hosted?
Both work! The webhook destination feature is available in PostHog Cloud and self-hosted installations.
What happens to events without email addresses?
What happens to events without email addresses?
They’re silently skipped. Sequenzy needs an email to match events to subscribers. Make sure you call
posthog.identify() with the user’s email when they log in.Will pageviews work?
Will pageviews work?
Yes! Pageviews (
$pageview) are synced like any other event, as long as the user has been identified with an email. They’ll appear as product.$pageview in Sequenzy.Can I filter which events are sent?
Can I filter which events are sent?
Yes, you can configure event filtering in PostHog’s webhook destination settings, or use Sequenzy’s event allowlist feature in the integration settings.
Is there a delay in event processing?
Is there a delay in event processing?
Events are processed in real-time. Most events appear in Sequenzy within seconds of being sent from PostHog.
Is this included in my plan?
Is this included in my plan?
Yes, PostHog integration is included at no extra cost.