A file upload should not appear on every custom product page just because your store sometimes needs artwork. If the shopper chooses text-only personalization, a required image uploader becomes confusing. If the shopper chooses “Upload my logo,” the uploader suddenly becomes essential.
That is the job of a conditional file upload: show the upload field only when a previous customer choice makes the file relevant.
For Shopify merchants, this is useful for custom apparel, signs, cakes, print-on-demand products, photo gifts, business merchandise, pet portraits, and any product where some customers provide artwork while others choose a standard design.
This guide uses WowOptions for the no-code walkthrough.
Quick answer
To add a conditional file upload to a Shopify product, create a first choice that determines whether a file is needed, add an upload field, then add a condition that shows the upload only when the shopper selects the relevant choice.
For example:
How would you like to personalize this hoodie? - Use one of our designs - Add custom text - Upload my own artwork
When Upload my own artwork is selected, show the file uploader and make the upload required for that path. Keep it hidden for the other two paths.
Shopify themes can collect a file through custom product-form code, but a no-code conditional workflow is usually easier to manage with a product options app. WowOptions currently lists file uploads on its Pro and higher plans, while the public Advanced plan adds Advanced Conditional Logic. That makes Advanced the relevant current plan when you need both features together.
What is a conditional file upload?
A conditional file upload is an upload field controlled by another product option.
The controlling choice is sometimes called a trigger. The upload field is the dependent field. The merchant decides the rule connecting them.
A simple rule looks like this:
Show Upload your artwork if Design method is Upload my own artwork.
The customer does not need to understand the rule. They simply see a shorter product form that adapts to their choice.
This has two practical benefits. It removes irrelevant fields from the page, and it helps you make a file required only when your production process actually needs one.
When conditional uploads are useful
Custom apparel
Ask whether the shopper wants a stock design, custom text, or uploaded artwork. Show the uploader only for the artwork path.
Business merchandise
Offer “Use saved company logo” versus “Upload a new logo.” The new-logo path can require the file.
Pet portraits
Ask whether the shopper wants one pet, two pets, or three pets, then reveal the correct number of image upload fields.
Photo gifts
A “Text only” design can skip the upload. A “Photo + text” design can show both the image and message fields.
Cakes and edible prints
Show an image uploader only when the customer chooses an edible-photo design. Your accepted file types, image-quality instructions, and production cutoff still need to match the bakery’s actual process.
Custom signs
If a shopper chooses a logo sign, request the logo. If they choose a text-only template, keep the upload hidden.
What to decide before you build the rule
Write down the business rule first. For a custom hoodie, it might be:
- Stock design: no customer file needed.
- Text only: no customer file needed.
- Upload artwork: exactly one customer file required.
- Accepted formats: the formats your designer or printer can use.
- Maximum size: based on your processing workflow and app plan.
- Artwork guidance: minimum quality, transparent background preference, or vector-file request if applicable.
Do not use generic file instructions if your production team has stricter requirements. An app can enforce file type and size. It cannot decide whether a blurry screenshot is good enough to print on a garment.
Apps that combine file upload and conditional logic
If you want this without writing theme JavaScript, look for an app that supports both uploads and rules on the same plan.
| App | Current plan relevant to this workflow | File upload | Conditional logic | Notes |
|---|---|---|---|---|
| WowOptions | Advanced, $12.99/month | Up to 25 files, 20MB each on Advanced | Advanced Conditional Logic | Also includes Live Customizer if uploaded artwork needs a preview |
| Easify Custom Product Options | Pro, $9.99/month | 10 files, 10MB each on Pro | Conditional Logic with Shopify variants | Premium adds live product personalization and larger uploads |
| Globo Product Options, Variant | Premium, $9.90/month | File upload up to 20MB | Condition logic with Shopify variants | Advanced adds live preview and multi-file limits up to 20 files, 100MB/file |
Pricing and plan details checked September 23, 2026. Recheck the Shopify App Store before publishing or purchasing because plans can change.
For a straightforward conditional uploader, all three can cover common use cases. WowOptions becomes particularly relevant when the same product also needs a visual personalizer, because the current Advanced plan puts conditional logic and Live Customizer together.
Step-by-Step Guide to Adding Conditional File Uploads to Shopify With WowOptions
We will build a hoodie with three personalization methods: a stock design, custom text, or uploaded artwork. The upload field will appear only for the third choice.
Step 1: Create an option set and assign it to the product
Open WowOptions and create a new option set, for example Custom Hoodie - Artwork Choices.
Use Applies to to assign the set to the test hoodie. WowOptions supports assignment to specific products, specific collections, or all products.
Start with one product while you test. Once the workflow is reliable, you can decide whether related products should share the same option set.
IMAGE PLACEHOLDER 1: Option set assigned to one product
What to show: The WowOptions option-set header with the “Applies to” control and a specific custom hoodie selected.
Purpose: Show readers that the conditional upload can be tested on one product before being reused.
Source needed: Current WowOptions admin screenshot from a test store.
Recommended size: 1440 x 850 px.
Alt text: “Assigning a WowOptions option set to a custom hoodie in Shopify.”
Step 2: Add the choice that controls the upload
Add a Radio, Button, or Dropdown field. Label it something a shopper can understand, such as:
Choose your design method
Add these values:
- Use a stock design
- Add custom text
- Upload my artwork
A radio or button choice works well when there are only three paths because the shopper can see all options immediately. A dropdown may be tidier if you have a longer list.
Step 3: Add the Upload field
Add an Upload field and label it Upload your artwork.
Configure the upload around your production needs. WowOptions exposes settings for:
- File Types
- Max File Size (MB)
- Maximum Number of Files
- required or optional status
- custom error messages
For this example, the shopper needs one artwork file. Set the maximum number of files to one unless your production process can use more.
If your printer accepts only PNG, JPG, PDF, or another defined set, reflect that in the field rather than accepting everything and sorting it out later.
Step 4: Add clear artwork instructions beside the uploader
The upload label alone is not enough.
Add a short description that answers the questions customers are likely to have. For example:
Upload one high-resolution PNG, JPG, or PDF. Use the highest-quality original you have. We may contact you if the artwork cannot be printed clearly.
Change that text to match your real production policy. If you require transparent PNG files or vector artwork, say so. If you manually review every file, say what happens when a file needs correction.
Avoid promising “print-ready” status merely because the app accepted the upload.
Step 5: Open Conditions for the Upload field
Select the Upload field and open Conditions.
Turn on Enable conditions.
Choose:
- Show this field
- if All of these rules match
Then create the rule:
- Field: Choose your design method
- Condition: is
- Value: Upload my artwork
The result is simple: the uploader remains hidden until the shopper chooses the artwork path.
IMAGE PLACEHOLDER 2: Exact conditional rule
What to show: The WowOptions Conditions panel for “Upload your artwork” with “Enable conditions” on, “Show” selected, “All” selected, and the rule pointing to “Choose your design method” = “Upload my artwork.”
Purpose: This is the most important instructional image in the article. It should prove the exact no-code rule.
Source needed: Current WowOptions Advanced-plan admin screenshot.
Recommended size: 1500 x 900 px.
Privacy: Use a test product and remove any store/customer identifiers.
Alt text: “WowOptions conditional logic rule that shows a Shopify file upload after a shopper selects upload artwork.”
Step 6: Decide when the file should be required
For this workflow, the file is required only when the customer chooses Upload my artwork.
Test this behavior carefully on the storefront. A hidden required field should not block a shopper using the stock-design or text-only path. If your configuration behaves differently, do not publish until you understand and fix the validation.
This is one of the reasons a real storefront test matters more than an admin screenshot.
Step 7: Add a paid artwork option if the upload creates extra work
If custom artwork adds a real production or design cost, you can price that path as an add-on.
For example:
- Stock design: included
- Custom text: +$4
- Upload artwork: +$8
The exact amounts are your business decision. Make the price visible beside the choice so the shopper understands the total before checkout.
Do not charge more simply because an option is conditional. Tie the price to the actual product value or production work.
Step 8: Add live preview if placement matters
Conditional file upload and live preview solve different problems.
Conditional logic decides when the upload appears. A live product personalizer shows how the uploaded artwork may look on the product.
If you sell apparel, phone cases, mugs, signs, or another visual product, connect the upload to the live personalizer so the shopper can see the image on the product preview. WowOptions currently lists Live Customizer on the Advanced plan, the same public plan that lists Advanced Conditional Logic.
If your preview is only an approximation, state that clearly and keep any production proofing policy separate.
Step 9: Set the option set to active and check the storefront
Save the configuration and make the option set active.
Open the product page as a customer. If the WowOptions fields do not appear, check your theme’s app integration. Depending on the theme and app installation, a Shopify app may use an app block or app embed through the theme editor.
Do not proceed to a catalog-wide rollout until the live product page shows the correct rule.
Step 10: Test every branch, not only the upload branch
Test at least these scenarios:
Stock design path - Choose stock design. - Confirm the uploader stays hidden. - Add to cart without a file.
Text-only path - Choose custom text. - Confirm the uploader stays hidden. - Complete the required text fields.
Upload path - Choose upload artwork. - Confirm the uploader appears. - Try to add to cart without a file if it should be required. - Upload an accepted file. - Try an unsupported type. - Try an oversized file. - Complete a test order and verify the file information or link your team needs is available in the order workflow.
Repeat the core test on mobile. Customers often upload photos directly from their phones, so mobile file selection is not an edge case for many personalized products.
Can Shopify accept file uploads without an app?
Yes, with custom theme work. Shopify’s theme documentation supports line item properties in the product form, including custom inputs that can collect product-specific information. Shopify’s developer example for product templates includes file inputs as one possible custom field. See Shopify’s product template documentation.
That native-code route is useful when you have a developer and a narrow requirement. Conditional behavior is not a merchant-facing no-code feature you simply switch on in Shopify admin. You would need to build and maintain the show/hide behavior, validation, theme compatibility, and order handling around your custom form.
For merchants who regularly build personalized products, an options app is usually easier to maintain.
Common conditional-upload mistakes
Making the upload required for everyone
A required uploader that is irrelevant to half your buyers creates friction and can block valid orders. Tie the requirement to the path that needs it.
Accepting file types your production team cannot open
The widest possible list is not the best list. Accept what your workflow can actually process.
Confusing upload limits with artwork quality
A 5MB image can still be low quality. A 20MB image can still be the wrong dimensions. Use the field limits to control transport and workflow, then provide separate artwork guidance.
Asking for the same information twice
If the customer uploaded a logo, do not also ask them to upload it again later in the flow. If your team needs a design note, label it separately so the purpose is obvious.
Forgetting order-side verification
A storefront rule is not complete until you know where the file appears after purchase and how your production team retrieves it.
Frequently asked questions
Can I show a Shopify upload field only after a checkbox is selected?
Can the upload be required only when it is visible?
What file types should I accept for personalized products?
How many files can WowOptions accept?
Do I need live preview for a conditional upload?
Final takeaway
A conditional file upload is a small change that can make a complex personalized product much easier to order. Ask the customer what kind of customization they want first, then request a file only from the shoppers who actually need to provide one.
For a no-code setup, WowOptions combines file uploads, advanced conditional logic, paid product options, and a live personalizer in its current Advanced plan. Build the rule on one test product, verify every branch, and only then reuse it across the rest of your catalog.

