mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
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:
1 parent
d272224bc3
commit
4a9455cb2f
3 files changed
+7
-11
No files matched your search
+1
-2
@@ -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'
|
||||
|
||||
+1
-1
@@ -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">
|
||||
|
||||
+5
-8
@@ -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">
|
||||
|
||||
Reference in new issue
Block a user