Bundle Pricing Rules

Configure advanced pricing strategies for your dynamic bundles

Last updated: 2025-01-16

Pricing rules determine how discounts are calculated and applied to bundles. CheckoutOS offers flexible pricing options from simple percentage discounts to complex tiered pricing structures.

Pricing Types

Fixed Price

Set a specific price for the entire bundle regardless of individual product prices:

Fixed Price Bundle
{
  "pricing": {
    "type": "fixed_price",
    "amount": 49.99,
    "compare_at_price": "sum_of_products",
    "display": {
      "show_savings": true,
      "savings_format": "amount"
    }
  }
}
When to Use

Fixed pricing works best when you want a clean, memorable price point (e.g., "$50 starter kit") or when bundling products with varying prices.

Percentage Discount

Apply a percentage off the combined product prices:

Percentage Discount
{
  "pricing": {
    "type": "percentage",
    "discount_percent": 20,
    "apply_to": "all_items",
    "round_to": "nearest_cent",
    "display": {
      "show_original": true,
      "badge_text": "20% OFF"
    }
  }
}

Amount Discount

Apply a fixed dollar amount off the bundle:

Amount Discount
{
  "pricing": {
    "type": "amount_off",
    "discount_amount": 15.00,
    "minimum_bundle_value": 50.00,
    "currency": "USD"
  }
}

Tiered Pricing

Offer increasing discounts based on quantity or value:

Tiered Pricing
{
  "pricing": {
    "type": "tiered",
    "tiers": [
      {
        "condition": { "quantity_min": 2 },
        "discount": { "type": "percentage", "value": 10 },
        "label": "Buy 2, Save 10%"
      },
      {
        "condition": { "quantity_min": 3 },
        "discount": { "type": "percentage", "value": 15 },
        "label": "Buy 3, Save 15%"
      },
      {
        "condition": { "quantity_min": 4 },
        "discount": { "type": "percentage", "value": 20 },
        "label": "Buy 4+, Save 20%"
      }
    ],
    "show_next_tier": true,
    "next_tier_message": "Add 1 more to save {{savings}}"
  }
}

Discount Application

Apply To Options

Discount Can Apply To

  • All items — Equal discount on everything
  • Cheapest item — Only the lowest-priced item
  • Most expensive — Only the highest-priced item
  • Specific products — Only designated items
  • Excess items — Buy X at full price, discount the rest
Cheapest Item Free
{
  "pricing": {
    "type": "percentage",
    "discount_percent": 100,
    "apply_to": "cheapest_item",
    "condition": {
      "quantity_min": 3
    },
    "label": "Buy 2, Get 1 FREE"
  }
}

Conditional Pricing

Apply different pricing based on conditions:

Conditional Pricing Rules
{
  "pricing": {
    "type": "conditional",
    "rules": [
      {
        "condition": {
          "customer_tag": "vip"
        },
        "discount": { "type": "percentage", "value": 25 }
      },
      {
        "condition": {
          "customer_tag": "wholesale"
        },
        "discount": { "type": "percentage", "value": 30 }
      },
      {
        "condition": {
          "default": true
        },
        "discount": { "type": "percentage", "value": 15 }
      }
    ]
  }
}

Price Display Options

Control how bundle pricing appears to customers:

Display Configuration
{
  "display": {
    "show_original_price": true,
    "strikethrough_original": true,
    "show_savings_amount": true,
    "show_savings_percent": true,
    "show_per_item_price": false,
    "badge": {
      "enabled": true,
      "text": "BUNDLE & SAVE",
      "style": "ribbon"
    },
    "price_format": {
      "currency_symbol": "
quot;, "decimal_places": 2, "thousand_separator": "," } } }

Margin Protection

Ensure bundles remain profitable with margin controls:

Margin Protection
{
  "margin_protection": {
    "enabled": true,
    "minimum_margin_percent": 25,
    "cost_source": "product_cost_metafield",
    "action_when_violated": "cap_discount",
    "notification": {
      "email": "ops@yourstore.com",
      "alert": true
    }
  }
}
Import Product Costs

For margin protection to work, ensure product costs are set in Shopify or via the Chargezen product cost metafield.

Multi-Currency Pricing

Set different bundle prices for different currencies:

Multi-Currency Configuration
{
  "pricing": {
    "type": "fixed_price",
    "amounts": {
      "USD": 49.99,
      "CAD": 64.99,
      "EUR": 44.99,
      "GBP": 39.99
    },
    "fallback": {
      "method": "convert",
      "base_currency": "USD"
    }
  }
}

A/B Testing Prices

Test different pricing strategies to optimize conversion:

Price A/B Test
{
  "ab_test": {
    "enabled": true,
    "name": "bundle_price_test",
    "variants": [
      {
        "name": "control",
        "weight": 50,
        "pricing": { "type": "percentage", "value": 15 }
      },
      {
        "name": "higher_discount",
        "weight": 50,
        "pricing": { "type": "percentage", "value": 20 }
      }
    ],
    "success_metric": "revenue_per_visitor",
    "minimum_sample": 500
  }
}

Best Practices

Pricing Optimization
  • Test different discount levels — Small changes can have big impact
  • Use tiered pricing strategically — Encourage larger bundles
  • Show the savings — Make the value obvious
  • Protect your margins — Set minimum margin thresholds
  • Consider psychology — $49.99 feels different than $50

Related Topics

Was this page helpful?

Need more help? Contact support