From 90f978bcd67ab28e72162d29dcf3b9c87e10b95f Mon Sep 17 00:00:00 2001 From: Johannes <72809645+jobenjada@users.noreply.github.com> Date: Thu, 21 Mar 2024 10:17:53 +0100 Subject: [PATCH] fix: increase pricing clarity (#2302) --- .../components/salespage/HeaderLight.tsx | 9 +- .../shared/EnterpriseEditionInfo.tsx | 8 +- .../components/shared/OpenSourceInfo.tsx | 14 +-- .../components/shared/PricingGetStarted.tsx | 22 +++-- .../components/shared/PricingTable.tsx | 78 +++++++-------- apps/formbricks-com/pages/pricing.tsx | 97 +++++++------------ 6 files changed, 100 insertions(+), 128 deletions(-) diff --git a/apps/formbricks-com/components/salespage/HeaderLight.tsx b/apps/formbricks-com/components/salespage/HeaderLight.tsx index d9b3a00190..f1aa665346 100644 --- a/apps/formbricks-com/components/salespage/HeaderLight.tsx +++ b/apps/formbricks-com/components/salespage/HeaderLight.tsx @@ -13,6 +13,7 @@ const mainNav = [ { name: "Link Surveys", href: "/open-source-form-builder", status: true }, { name: "Website Surveys", href: "/website-survey", status: true }, { name: "In-app Surveys", href: "/in-app-survey", status: true }, + { name: "Pricing", href: "/pricing", status: true }, ]; export default function HeaderLight() { @@ -25,22 +26,22 @@ export default function HeaderLight() { -
+
{mainNav.map((item) => ( + className="px-4 text-sm font-medium text-slate-400 hover:text-slate-700 lg:px-6 lg:text-base xl:px-8 dark:hover:text-slate-300"> {item.name} ))}
diff --git a/apps/formbricks-com/components/shared/EnterpriseEditionInfo.tsx b/apps/formbricks-com/components/shared/EnterpriseEditionInfo.tsx index 704b013af2..0d71da0c45 100644 --- a/apps/formbricks-com/components/shared/EnterpriseEditionInfo.tsx +++ b/apps/formbricks-com/components/shared/EnterpriseEditionInfo.tsx @@ -3,8 +3,8 @@ import { Button } from "@formbricks/ui/Button"; export const EnterpriseEditionInfo = () => { return (
-
-
+
+

Enterprise Edition (Self-hosting)

@@ -14,13 +14,15 @@ export const EnterpriseEditionInfo = () => { Edition. If you would like to use these features on a self-hosted instance, you need to purchase an Enterprise license from us.

-
+
@@ -30,19 +30,21 @@ export const GetStartedWithPricing = ({ showDetailed }: { showDetailed: boolean

{" "} Enterprise Edition{" "} - Freemium + + Freemium +

{showDetailed && ( -

+

Includes all features with unlimited usage. Free credits every month to get started.

)} diff --git a/apps/formbricks-com/components/shared/PricingTable.tsx b/apps/formbricks-com/components/shared/PricingTable.tsx index 49ec40484f..ef377241cf 100644 --- a/apps/formbricks-com/components/shared/PricingTable.tsx +++ b/apps/formbricks-com/components/shared/PricingTable.tsx @@ -1,23 +1,23 @@ import { CheckIcon, XIcon } from "lucide-react"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip"; +import { Button } from "@formbricks/ui/Button"; export const PricingTable = ({ leadRow, pricing, endRow }) => { return ( -
-
+
+
{leadRow.title} - {leadRow.comparison} + {/* + {leadRow.comparison} + */}
-
+
{leadRow.free}
-
+
{leadRow.paid}
@@ -39,42 +39,24 @@ export const PricingTable = ({ leadRow, pricing, endRow }) => { )}
-
- {feature.addOnText ? ( - - - - {feature.free} - - -

- {feature.addOnText} -

-
-
-
+
+ {typeof feature.free === "string" ? ( + + {feature.free} + ) : feature.free ? ( - + ) : ( )}
-
- {feature.addOnText ? ( - - - - {feature.paid} - - -

- {feature.addOnText} -

-
-
-
+
+ {typeof feature.free === "string" ? ( + + {feature.paid} + ) : feature.paid ? ( - + ) : ( )} @@ -85,15 +67,25 @@ export const PricingTable = ({ leadRow, pricing, endRow }) => {
-
- {endRow.title} -
-
+
+
{endRow.free} +
-
+
{endRow.paid} +
diff --git a/apps/formbricks-com/pages/pricing.tsx b/apps/formbricks-com/pages/pricing.tsx index 9157ee2fe4..6401f02611 100644 --- a/apps/formbricks-com/pages/pricing.tsx +++ b/apps/formbricks-com/pages/pricing.tsx @@ -10,36 +10,22 @@ const inProductSurveys = { leadRow: { title: "Website and In-App Surveys", comparison: "like HotJar Ask", - free: ( -
- 250 Responses / Month{" "} -
- ), - paid: "Unlimited", + free: "Community Edition", + paid: "Enterprise Edition", }, features: [ - { name: "Unlimited Surveys", free: true, paid: true }, - { name: "Unlimited Team Members", free: true, paid: true }, - { name: "API Access", free: true, paid: true }, - { name: "30+ Templates", free: true, paid: true }, - { name: "Unlimited Responses", free: false, paid: true }, - { name: "Team Role Management", free: false, paid: true }, - { name: "Multi Language Surveys", free: false, paid: true }, + { name: "Unlimited surveys", free: true, paid: true }, + { name: "Unlimited team members", free: true, paid: true }, + { name: "API access", free: true, paid: true }, + { name: "35+ templates", free: true, paid: true }, + { name: "Unlimited responses", free: "250 responses / month", paid: "Unlimited" }, + { name: "Team role management", free: false, paid: true }, + { name: "Multi-language surveys", free: false, paid: true }, ], endRow: { title: "Website and In-App Surveys", free: "Free", - paid: ( -
- Free{" "} - - up to 250 responses / month
- then{" "} -
- $0.15 - / submission -
- ), + paid: "$0.15 / response", }, }; @@ -47,35 +33,21 @@ const userSegmentation = { leadRow: { title: "User Segmentation", comparison: "like Segment", - free: ( -
- 2500 Users / Month{" "} -
- ), - paid: "Unlimited", + free: "Community Edition", + paid: "Enterprise Edition", }, features: [ - { name: "Identify Users", free: true, paid: true }, - { name: "Collect Events", free: true, paid: true }, - { name: "Collect Attributes", free: true, paid: true }, - { name: "Reusable Segments", free: true, paid: true }, - { name: "Basic Targeting", free: true, paid: true }, - { name: "Advanced Targeting", free: false, paid: true }, + { name: "Collect events", free: true, paid: true }, + { name: "Collect attributes", free: true, paid: true }, + { name: "Reusable segments", free: true, paid: true }, + { name: "Basic targeting", free: true, paid: true }, + { name: "Identify users", free: "2,500 users / month", paid: "Unlimited" }, + { name: "Advanced targeting", free: false, paid: true }, ], endRow: { title: "User Segmentation", free: "Free", - paid: ( -
- Free{" "} - - up to 2500 users / month
- then{" "} -
- $0.01 - / user -
- ), + paid: "$0.01 / identified user", }, }; @@ -83,26 +55,26 @@ const linkSurveys = { leadRow: { title: "Link Surveys", comparison: "like Typeform", - free: Unlimited, - paid: "Unlimited", + free: "Community Edition", + paid: "Enterprise Edition", }, features: [ - { name: "Unlimited Surveys", free: true, paid: true }, - { name: "Unlimited Responses", free: true, paid: true }, - { name: "Partial Responses", free: true, paid: true }, - { name: "Multi-media Backgrounds", free: true, paid: true }, - { name: "File Upload", free: true, paid: true }, - { name: "Hidden Fields", free: true, paid: true }, - { name: "Single Use Survey Links", free: true, paid: true }, - { name: "Pin-protected Surveys", free: true, paid: true }, - { name: "Custom Styling", free: true, paid: true }, - { name: "Recall Information", free: true, paid: true }, + { name: "Unlimited surveys", free: true, paid: true }, + { name: "Unlimited responses", free: true, paid: true }, + { name: "Partial responses", free: true, paid: true }, + { name: "Multi-media backgrounds", free: true, paid: true }, + { name: "File upload", free: true, paid: true }, + { name: "Hidden fields", free: true, paid: true }, + { name: "Single-use links", free: true, paid: true }, + { name: "Pin-protected surveys", free: true, paid: true }, + { name: "Custom styling", free: true, paid: true }, + { name: "Recall information", free: true, paid: true }, { name: "Book appointments", free: true, paid: true }, - { name: "Collect Payments", free: true, paid: true, comingSoon: true }, - { name: "Collect Signatures", free: true, paid: true, comingSoon: true }, + { name: "Collect payments", free: true, paid: true, comingSoon: true }, + { name: "Collect signatures", free: true, paid: true, comingSoon: true }, { name: "Custom URL", free: false, paid: true, comingSoon: true }, - { name: "Remove Formbricks Branding", free: false, paid: true }, + { name: "Remove Formbricks branding", free: false, paid: true }, ], endRow: { @@ -213,6 +185,7 @@ const PricingPage = () => { pricing={integrations.features} endRow={integrations.endRow} /> +
{/* */}