PostHog Handbook Library / Growth

505 words. Estimated reading time: 3 min.

Signup enrichment pipeline

When someone signs up to PostHog, we enrich them (figure out the company, its size, the person's role, and so on), score them against our ICP, and push that data into our sales systems. This page explains how that pipeline works and, more importantly, what to do when it stops.

How it works

  1. A PostHog destination fires on every signup and sends it to Clay.
  2. Clay enriches the signup, running cheaper sources first for cost: Clearbit (better on larger companies), then Harmonic (better on startups, richer industry tags), then Clay-native fallbacks only when a field is still missing.
  3. The result is mapped to a consistent set of ICP fields and an ICP score, which are written back onto the PostHog organization and person as properties.
  4. The same signup also creates a contact and account in Salesforce, and a weekend job re-enriches Salesforce accounts. Everything syncs into Vitally, where playbooks turn it into sales tasks.

The single most common failure is Clay running out of credits or hitting its row limit, which silently leaves a window of signups un-enriched. This has happened multiple times, and historically nobody noticed until it surfaced downstream days later. The alert below exists to catch it.

Monitoring

There is a PostHog alert that watches the enrichment write rate:

What to do when the alert fires

  1. Confirm it's real. Open the insight. Is the most recent complete day near zero, while signups are still coming in normally? If signups dropped too, it's a traffic issue, not an enrichment one.
  2. Check whether enrichment was turned off on purpose. Sometimes the Clay enrichment is paused deliberately (for example, to conserve credits). If so, that is expected. Snooze the alert and move on.
  3. Find the cause. In order of likelihood:
  1. Fix it. Top up Clay credits, create and repoint a new table, or fix the destination. Clay credit top-ups are owned by RevOps.
  2. Backfill the gap. The organizations created during the outage stay un-enriched unless they are re-run through Clay. Identify the organizations created between the first and last firing day that are missing ICP fields, and re-enqueue them. Without this step the gap is a permanent hole in our data, which is what happened in past incidents. Confirm the write rate climbs back above 250 the next day, and the alert resolves on its own.

Ownership

RevOps owns this pipeline end to end, including Clay credit top-ups and the enrichment configuration. Questions go to the RevOps team.

Canonical URL: https://posthog.com/handbook/growth/revops/enrichment-pipeline

GitHub source: contents/handbook/growth/revops/enrichment-pipeline.md

Content hash: 65eb5af8571b80f0

Static reader notes
  • MDX_COMPONENT_STATIC_ADAPTER: Adapted interactive MDX components for static reading: PrivateLink.