PostHog Guide8 min read

How to Turn PostHog Surveys and Product Data into Product Insights

Last updated: · By Matt Teixeira, Founder and CEO

On this page
Short answer

To analyze PostHog survey responses for product insights, group the open-text answers into themes, count unique people per theme rather than mentions, then check what those people did in PostHog: did they activate, keep using the feature, stay? The survey tells you why; the events tell you how much it matters. PostHog stores every answer as an event on the person who gave it, so the join happens inside PostHog. The part you add is a theme list that holds steady from one survey to the next.

Key Takeaways

  • PostHog stores each survey answer as an event on the respondent, linked to their session replay (PostHog docs). The first 1,500 responses a month are free (PostHog pricing).
  • Target surveys at a behavior you can't explain, such as a stalled onboarding step.
  • Rank themes by unique people and by what those people did, not by mentions.
  • In-app surveys only reach people who still use your product. Ask churned users by email.
  • Deck's PostHog integration syncs survey responses into Themes and NPS tracking. It doesn't import replays or Support tickets.

What Feedback Does PostHog Hold?

Surveys are the obvious source, but PostHog also holds support tickets, replays, and the person properties that tell you who is talking.

What PostHog holdsWhat it tells youImported by Deck's PostHog integration?
Surveys: popover, feedback widget, hosted form, or API (source)Ratings, NPS, choices, and open-text answers, each tied to a personYes: surveys, questions, and responses
Support, formerly Conversations: tickets from the in-app widget, email, Slack, and GitHub (source)What people need help with, with replay and events attachedNo
Product analyticsFunnels, trends, paths, and retentionNot by the survey sync; Deck Intelligence can query them (see below)
Session replayWhat a respondent did before answeringNo
Person properties and distinct IDsPlan, company, email, and identityUsed to match responses to contacts and accounts

Responses arrive as survey sent events, with each answer in a property named $survey_response_ plus the question ID (PostHog docs), so you can filter any insight by survey answer.

How Do You Analyze PostHog Survey Responses Inside PostHog?

PostHog's own tools are enough for a quick read of one survey.

  • Results tab: response counts and charts you can filter by answer, person property, cohort, or feature flag (PostHog docs).
  • PostHog AI: ask it to summarize a survey and it groups answers into themes, labels sentiment, and compares segments such as free and paid users (PostHog docs). It uses AI credits: 500 free a month, then $0.01 each (PostHog pricing).
  • SQL insights: getSurveyResponse() breaks any insight down by answer.
  • PostHog MCP server: an agent in Claude Code or Cursor can list responses and "summarize open-text answers into themes" (PostHog docs).

What's missing is memory. PostHog AI summarizes the survey you name when you ask, and its docs don't describe a saved theme list that carries from one survey to the next. To know whether "import fails" grew across three surveys this quarter, you need the stable theme list you build in Step 2.

Step 1: Survey the People Whose Behavior You Want Explained

Start from a number you can't explain, then ask the people behind it. PostHog targets surveys by person properties and cohorts, and cohorts can be built from behavior, so point each question at a drop-off:

  • Stalled activation: started onboarding but didn't reach your activation event within three days.
  • Pricing hesitation: opened the pricing page twice in a week without upgrading.
  • Failed adoption: tried a new feature once and never came back.

Keep each survey to one rating and one open-text "why." As a rule of thumb, wait for about 30 substantive answers per segment before you trust theme counts, and treat a theme raised by fewer than five people as a lead, not a finding.

In-App Surveys Miss the People Who Left
A popover only reaches people who still log in, so churn reasons rarely show up. Put a hosted survey link in your cancellation email, and read in-app results as the view of customers who stayed.

Step 2: Group Open-Text Answers into Themes and Count People

Read 50 answers yourself before you let AI tag anything. Draft 5 to 10 themes, each with a one-sentence definition and an example quote, then tag the rest. How to build a customer feedback taxonomy covers naming and splitting themes.

  • Count people, not mentions. Dedupe on distinct ID or email, so someone who complains in two surveys counts once.
  • Drop empty answers. "Good," "n/a," and "fine" are not feedback.
  • Keep ratings as filters, not themes. "Detractors who mention import" is useful. A theme called "Satisfaction" is not.

Step 3: Join Each Theme to What Those People Did

Combine PostHog product analytics with customer feedback by joining on the person, not the calendar. "NPS fell the week we shipped the editor" is a guess. "The 31 people who said import fails activated at less than half the usual rate" is evidence.

Upload the distinct IDs behind each top theme as a static cohort, which PostHog accepts as a CSV (PostHog docs). Then compare that cohort with everyone who answered:

