Skip to content
CartTuck
Menu

Add a file upload to Squarespace product pages

Updated · by the CartTuck team

Short answer: Squarespace product pages can’t collect files on their own. The Add to Cart form you can attach to a product supports fields for text and choices, but not file uploads. To take a file with the order you either use a workaround that happens outside the order, or add an uploader to that form with an extension. CartTuck is the second kind: it turns one text field in your product form into an uploader and attaches each file to its order.

Why product pages don’t take files

Squarespace saves each product form answer as a short piece of text on that line of the order. That works for an engraving or a color choice, but a file needs storage, size limits, security checks and eventual deletion. So there’s no file field, and merchants selling custom prints and personalized gifts have asked for one on the Squarespace forum for years:

The common workarounds, and where they break

  1. “Email us your file after you order.” Easy to set up, but files arrive late or not at all, land in an inbox separate from the order, and you match every attachment to an order by hand.
  2. A separate upload form linked from the product page. The file isn’t tied to the purchase. Some customers upload and never buy; others buy and forget to upload.
  3. A Dropbox or Google Drive link typed into a text field. Confusing for many customers, and links often have the wrong permissions or expire.
  4. Other upload scripts. Check the maximum file size, where files are stored, and whether each file is matched to its order or just emailed to you.

What a proper product-page upload needs

  • It happens before Add to Cart, so the file is part of the purchase and can be required for that product.
  • It handles real files: print-ready PDFs of hundreds of megabytes, and iPhone photos in HEIC format.
  • It tells the customer when a file is too small to print well at the size they’re buying, before they pay.
  • It lands on the right order and line item, even when one cart holds two personalized items.
  • It keeps files private and deletes them once you no longer need them.

How CartTuck adds a file upload to product pages

CartTuck works inside Squarespace’s own Add to Cart form. You add one Text field labeled “CartTuck file”, and on your live site CartTuck hides that text box and shows an uploader in its place, with drag and drop, file browsing and the phone camera. When the upload finishes, it writes a short code such as CT-7K2QXM into the hidden field. Squarespace saves the code with the order like any other form answer. CartTuck then reads the order through the Squarespace Orders API and attaches the file to that order and line item.

Your cart, checkout and order emails stay exactly as they are, and Squarespace’s Required toggle still works: the field only counts as filled once the upload has finished.

Step by step

  1. Sign in at carttuck-api.dylanharcourt1.workers.dev with your Squarespace account and approve read access to orders and products.
  2. Copy the script tag from your dashboard and paste it into the site-wide Footer box in Code Injection (Squarespace Core plan or higher).
  3. Open the product, add a form to it, and add a Text field labeled CartTuck file. Turn on Required if every order needs a file.
  4. In the CartTuck dashboard, set the product’s rules: which file types, how many files, the largest size and, on Pro and Studio, a print size and minimum DPI.
  5. Open the product on your live site, click Add to Cart and check the uploader appears. Your dashboard shows a green “widget seen” check.
  6. Place a test order with a file, then download it from the order in your dashboard.

The install guide covers each step in detail, with troubleshooting for the common snags.

Tips for fewer follow-up emails

  • Say what you need in the product description: file type, minimum size, and whether you check files before printing.
  • Require the upload only when you can’t start without the file. Otherwise keep it optional and point customers to your post-checkout upload page.
  • Use print checks on large formats. A photo that looks sharp on a phone may be far too small for a 24-inch poster.

Frequently asked questions

Can Squarespace product pages accept file uploads on their own?

No. The form you can attach to a product (the Add to Cart form, which Squarespace calls a product form) has fields for text and choices but no file upload field. To take a file with the purchase you need an extension such as CartTuck, or a workaround outside the order.

Do I need a developer to add an upload field?

No. You paste one script tag into Code Injection and add one Text field to the product form. Nothing in your template changes.

Which Squarespace plan do I need?

Core or higher, because the uploader loads through Code Injection. On the Basic plan you can still collect files after checkout with CartTuck’s post-checkout upload page (Maker, Pro and Studio plans).

How large can uploaded files be?

It depends on your CartTuck plan: Free up to 25 MB, Maker up to 100 MB, Pro and Studio up to 500 MB per file. Large files upload in parts straight to storage, so they don’t time out.

What if a customer doesn’t have their file yet?

Leave the upload optional for that product. On Maker, Pro and Studio plans the customer can add the file later on your store’s upload page with their order number and email, and it attaches to the same order.

Stop chasing files by email

Connect your store, paste one line of code and add one form field. Every new store gets Pro free for 14 days, then stays on the Free plan unless you choose to upgrade.