Sign In

We're the bridge between marketing ambition and financial wisdom. Born from the frustration of seeing e-commerce companies chase growth at any cost, we built a platform that turns complex customer data into simple profit signals.

Ready to turn your marketing budget into pure rocket fuel? 🚀

Drop us a line at hello@headw.ai and let's explore how we can boost your ROI. (We promise the demo will be worth your time!)

© Copyright 2026 Headwai. All Rights Reserved.

    Legal
    • Privacy Policy

    Pricing Plans

    How to configure and customize pricing plans for your SaaS application.

    Note: This is mock/placeholder content for demonstration purposes.

    Configure your pricing structure to match your business model.

    Plan Structure

    Each pricing plan consists of:

    • ID - Unique identifier
    • Name - Display name
    • Price - Amount in your currency
    • Interval - Billing frequency (month, year)
    • Features - List of included features
    • Limits - Usage constraints

    Example Configuration

    // config/billing.config.ts
    export const billingConfig = {
      provider: 'stripe', // or 'paddle'
      currency: 'usd',
      plans: [
        {
          id: 'free',
          name: 'Free',
          description: 'Perfect for getting started',
          price: 0,
          features: [
            '5 projects',
            'Basic analytics',
            'Community support',
          ],
          limits: {
            projects: 5,
            members: 1,
          },
        },
        {
          id: 'starter',
          name: 'Starter',
          description: 'For small teams',
          price: 19,
          interval: 'month',
          features: [
            '25 projects',
            'Advanced analytics',
            'Email support',
            'API access',
          ],
          limits: {
            projects: 25,
            members: 5,
          },
        },
        {
          id: 'pro',
          name: 'Professional',
          description: 'For growing businesses',
          price: 49,
          interval: 'month',
          popular: true,
          features: [
            'Unlimited projects',
            'Advanced analytics',
            'Priority support',
            'API access',
            'Custom integrations',
          ],
          limits: {
            projects: -1, // unlimited
            members: 20,
          },
        },
      ],
    };
    

    Feature Gating

    Restrict features based on subscription plan:

    import { hasFeature } from '~/lib/billing/features';
    
    async function createProject() {
      const subscription = await getSubscription(accountId);
    
      if (!hasFeature(subscription, 'api_access')) {
        throw new Error('API access requires Pro plan');
      }
    
      // Create project
    }
    

    Usage Limits

    Enforce usage limits per plan:

    import { checkLimit } from '~/lib/billing/limits';
    
    async function addTeamMember() {
      const canAdd = await checkLimit(accountId, 'members');
    
      if (!canAdd) {
        throw new Error('Member limit reached. Upgrade to add more members.');
      }
    
      // Add member
    }
    

    Annual Billing

    Offer discounted annual plans:

    {
      id: 'pro-annual',
      name: 'Professional Annual',
      price: 470, // ~20% discount
      interval: 'year',
      discount: '20% off',
      features: [ /* same as monthly */ ],
    }
    

    Trial Periods

    Configure free trial periods:

    export const trialConfig = {
      enabled: true,
      duration: 14, // days
      plans: ['starter', 'pro'], // plans eligible for trial
      requirePaymentMethod: true,
    };
    

    Customizing the Pricing Page

    The pricing page automatically generates from your configuration:

    import { billingConfig } from '~/config/billing.config';
    
    export default function PricingPage() {
      return (
        <PricingTable
          plans={billingConfig.plans}
          currency={billingConfig.currency}
        />
      );
    }
    

    Adding Custom Features

    Extend plan features with custom attributes:

    {
      id: 'enterprise',
      name: 'Enterprise',
      price: null, // Contact for pricing
      custom: true,
      features: [
        'Everything in Pro',
        'Dedicated support',
        'Custom SLA',
        'On-premise deployment',
      ],
      ctaText: 'Contact Sales',
      ctaUrl: '/contact',
    }