QuestionCheck in PostHog
Is this theme blocking people?Activation funnel conversion, cohort vs. all respondents
Do they use the thing they complain about?Weekly users of that feature in the cohort
Do they stay?Cohort retention at 30 and 60 days
What happened right before?Five session replays from the cohort

Watch five replays per theme, not fifty. As a rule of thumb, five show whether people are confused, blocked, or hitting a bug; the cohort tells you how many.

Worked Example: Behavior Reranks Three Onboarding Themes

This example is illustrative. A B2B SaaS team surveys new users three days after signup: "How easy was setup?" on a 1 to 5 scale, then "What almost stopped you?"

  1. Responses: 420 in 30 days, 190 of them substantive open-text answers.
  2. Themes by unique people: "Can't invite teammates during the trial" (38), "CSV import fails" (31), and "Pricing is unclear" (22).
  3. Join: the invite cohort activated at 82%, against 58% for all respondents. The import cohort activated at 23%.
  4. Replays: four of five import replays show the same date-format error.
  5. Decision: the import fix ships first despite fewer mentions, because it blocks activation. Invites go to the backlog as a real but non-blocking annoyance.
  6. After release: the team reruns the survey and compares equal windows, as in how to measure release impact.

By mentions alone, the team would have built invites first.

Common Mistakes with PostHog Survey Data

  • Changing the question mid-survey. New wording starts a new series, so launch a new survey or log the date.
  • Leaving respondents anonymous. Unidentified answers can't join to accounts or revenue, so identify users before the survey shows.
  • Surveying everyone at once. Broad popovers bring shallow answers and fatigue.

How Deck's PostHog Integration Works

Deck's PostHog integration automates Step 2 and keeps one theme list across your surveys and other sources. Connect PostHog in Settings → Integrations, pick the surveys, and sync daily or on demand (Deck PostHog docs).

  • Open-text answers become insights with a verbatim quote, sentiment, a category such as Pain Points, and matching Themes. Answers under 10 meaningful words are skipped.
  • Ratings, choices, CSAT, and CES stay as filterable structured data, outside your Themes. NPS questions are detected automatically and feed the NPS Score dashboard.
  • Responses link to contacts and accounts by email or PostHog distinct ID, next to the same customer's tickets and calls. You can assign a segment, such as Enterprise, to each survey.
  • Product analytics is a separate connection. An admin connects PostHog as a team source in Deck Intelligence with a read-only API key. Anyone can then ask funnel, trend, and retention questions, and each answer cites the query it ran (Deck Intelligence docs).

Survey insights count toward Themes and the Opportunity Backlog alongside your other integrations, and the release impact check playbook compares a theme before and after a launch.

Limitations: the survey sync imports surveys and responses only, not replays or Support tickets. The analytics connection covers one PostHog project, is rolling out gradually, and reports what people do but never who they are, so build cohorts in PostHog itself. NPS Analytics needs Starter or above. The Free plan includes one integration and 200 AI credits a month, about 65 survey items, so you can try Deck with PostHog as that integration.

Other Ways to Analyze PostHog Feedback

OptionHow it worksPriceBest for
CSV export plus ChatGPT or ClaudeExport responses and paste them into a chat, as in PostHog's tutorial (source)Your AI assistant planA one-time read of a few hundred answers
Spreadsheet theme listTag each exported row and pivot by unique respondentFreeOne owner, a couple hundred answers a month
DovetailEach submission becomes a data point, synced about hourly; needs PostHog Cloud and an open-text question (source)Free with one project and one channel, or custom Enterprise (source)Research teams already keeping interviews in Dovetail
DeckSyncs surveys into Themes, NPS, and contacts, next to support tickets, calls, and SlackFree $0; Starter $99/month, or $79 billed annuallyProduct teams ranking opportunities across several sources

If PostHog surveys are your only feedback source, PostHog AI plus a spreadsheet theme list is enough. A dedicated tool earns its cost once surveys are one source among several, such as Typeform responses, tickets, and calls, and you need one theme counted across all of them.

Frequently Asked Questions

Yes. PostHog AI summarizes a survey into themes, sentiment, and segment comparisons when you ask, and the PostHog MCP server does the same from an AI coding tool. Summaries use AI credits, with 500 free each month.

Join them on the person. Group feedback into themes, upload the distinct IDs behind each theme as a static cohort in PostHog, and compare that cohort's activation, feature use, and retention with everyone else who answered. A few session replays then show what happened before they spoke up.

The first 1,500 responses each month are free, with no limit on surveys or questions. After that, PostHog bills per response, starting at $0.10 and falling to $0.01 above 20,000 a month.

No. Deck's PostHog integration imports surveys, questions, and responses. Product analytics is a separate Deck Intelligence connection that queries PostHog when you ask, and neither connection reads session replays.

Sources