← All resources
GuideSep 23, 20268 min read

How to Send PostHog Events to HubSpot (4 Methods Compared)

Compare 4 ways to send PostHog events to HubSpot: native destination, webhooks, Zapier, and purpose-built tools. Get real-time product usage data in HubSpot.

Quick answer: PostHog's native HubSpot destination only syncs person properties, not behavioral events. To get actual product usage events into HubSpot, you have four options: build custom webhooks (weeks of engineering), use middleware like Zapier ($200+/mo at scale), stick with property-only sync (limited context), or use a purpose-built tool like Zoody that streams events in real time without code.

  • Native PostHog destination - Free, built-in, but limited to contact properties. No event data.
  • Custom webhooks + code - Full control, but weeks of dev time and ongoing maintenance.
  • Zapier/n8n - Quick setup, but costs spike with volume and introduces polling delays.
  • Zoody - Real-time event sync, no engineering, $149/mo flat rate.

Why PostHog Users Need Events in HubSpot (Not Just Person Properties)

PostHog's native HubSpot destination syncs person properties when someone triggers an $identify event. That gives your sales team basic contact attributes (name, email, plan type), but it doesn't show what users actually do in your product.

Product-led growth teams need behavioral event data. When did a user last log in? Which features did they adopt? Did they complete onboarding? Event data enables trigger-based workflows, product usage scoring, and personalized outreach based on real product engagement.

Example use cases: notify sales when a free user hits activation milestones, score leads by how often they use core features, trigger onboarding emails based on which steps a user skips. None of that works with property-only sync.

Method 1: PostHog's Native HubSpot Destination

What It Can Do

PostHog's built-in HubSpot destination lives in the Data Pipeline section (CDP in older PostHog versions). You connect your HubSpot account via OAuth, map PostHog person properties to HubSpot contact fields, and every $identify call updates those fields.

This works fine for basic contact enrichment. If PostHog tracks a user's company name or pricing plan, that syncs to HubSpot. You can trigger workflows when properties change.

Key Limitations

The native destination cannot send event data. PostHog fires hundreds of events per user (pageviews, button clicks, feature usage), but none of those reach HubSpot. You only get the most recent property values.

This means no product activity timeline in HubSpot, no event-based workflow triggers, no scoring based on feature adoption. For tracking product usage in HubSpot, you need a different method.

Method 2: Custom Webhooks + Code

How It Works

PostHog's webhook destination can POST events to any URL you control. You write middleware (a Lambda function, a Node.js service, whatever) that receives PostHog events, transforms them into HubSpot API calls, and handles the response.

You control the entire pipeline. Map any PostHog event to any HubSpot object (contacts, companies, custom timeline events). Filter which events to send. Add custom logic for deduplication or scoring.

Development & Maintenance Cost

