Short answer: Squarespace alone can’t do it, because product forms have no photo upload field. The reliable approach is to add an uploader to the product’s Add to Cart form, so the photo is attached before checkout and matched to the order, and to give customers a way to upload after ordering too. This guide shows how to set that up and how to make sure the photos you receive are good enough to print.
Where photo uploads come up
Any product made from a customer’s own picture: custom portraits and pet portraits, photo prints and canvases, photo mugs, blankets and puzzles, memorial pieces, engraved or printed keepsakes. In every case the order is useless without the photo, and the photo is useless if it can’t be traced back to the order.
What makes customer photos tricky
- Phone formats. iPhones save photos as HEIC by default, which many upload tools reject. Customers then take a screenshot to “convert” it, and the screenshot is much smaller than the original.
- Hidden compression. Photos forwarded through messaging apps or social media are often shrunk along the way. They look fine on a phone and soft on a 16 × 20 print.
- Resolution versus print size. What matters is the photo’s pixel width compared with the print width. A photo 3,024 pixels wide gives 168 DPI on an 18-inch-wide poster, but only 84 DPI across 36 inches.
- Several photos per item, for collages, family portraits drawn from multiple pictures, or front-and-back designs.
- Timing. Some customers buy a gift first and dig out the right photo later.
How CartTuck handles photo uploads
CartTuck turns a text field in your product’s Add to Cart form into an uploader. On a phone, customers tap it to pick from their photo library or take a new picture; on a computer they drag and drop. They see a thumbnail and a progress bar, and the item can’t go in the cart until the photo has finished uploading if you make the field required.
- Photo formats: JPEG, PNG, WebP, HEIC/HEIF and TIFF, checked by their actual contents rather than the file name.
- Print checks (Pro and up): set the print size and minimum DPI for a product. Customers see “Prints sharp at 18 × 24 in”, or a warning such as “140 DPI at 18 × 24, may look soft”, before they buy.
- One photo set per item: each Add to Cart gets its own upload, so two mugs with two different photos stay separate on the order.
- Upload after checkout (Maker and up): customers add the photo later with their order number and email.
- Re-upload requests (Pro and up): if a photo won’t work, send the customer a link and a note from the order.
Setting up a photo product
- Connect your store and paste the CartTuck script into Footer code injection. The install guide walks through it.
- Add a Text field to the product’s form. Label it
CartTuck file, or pick a friendlier label such as “Your photo” and set the same label in CartTuck. Turn on Required. - In the CartTuck product settings, allow JPEG, PNG, HEIC and WebP, and set how many photos a customer can add.
- On Pro or Studio, enter the print size (for example 18 × 24 inches) and a minimum DPI, and choose whether small photos get a warning or are blocked.
- In the product description, describe a good photo: the original file rather than a screenshot, good light, subject in focus, and how you’ll crop it.
- Add your post-checkout upload link to your order confirmation email for customers who send photos later.
- Test the whole flow on your own phone, including an iPhone photo if you can.
Warn or block small photos?
Warn lets the customer decide. You lose fewer sales, and many people are happy with a slightly soft print of a treasured photo, but you may need to follow up on some orders. Block guarantees print quality, but can stop a customer whose only copy of a photo is small. A good default is to warn on most products and block only on large formats where a soft print would mean a remake.
A note on privacy
Customer photos often show people, children and homes. Mention in your store’s privacy policy that you collect photos to make orders. CartTuck keeps files private, only lets your signed-in dashboard create download links, and deletes files automatically when your plan’s retention period ends.