> For the complete documentation index, see [llms.txt](https://staylime.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://staylime.com/docs/volume-themes/products/custom-options.md).

# Custom options

Let your customers personalize their purchase — no extra apps required. The theme comes with built-in support for custom product options that you can add directly from the Shopify admin. [Open demo store ↗︎](https://volume-theme-crisp.myshopify.com/pages/theme-features/#product-options)

{% hint style="success" icon="square-check" %}
Available starting from Volume v3.0.0
{% endhint %}

### Overview

With custom product options, you can collect additional input from your customers right on the product page. Perfect for personalized items, made-to-order products, or gift messages.

These options are created using Shopify's native line item properties. The theme detects and styles them automatically.

{% hint style="warning" icon="triangle-exclamation" %}
**Limitations**

* Custom options do **not** affect price or inventory.
* For price-based options or inventory-tracked customizations, consider using **variants** or **third-party apps**.
  {% endhint %}

To add a custom product option, go to the **Theme Editor → Product template**, open the **Product overview** section, and add one of the blocks below:

<figure><img src="/files/gdUs9CAvIWd0qps98h0N" alt=""><figcaption></figcaption></figure>

### Supported types

* Single-line text
* Multi-line text
* Checkboxes
* Dropdown
* Measurements
* Pills
* Date picker
* Color picker
* Color swatches
* File upload

### **Show Custom Product Options for Specific Products Only**

If you want to display custom product options for specific products only, you’ll need to create dedicated templates and assign them to those products.

1. Open the **Theme Editor**, and in the top center template dropdown, select **Products → Create template**.
2. Enter a name for your new template and choose which existing template to duplicate using the **Based on** dropdown. Save your changes.
3. Exit the Theme Editor and go to the product editing page in the Shopify admin. In the bottom-right corner, find the **Theme template** dropdown and select the template you just created.

{% hint style="warning" icon="hand-pointer" %}
Templates will only appear in the dropdown if they exist in your **published theme**.
{% endhint %}

### **Required Fields**

To make a field required, check the **Make required** checkbox in the Custom option settings.

{% hint style="warning" icon="triangle-exclamation" %}
At this time, customers can still bypass required fields by clicking the **Buy Now** button (Shopify’s dynamic checkout).

To prevent this, go to the **Product overview** section in the Theme Editor, open the **Buy buttons** block, and uncheck **Show dynamic checkout buttons**.
{% endhint %}

### Best Practices

* Use clear labels so customers understand what’s required.
* Avoid duplicating field names.
* Test the form on both desktop and mobile before publishing.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://staylime.com/docs/volume-themes/products/custom-options.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
