chore(studio): update downgrade survey to use 'what made you' framing (#43435)

## Summary

- Updates exit survey question wording from "why" framing to "what made
you" framing across both downgrade and project deletion flows
- Based on [Jason Cohen's
research](https://www.lennysnewsletter.com/p/why-your-product-stopped-growing)
showing this reframing roughly doubles response rates and improves
response quality by prompting users to recall a specific trigger event

### Changes

| Location | Before | After |
|---|---|---|
| ExitSurveyModal (downgrade) | "Share with us why you're downgrading
your plan." | "What made you decide to downgrade your plan?" |
| DeleteProjectModal (delete) | "Help us improve by sharing why you're
deleting your project." | "What made you decide to delete your project?"
|

### No downstream impact
- `CANCELLATION_REASONS` chip values unchanged
- API payload fields (`reasons`, `additionalFeedback`, `exitAction`)
unaffected
- No PostHog event names or properties tied to question wording

Closes GROWTH-657

## Test plan

- [ ] Trigger downgrade flow (paid plan → Free) and verify new wording
appears
- [ ] Trigger project deletion on a paid plan and verify new wording
appears
- [ ] Confirm survey submission still works end-to-end
This commit is contained in:
Pamela Chia authored and GitHub committed 2026-03-05 08:35:14 +00:00
1 parent d272224bc3
commit 4a9455cb2f
3 files changed
+7 -11

No files matched your search

@@ -1,7 +1,6 @@
import { MinusCircle, PauseCircle } from 'lucide-react'
import { getComputeSize, OrgProject } from 'data/projects/org-projects-infinite-query'
import type { OrgSubscription, ProjectAddon } from 'data/subscriptions/types'
import { MinusCircle, PauseCircle } from 'lucide-react'
import { useMemo } from 'react'
import { plans as subscriptionsPlans } from 'shared-data/plans'
import { Modal } from 'ui'
@@ -104,7 +104,7 @@ export const ExitSurveyModal = ({ visible, projects, onClose }: ExitSurveyModalP
<Modal.Content>
<div className="space-y-4">
<p className="text-sm text-foreground-light">
Share with us why you're downgrading your plan.
What made you decide to downgrade your plan?
</p>
<div className="space-y-8 mt-6">
<div className="flex flex-wrap gap-2" data-toggle="buttons">
@@ -1,17 +1,16 @@
import { useRouter } from 'next/router'
import { useEffect, useState } from 'react'
import { toast } from 'sonner'
import { LOCAL_STORAGE_KEYS } from 'common'
import { CANCELLATION_REASONS } from 'components/interfaces/Billing/Billing.constants'
import { TextConfirmModal } from 'components/ui/TextConfirmModalWrapper'
import { useSendDowngradeFeedbackMutation } from 'data/feedback/exit-survey-send'
import { useProjectDeleteMutation } from 'data/projects/project-delete-mutation'
import type { OrgProject } from 'data/projects/org-projects-infinite-query'
import { useProjectDeleteMutation } from 'data/projects/project-delete-mutation'
import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query'
import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage'
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
import { useRouter } from 'next/router'
import { useEffect, useState } from 'react'
import { toast } from 'sonner'
import type { Organization } from 'types'
import { Input } from 'ui'
@@ -140,9 +139,7 @@ export const DeleteProjectModal = ({
{!isFree && (
<>
<div className="space-y-1">
<h4 className="text-base">
Help us improve by sharing why you're deleting your project.
</h4>
<h4 className="text-base">What made you decide to delete your project?</h4>
</div>
<div className="space-y-4 pt-4">
<div className="flex flex-wrap gap-2" data-toggle="buttons">