Articles on: Feature Spotlights

Pricing Rules - Create Dynamic Price Structures

Pricing Rules let you set up automatic, condition-based price adjustments that respond to what your customers do in the designer. When a customer types a longer text, uploads a larger image, or changes the canvas size, the product price can update instantly to reflect those choices.

This article explains how to set up and configure Pricing Rules in Fancy Product Designer.


Pricing Rules vs. Element Pricing


Before getting started, it helps to understand what Pricing Rules are not.

Element Pricing assigns a fixed additional charge to a specific preset element in the Product Builder. It is a static price that gets added whenever that element is present. If you are looking for that approach, see the article FAQ: Products Module Element Prices.

Pricing Rules are different. They are condition-based: the price changes depending on measurable properties like text length, image size, canvas dimensions, or the number of colors used. They are the right tool when the price should reflect what the customer creates, not just which elements are present.

Additional pricing options are also available in Global Settings > Element Properties (per-element settings) and within Global Settings > Customization Profiles, which let you add a fixed price per text or image element added by the customer.


Prerequisites


Pricing Rules require Custom Pricing to be active. Without it, the Pricing Rules page will show an information banner and the "Add Pricing Rule Group" button will be disabled.

To activate Custom Pricing:

  1. Go to Settings > Integration > Custom Pricing.
  2. Select any option other than "none" for Custom Priced Products.

Once Custom Pricing is enabled, navigate to Settings > Pricing - Rules to access the Pricing Rules configuration.



Rule Groups


All pricing rules are organized into Rule Groups. Each group evaluates independently and calculates its own price adjustment. The adjustments from all active groups are added together.

Click Add Pricing Rule Group to create a new group.

Each group has the following settings:

Setting

Description

Name

A label for the group (editable via a popover)

Description

A free-text field for your own notes or documentation

Active

Checkbox to enable or disable the group without deleting it

Property

What is measured in the designer

Rule Target

Which views and elements are measured

Match Type

How the rules within the group are evaluated

Rules

The individual conditions with their price adjustments

Groups can be duplicated or deleted at any time.



Properties: What Can Be Measured?


The Property defines what gets measured when evaluating the rules.

Property

Applies to

What is measured

Text Length

Text elements

Number of characters (excluding spaces)

Number of Lines

Text elements

Number of lines

Font Size

Text elements

Font size

Image Size

Image elements

Width x Height (native file resolution, in pixels)

Image Size Scaled

Image elements

Width x Height (scaled size on the canvas)

Elements Count

All elements or All Custom elements

Total number of elements

Number of Colors

All views

Number of colors applied by the designer

Canvas Size

Views

Width x Height of the canvas (in the configured unit, e.g. mm)

Output Size

Views

Area of the output region

Image Size vs. Image Size Scaled: Image Size reflects the native resolution of the uploaded file. Image Size Scaled reflects the actual size the image occupies on the canvas. In most cases, Image Size Scaled is the more meaningful choice because it represents how the customer has placed and scaled the image.


Important: Output Size uses a different price calculation than all other properties.


With every other property, the rule's price is added to the product price. With Output Size, the price you enter is multiplied by the measured area value. For example, if the output area is 100 cm2 and your rule price is 0.05, the resulting adjustment is 0.05 x 100 = 5.00. If you enter 5.00 as the price, the result will be 500.00.Always use a small per-unit price when working with Output Size.


Rule Target: Which Elements Are Measured?


The Rule Target defines which views and which elements within those views are evaluated.

Views:

  • All views (-1): The property is measured across all views.
  • Specific view (0, 1, 2 ...): Only the selected view is evaluated.

Elements:

  • All: All elements in the view
  • Image: All image elements
  • Text: All text elements
  • Custom Image: Only images uploaded by the customer
  • Custom Text: Only text entered by the customer
  • Custom Element: All customer-created elements
  • Single Element: A specific element, identified by its exact title in the Product Builder (case-sensitive)


Note: Upload Zones are always excluded from measurement, even if they are set as the target. For the properties Number of Colors, Canvas Size, and Output Size, the element target has no effect since these properties always measure at view level.


Match Type and Rules: How Is the Price Calculated?


Each group contains one or more Rules. Each rule consists of three parts: an operator (equal, greater, less, greaterEqual, lessEqual), a threshold value, and a price adjustment.

How the rules are evaluated depends on the Match Type you choose.


Match Type: any (first match wins)


The rules are checked from top to bottom. As soon as one condition is met, its price is applied and the remaining rules are skipped.

The order of rules matters. Rules must be sorted from the highest to the lowest threshold. If a low threshold appears first, it will always trigger before the higher thresholds get a chance.

Incorrect order (the +5.00 rule can never be reached):

Rule 1: Text Length > 10  ->  +2.00
Rule 2: Text Length > 50 -> +5.00

Correct order:

Rule 1: Text Length > 50  ->  +5.00
Rule 2: Text Length > 10 -> +2.00

Use any when you want a flat surcharge based on a pricing tier: for example, one price for short texts, a higher price for long ones.


Match Type: all (each rule evaluated independently)


Every rule is checked on its own. Each rule that matches adds its price to the total. Rules that do not match simply contribute nothing.

Despite the name, not all rules need to match. "All" means "evaluate all rules," not "only apply if all rules match."

Example (cumulative surcharges):

Rule 1: Text Length > 10   ->  +1.00
Rule 2: Text Length > 50 -> +2.00
Rule 3: Text Length > 100 -> +3.00
  • 5 characters: no rules match, adjustment: +0.00
  • 60 characters: Rules 1 and 2 match, adjustment: +3.00
  • 120 characters: All three rules match, adjustment: +6.00

Use all when you want a price that grows incrementally with scale.

Note for area-based properties: When using Image SizeImage Size Scaled, or Canvas Size, the threshold value requires both a width and a height. Both dimensions must be exceeded at the same time for the rule to match.


When Are Rules Evaluated?


The pricing engine runs automatically whenever one of the following events occurs in the designer:

  • An element is added, removed, or modified
  • The color of an element changes
  • A text link is applied
  • The canvas size changes
  • A view is created or removed
  • The product is loaded


Testing Your Setup


After saving your configuration, test it in your store:

  1. Open the product in the storefront.
  2. Perform the action the rules are based on (enter text, upload an image, resize the canvas, etc.).
  3. Check whether the product price updates in real time.
  4. Add the product to your cart and verify the final price in both the cart and checkout.

The price adjustment appears as the updated total product price, not as a separate line item.


Troubleshooting


Rules are not being evaluated at all Custom Pricing is not activated. Go to Settings > Integration > Custom Pricing and enable it.

The price is wrong when using any Check the order of your rules. They must be sorted from highest to lowest threshold. If a lower value appears first, it will always match before higher thresholds can be reached.

Output Size produces unexpectedly high prices The price entered for Output Size is multiplied by the measured area, not added once. Use a small per-unit amount such as 0.05 rather than a full price like 5.00.

A rule does not apply to a specific element Verify the element's title in the Product Builder. The Single Element target matches by exact title, including capitalization.


If you have any questions about setting up Pricing Rules, reach out to us via the in-app chat. We are happy to help.

Updated on: 08/06/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!