Skip to content

Commit

Permalink
add custom customer pricing (highlight#9387)
Browse files Browse the repository at this point in the history
## Summary

* Updates the highlight.io pricing page to support custom enterprise
pricing in the pricing calculator
* URL of /pricing/for/X can be used to look up custom pricing for the
calculator

## How did you test this change?


[vercel](https://highlight-landing-git-vadim-custom-pricing-page-highlight-run.vercel.app/pricing/for/example)

## Are there any deployment considerations?

no

## Does this work require review from our design team?

no
  • Loading branch information
Vadman97 authored Oct 5, 2024
1 parent 7dbe904 commit e6a5bce
Show file tree
Hide file tree
Showing 4 changed files with 397 additions and 268 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ interface PriceCategory {

export interface Prices {
monthlyPrice: number
annualPrice?: number
Sessions: PriceCategory
Errors: PriceCategory
Logs: PriceCategory
Expand Down Expand Up @@ -129,7 +128,7 @@ export const businessPrices: Prices = {
] as GraduatedPriceItem[],
},
Traces: {
free: 1_000_000,
free: 25_000_000,
unit: 1_000_000,
items: [
{
Expand Down Expand Up @@ -241,7 +240,7 @@ export const payAsYouGoPrices: Prices = {
] as GraduatedPriceItem[],
},
Traces: {
free: 1_000_000,
free: 25_000_000,
unit: 1_000_000,
items: [
{
Expand Down Expand Up @@ -353,7 +352,7 @@ export const enterprisePrices: Prices = {
] as GraduatedPriceItem[],
},
Traces: {
free: 1_000_000,
free: 25_000_000,
unit: 1_000_000,
items: [
{
Expand Down Expand Up @@ -465,7 +464,7 @@ export const selfHostPrices: Prices = {
] as GraduatedPriceItem[],
},
Traces: {
free: 1_000_000,
free: 25_000_000,
unit: 1_000_000,
items: [
{
Expand All @@ -490,3 +489,214 @@ export const selfHostPrices: Prices = {
] as GraduatedPriceItem[],
},
} as const

const retentionOptions = [
'30 days',
'3 months',
'6 months',
'1 year',
'2 years',
] as const
export type Retention = (typeof retentionOptions)[number]

export const RetentionMultipliers: Record<Retention, number> = {
'30 days': 1,
'3 months': 1,
'6 months': 1.5,
'1 year': 2,
'2 years': 2.5,
} as const

export const TierOptions = [
'Free',
'PayAsYouGo',
'Business',
'Enterprise',
'SelfHostedEnterprise',
] as const
export type TierName = (typeof TierOptions)[number]

export type PricingTier = {
label: string
id?: string //PlanTier name, if not same as label
subText?: string
prices: Prices
features: {
feature: string
tooltip?: string
}[]
calculateUsage?: boolean
contactUs?: boolean
buttonLabel: string
buttonLink?: string
hidden?: boolean // hidden from plan tier, but not in estimator
}

export const StandardPrices: Record<TierName, PricingTier> = {
Free: {
label: 'Free',
prices: freePrices,
subText: 'Free Forever',
features: [
{
feature: `500 monthly sessions`,
},
{
feature: 'AI error grouping',
},
{
feature: 'Unlimited seats',
},
],
buttonLabel: 'Start free trial',
buttonLink: 'https://app.highlight.io/sign_up',
},
PayAsYouGo: {
label: 'Pay-as-you-go',
id: 'PayAsYouGo',
subText: 'Starts at',
prices: payAsYouGoPrices,
features: [
{
feature: 'Up to 3 dashboards',
tooltip: `Create up to 3 dashboards in the metrics product.`,
},
{
feature: 'Up to 2 projects',
tooltip: `Create up to 2 projects for separating web app data.`,
},
{
feature: 'Up to 15 seats',
},
{
feature: 'Up to 7 day retention',
},
],
calculateUsage: true,
buttonLabel: 'Start free trial',
buttonLink: 'https://app.highlight.io/sign_up',
},
Business: {
label: 'Business',
id: 'Business',
subText: 'Starts at',
prices: businessPrices,
features: [
{
feature: 'Unlimited dashboards',
},
{
feature: `Unlimited projects`,
tooltip: `Separate your data into different projects in a single billing account.`,
},
{
feature: 'Unlimited seats',
},
{
feature: 'Custom retention policies',
},
{
feature: `Filters for data ingest`,
tooltip: `Ability to filter out data before it is ingested to mitigate costs.`,
},
{
feature: `Everything in pay-as-you-go`,
},
],
calculateUsage: true,
buttonLabel: 'Start free trial',
buttonLink: 'https://app.highlight.io/sign_up',
},
Enterprise: {
label: 'Enterprise',
subText: 'Contact sales for pricing',
prices: enterprisePrices,
features: [
{
feature: 'Volume discounts',
tooltip:
'At higher volumes, we can heavily discount usage; reach out to learn more.',
},
{
feature: 'SAML & SSO',
tooltip:
'Secure user management to ensure you can manage your team with your existing tooling.',
},
{
feature: 'Custom MSAs & SLAs',
tooltip:
'Custom contracts to abide by your compliance requirements; we handle these on a case-by-case basis.',
},
{
feature: 'RBAC & audit logs',
tooltip:
'Infrastructure for auditing and adding fine-grained access controls.',
},
{
feature: 'Data export & user reporting',
tooltip:
'Recurring or one-off exports of your observability data for offline analysis.',
},
{
feature: 'Everything in Business',
},
],
contactUs: true,
buttonLabel: 'Contact us',
calculateUsage: true,
},
SelfHostedEnterprise: {
label: 'Self-Hosted Enterprise',
id: 'SelfHostedEnterprise',

subText: 'per month, billed annually',
prices: selfHostPrices,
features: [],
calculateUsage: true,
buttonLabel: 'Learn More',
buttonLink:
'/docs/general/company/open-source/hosting/self-host-enterprise',
contactUs: true,
hidden: true,
},
} as const

export const CustomPrices = {
example: {
Enterprise: {
...StandardPrices.Enterprise,
contactUs: false,
prices: {
...enterprisePrices,
monthlyPrice: (40_000 + 8_313 + 10_740) / 12,
Sessions: {
free: 50_000,
unit: 1_000,
items: [
{
rate: 12 / 1_000,
},
] as GraduatedPriceItem[],
},
Logs: {
free: 1_000_000_000,
unit: 1_000_000,
items: [
{
rate: 0.5 / 1_000_000,
},
] as GraduatedPriceItem[],
},
Traces: {
free: 1_000_000_000,
unit: 1_000_000,
items: [
{
rate: 0.5 / 1_000_000,
},
] as GraduatedPriceItem[],
},
},
},
},
} as const
2 changes: 1 addition & 1 deletion highlight.io/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
"react-youtube": "^10.1.0",
"remark-gfm": "^3.0.1",
"remove-markdown": "^0.5.0",
"rudder-sdk-js": "^2.20.0",
"rudder-sdk-js": "2.20.0",
"sass": "^1.56.1",
"sharp": "^0.32.6",
"uuidv4": "^6.2.13"
Expand Down
Loading

0 comments on commit e6a5bce

Please sign in to comment.