A small Shopify change should be priced after someone has looked at what it touches, not before. A short call to learn what the change is for, a look at the theme, then a written scope with a fixed price. Any number given from a screenshot is a guess, and a guess is either padded, too low, or an hourly meter with no cap.
Every freelancer knows the message: "How much for a small change?" It's a fair question. The honest answer is "I don't know yet", which is a terrible thing to say in a DM and the right thing to say anyway.
Why can't you price a small change from a screenshot?
Because the screenshot shows the screen, not the theme. Moving a block on the product page might mean editing one template, or a section that five templates share. "Add a field at checkout" depends on the Shopify plan. "Change the font" can touch every heading style on the site. I wrote about this in which briefs to push back on: the size of a change comes from what the code touches, not from how it looks in the request.
So a price given before anyone opens the theme isn't really a price. It's a guess with a currency sign on it.
What goes wrong when the price is a guess?
A guess has three ways to go, and none of them is good for the store owner:
- Padded, just in case. The developer prices in the worst case. If the worst case never happens, you paid for it anyway.
- Lowballed to win the job. The work turns out bigger than the number. Something gives, and it's usually the care: testing on mobile, checking the other templates, cleaning up after.
- Hourly with no cap. The risk moves to you. You end up watching hours instead of your store, and every question you ask costs money.
None of these makes anyone a villain. They're what happens when someone has to name a number before they know the job.
How do I price small jobs instead?
The same way as big ones, just faster:
- A short call. What is the change supposed to do? "Move the button" is often "people aren't adding to cart on mobile", and that changes what gets built.
- A look at the theme. What the change touches, what else uses the same section, whether an app is already doing part of it.
- A written scope and a fixed price. What changes, on which pages, what's included and what isn't. Agreed before any code.
It feels slower. In practice it's about one conversation slower. And the scope is the bit that stops "move the button" from quietly turning into "redesign the product page" halfway through, which protects both sides.
Is a fixed price worse for very small jobs?
No. A speed fix, one custom section or a single integration are all normal jobs, and they're quoted the same way. The scope for a small job is short, sometimes a few lines. What matters is that it exists, so both of you know what "done" means before the work starts.
What if you don't know what needs changing?
Then the first job isn't the change, it's finding out. A Shopify audit looks at the store and gives you the fixes ranked by impact, so the small changes you ask for next are the ones worth paying for.
If you already know the change, send it through the contact page with your store's URL. Rough is fine. The first call is where it turns into a scope and a price you can say yes or no to.