Budget 2-4 weeks of engineering time to build and test this. You need authentication (HubSpot private app token or OAuth), rate limit handling (HubSpot's API allows 100 calls per 10 seconds on Professional), error logging, and retry logic when calls fail.

Then ongoing maintenance. PostHog updates their event schema, HubSpot changes API versions, your product adds new events. Every change requires code updates and redeployment. Most teams underestimate this cost.

Method 3: Middleware Platforms (Zapier, n8n, Make)

Cost Considerations

Zapier's PostHog integration triggers on new events via webhook. Each event consumes a task. If you track 50,000 events per month across 1,000 users, that's 50,000 Zapier tasks at $0.03-0.05 each after your plan limit. Real cost: $1,500-2,500/mo at scale.

n8n (open-source) is cheaper if you self-host, but you still pay for server time and maintenance. Make (formerly Integromat) has similar task-based pricing.

Real-Time Limitations

Zapier polls PostHog webhooks every 5-15 minutes depending on your plan. n8n can be faster with always-on workflows, but you're adding another service to monitor. None of these platforms match the real-time sync you get from purpose-built product data pipelines.

Transformation logic is limited. You can map fields and add simple filters, but complex scoring or multi-step enrichment requires chaining multiple zaps, which multiplies cost.

Method 4: Purpose-Built Tools (Zoody)

How Zoody Works

Zoody connects PostHog (or any event source) directly to HubSpot with zero code. You install the PostHog plugin or send events via Zoody's API, define which events map to HubSpot contact properties or timeline events, and data flows in real time.

Setup takes 10 minutes. Define a property like last_feature_used or activation_score, map it to a HubSpot field, and every relevant PostHog event updates it. Zoody handles authentication, rate limiting, retries, and error logging.

Timeline events show up in HubSpot's contact activity feed. Your sales team sees when a user last logged in, which features they adopted, and where they dropped off, without leaving HubSpot.

Key Benefits Over Other Methods

No engineering time. RevOps managers set this up themselves. Flat $149/mo pricing regardless of event volume, so no surprise bills when you scale. Real-time sync (sub-second latency). Pre-built mappings for common PLG events (signup, activation, feature adoption).

Zoody only works with HubSpot. If you use Salesforce or need multi-CRM sync, you'll need reverse ETL instead. But for HubSpot product data enrichment, it's the fastest path from PostHog to actionable sales context.

Which Method Should You Choose?

Use the native destination if you only need basic contact attributes (plan type, account name, user role) and no event-based workflows. It's free and sufficient for top-of-funnel enrichment.

Build custom webhooks only if you have specific requirements (custom scoring logic, multi-object writes, complex transformations) and dedicated engineering resources. Budget 2-4 weeks upfront and 5-10 hours per quarter for maintenance.

Middleware platforms work for low event volumes (under 5,000 events/month) or simple trigger workflows. Beyond that, pricing and polling delays make them impractical for real-time product-led sales.

Purpose-built tools like Zoody offer the best balance for RevOps teams. You get real-time event sync, no engineering dependencies, and flat pricing. If you're running a product-led motion in HubSpot and need product signals in your CRM today (not in three sprints), this is the method.

FAQ

Can PostHog send events directly to HubSpot?

PostHog's native destination only syncs person properties, not events. To send behavioral events (feature usage, button clicks, session data), you need custom webhooks, middleware, or a purpose-built sync tool like Zoody that streams events in real time.

What's the difference between PostHog person properties and events in HubSpot?

Person properties are static attributes (name, email, plan type) that update when values change. Events are timestamped actions (login, feature click, activation milestone) that build a timeline of product usage. Sales teams need both: properties for segmentation, events for behavioral context.

How much does it cost to sync PostHog events to HubSpot?

Native PostHog destination is free but limited. Custom webhooks cost 2-4 weeks of engineering time ($10k-20k loaded cost). Zapier starts at $20/mo but scales to $1,500+/mo with high event volume. Zoody is $149/mo flat rate for unlimited events.

Is there a real-time way to send PostHog data to HubSpot?

Yes. Zoody syncs PostHog events to HubSpot with sub-second latency via direct API integration. Zapier and n8n introduce polling delays (5-15 minutes). Custom webhooks can be real-time if you build that way, but most teams don't prioritize it.

Do I need a data warehouse to sync PostHog to HubSpot?

No. PostHog can send events directly via webhooks, and tools like Zoody connect PostHog to HubSpot without a warehouse. Reverse ETL platforms (Hightouch, Census) require a data warehouse and cost $350-800/mo plus warehouse expenses.

{
 "meta_description": "Compare 4 ways to send PostHog events to HubSpot: native destination, webhooks, Zapier, and purpose-built tools. Get real-time product usage data in HubSpot.",
 "word_count": 746,
 "tag": "Comparison",
 "faq_schema": {
 "@context": "https://schema.org",
 "@type": "FAQPage",
 "mainEntity": [
 {
 "@type": "Question",
 "name": "Can PostHog send events directly to HubSpot?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "PostHog's native destination only syncs person properties, not events. To send behavioral events (feature usage, button clicks, session data), you need custom webhooks, middleware, or a purpose-built sync tool like Zoody that streams events in real time."
 }
 },
 {
 "@type": "Question",
 "name": "What's the difference between PostHog person properties and events in HubSpot?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Person properties are static attributes (name, email, plan type) that update when values change. Events are timestamped actions (login, feature click, activation milestone) that build a timeline of product usage. Sales teams need both: properties for segmentation, events for behavioral context."
 }
 },
 {
 "@type": "Question",
 "name": "How much does it cost to sync PostHog events to HubSpot?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Native PostHog destination is free but limited. Custom webhooks cost 2-4 weeks of engineering time ($10k-20k loaded cost). Zapier starts at $20/mo but scales to $1,500+/mo with high event volume. Zoody is $149/mo flat rate for unlimited events."
 }
 },
 {
 "@type": "Question",
 "name": "Is there a real-time way to send PostHog data to HubSpot?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Yes. Zoody syncs PostHog events to HubSpot with sub-second latency via direct API integration. Zapier and n8n introduce polling delays (5-15 minutes). Custom webhooks can be real-time if you build that way, but most teams don't prioritize it."
 }
 },
 {
 "@type": "Question",
 "name": "Do I need a data warehouse to sync PostHog to HubSpot?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "No. PostHog can send events directly via webhooks, and tools like Zoody connect PostHog to HubSpot without a warehouse. Reverse ETL platforms (Hightouch, Census) require a data warehouse and cost $350-800/

Compare alternatives

Explore use cases

Try it on your own HubSpot

Zoody is in beta, so every feature is free right now. Connect your HubSpot, put real product signals on your records, and work directly with the founder.

More resources