# Dimension

In addition to collecting measurements, you can set up a **custom formula** that uses the entered values to calculate product pricing automatically. This ensures that pricing scales seamlessly with customer inputs, providing both flexibility for shoppers and efficiency in store management.

***

## **Basic** Option Settings:

<figure><img src="https://3264408981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3ClFZbSMFYUfUOKXAOru%2Fuploads%2FAMzvIefbvjK9HEGCQp3V%2Fimage.png?alt=media&#x26;token=e6bd928b-bf2d-4822-816a-4f0e6dd68f54" alt=""><figcaption></figcaption></figure>

#### **1. Option Name**

The internal name used to identify the Dimension option within your app’s settings. This name does not appear on the storefront product page but helps keep your options organized.

#### **2. Label on Product**

This text appears above the Dimension option on the product page, guiding customers on the type of measurement or formula they need to enter.

#### **3. Label on Cart**

The text that appears on the Cart summary screen, Checkout, and Order detail page, next to the measurements. This ensures the option name is clearly associated with the customer's order.

#### **4. Required Field**

This setting ensures that the customer must upload a file before proceeding with their purchase. If enabled, the Dimension option becomes mandatory.

#### **5. Hide "Label on Product"**

This option allows you to hide the label that typically appears above the Dimension fields, streamlining the interface if the label is unnecessary.

#### 6. Value X / Value Y / Value Z

You can configure up to **three dimensions** (X, Y, Z).

* **Label** – Set the name of each dimension (e.g., Width, Length, Height).
* **Unit** – Define the measurement unit (e.g., cm, inch, meter).
* **Default** – Set the initial value shown in the input field.
* **Min / Max** – Define the acceptable input range for each dimension.

💡 *Tip: The built-in Dimension type supports up to 3 inputs. For more, you can add another Dimension option to your option set.*

#### 7. Calculate Price

Enable this option to apply dynamic pricing based on customer-entered dimensions.

* **Base Price** – The starting unit price applied to the formula.
* **Price Formula** – Set up a custom calculation (e.g., `x * y * {{price}}` for square area, or `x * y * z * {{price}}` for volume).
  * `x, y, z` = customer-entered values.
  * `{{price}}` = the base price per unit defined above.

**Notes:**

* The formula calculates the **total price** including the main product price.
* To avoid double-counting the product’s base price:
  1. Set the main product price to **$0.00** and hide the price in your product template (**recommended**).
  2. If that’s not feasible, and all your products share the same base price, please contact support for a custom solution.

#### **8. Conditional Logic**

Set rules that determine when the File Upload option should be displayed or hidden based on other selections made by the customer. For instance, the option might only appear if a customer selects a specific product variant.

## **Advanced** Option Settings:

<figure><img src="https://3264408981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3ClFZbSMFYUfUOKXAOru%2Fuploads%2FzUW8RRiBF3yvbAeDUM7T%2Fimage.png?alt=media&#x26;token=9caf0c7f-0958-4cfc-9f12-586d1affa97a" alt=""><figcaption></figcaption></figure>

#### 1. Class Name

Add a custom CSS class name to apply specific styles to the Dimension option.

#### 2. Tooltip

Provide a short explanation that appears when customers hover over the option. Useful for quick hints.

#### 3. Help Text

Add longer, detailed information directly below the Dimension option. This helps customers better understand their choices at each stage.
