website tips | dominikatracy.com https://dominikatracy.com Shopify web designer Wed, 30 Sep 2026 14:44:49 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.9 https://dominikatracy.com/wp-content/uploads/2018/09/favicon.png website tips | dominikatracy.com https://dominikatracy.com 32 32 Should You Hire a Shopify Designer or Just Use Claude? (I’m Biased. Here’s the Maths Anyway) https://dominikatracy.com/hire-a-shopify-designer-or-use-claude/ Fri, 18 Sep 2026 19:48:40 +0000 https://dominikatracy.com/?p=1502716 /* Scoped to .dt-article. The class is doubled on most selectors so these rules
out-specify Divi's own typography (.et_pb_text_inner p and friends), which is
what was flattening the post to 14px Lato. */
.dt-article{
--noir:#0F1820; --red:#FC4C0F; --butter:#FDF1AB; --perry:#C3D9FF;
--green:#DFF8E7; --cream:#FBF9F3; --rule:#E8E2D4;
--display:"Libre Caslon Text",Georgia,"Times New Roman",serif;
}
.dt-article.dt-article{color:var(--noir);font-size:17px;line-height:1.7;}
/* WordPress wpautop leaves empty

tags around block elements. Hide them. */
.dt-article.dt-article p:empty{display:none!important;margin:0!important;}
.dt-article.dt-article p{
margin:0 0 1.15em!important;padding-bottom:0!important;
font-size:17px!important;line-height:1.7!important;color:var(--noir)!important;
}
.dt-article.dt-article a{color:var(--noir);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--red);}
.dt-article.dt-article a:hover{color:var(--red);}
/* ---- headings ---- */
.dt-article.dt-article h2{
font-family:var(--display)!important;font-weight:400!important;
font-size:34px!important;line-height:1.15!important;
margin:2em 0 .6em!important;padding:0!important;color:var(--noir)!important;
}
.dt-article.dt-article h3{
font-family:inherit!important;font-size:15px!important;letter-spacing:.06em;
text-transform:uppercase;font-weight:700!important;line-height:1.4!important;
margin:2em 0 .6em!important;padding:0!important;color:var(--noir)!important;
}
.dt-article.dt-article .dt-eyebrow{
display:block;font-size:11px!important;letter-spacing:.18em;text-transform:uppercase;
color:var(--red)!important;font-weight:700;margin:0 0 .4em!important;line-height:1.4!important;padding:0!important;
}
.dt-article.dt-article > .dt-eyebrow{margin-top:2.6em!important;}
.dt-article.dt-article .dt-eyebrow + h2{margin-top:0!important;}
/* ---- lists with orange dots ---- */
.dt-article.dt-article ul:not(.dt-plain){list-style:none!important;padding:0!important;margin:0 0 1.4em!important;}
.dt-article.dt-article ul:not(.dt-plain) > li{
position:relative;padding:0 0 0 1.6em!important;margin:0 0 .7em!important;
font-size:17px!important;line-height:1.7!important;list-style:none!important;
}
.dt-article.dt-article ul:not(.dt-plain) > li::before{
content:"";position:absolute;left:0;top:.62em;
width:8px;height:8px;border-radius:50%;background:var(--red);
}
.dt-article .dt-lead,.dt-article.dt-article p.dt-lead{font-size:21px!important;line-height:1.55!important;}
/* ---- callout boxes ---- */
.dt-article .dt-box{border-radius:16px;padding:22px 24px;margin:28px 0;}
.dt-article .dt-box > :last-child{margin-bottom:0!important;}
.dt-article .dt-box--answer{background:var(--perry);}
.dt-article .dt-box--note{background:var(--butter);}
.dt-article .dt-box--good{background:var(--green);}
.dt-article .dt-box--outline{background:#fff;border:1.5px solid var(--rule);}
.dt-article .dt-box--warn{background:#fff;border:1.5px solid var(--red);}
/* ---- dark verdict block ---- */
.dt-article.dt-article .dt-verdict{color:var(--cream)!important;}
.dt-article .dt-verdict{background:var(--noir);border-radius:16px;padding:26px 28px;margin:32px 0;}
.dt-article.dt-article .dt-verdict p{color:var(--cream)!important;}
.dt-article.dt-article .dt-verdict .dt-eyebrow{color:var(--butter)!important;}
.dt-article .dt-verdict > :last-child{margin-bottom:0!important;}
.dt-article.dt-article .dt-verdict a{color:var(--butter);text-decoration-color:var(--butter);}
/* ---- pull quote ---- */
.dt-article .dt-pull{
font-family:var(--display);font-size:30px;line-height:1.25;
border-left:4px solid var(--red);padding:6px 0 6px 22px;margin:34px 0;color:var(--noir);
}
.dt-article .dt-pull span{font-style:italic;color:var(--red);}
/* ---- big stat ---- */
.dt-article .dt-stat{text-align:center;margin:36px 0;padding:26px 20px;background:#fff;border:1.5px solid var(--rule);border-radius:16px;}
.dt-article .dt-stat b{display:block;font-family:var(--display);font-size:62px;line-height:1;color:var(--red);font-weight:400;}
.dt-article .dt-stat span{display:block;font-size:15px;color:#5a5a5a;margin-top:10px;}
/* ---- best-for pill ---- */
.dt-article .dt-pill{display:inline-block;background:var(--butter);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;margin:0 0 18px;}
/* ---- contents card ---- */
.dt-article .dt-toc{background:#fff;border:1.5px solid var(--rule);border-radius:16px;padding:24px 28px;margin:32px 0;}
.dt-article.dt-article .dt-toc .dt-eyebrow{margin-bottom:.8em!important;}
.dt-article.dt-article .dt-toc ol{list-style:none!important;padding:0!important;margin:0!important;counter-reset:toc;column-count:2;column-gap:32px;}
.dt-article.dt-article .dt-toc li{counter-increment:toc;margin:0 0 .55em!important;padding:0!important;font-size:15px!important;line-height:1.5!important;break-inside:avoid;list-style:none!important;}
.dt-article .dt-toc li::before{content:counter(toc,decimal-leading-zero);color:var(--red);font-weight:700;margin-right:10px;font-size:13px;}
.dt-article.dt-article .dt-toc a{text-decoration:none;}
.dt-article.dt-article .dt-toc a:hover{text-decoration:underline;}
/* ---- numbered steps ---- */
.dt-article.dt-article .dt-steps{list-style:none!important;padding:0!important;margin:24px 0!important;counter-reset:step;}
.dt-article.dt-article .dt-steps li{
counter-increment:step;position:relative;padding:0 0 20px 56px!important;margin:0!important;
border-left:1.5px solid var(--rule);font-size:17px!important;line-height:1.7!important;list-style:none!important;
}
.dt-article.dt-article .dt-steps li::before{
content:counter(step);position:absolute;left:-19px;top:-2px;background:var(--red);
width:36px;height:36px;border-radius:50%;color:#fff;font-size:15px;font-weight:700;
display:flex;align-items:center;justify-content:center;margin:0;
}
.dt-article .dt-steps li:last-child{border-left-color:transparent;padding-bottom:0!important;}
/* ---- table ---- */
.dt-article .dt-tablewrap{overflow-x:auto;margin:28px 0;-webkit-overflow-scrolling:touch;}
.dt-article.dt-article .dt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;min-width:640px;border:0;}
.dt-article.dt-article .dt-table th{
background:var(--noir);color:var(--cream);text-align:left;padding:14px;border:0;
font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1.4;
}
.dt-article .dt-table th:first-child{border-radius:12px 0 0 0;}
.dt-article .dt-table th:last-child{border-radius:0 12px 0 0;}
.dt-article.dt-article .dt-table td{padding:14px;border:0;border-bottom:1px solid var(--rule);vertical-align:top;font-size:15px;line-height:1.5;background:#fff;}
.dt-article.dt-article .dt-table tr:nth-child(even) td{background:var(--cream);}
.dt-article.dt-article .dt-table td:first-child{font-weight:600;}
/* ---- FAQ accordion ---- */
.dt-article .dt-faq{border-top:1.5px solid var(--rule);margin:24px 0 0;}
.dt-article .dt-faq details{border-bottom:1.5px solid var(--rule);margin:0;}
.dt-article .dt-faq summary{
list-style:none;cursor:pointer;padding:20px 48px 20px 0;position:relative;
font-size:18px;font-weight:700;line-height:1.35;color:var(--noir);
}
.dt-article .dt-faq summary::-webkit-details-marker{display:none;}
.dt-article .dt-faq summary::after{content:"";position:absolute;right:8px;top:50%;width:18px;height:2.5px;background:var(--red);border-radius:2px;transform:translateY(-50%);}
.dt-article .dt-faq summary::before{content:"";position:absolute;right:8px;top:50%;width:18px;height:2.5px;background:var(--red);border-radius:2px;transform:translateY(-50%) rotate(90deg);transition:transform .18s ease;}
.dt-article .dt-faq details[open] summary::before{transform:translateY(-50%) rotate(0deg);}
.dt-article .dt-faq summary:hover{color:var(--red);}
.dt-article.dt-article .dt-faq details > p{padding:0 40px 20px 0!important;margin:0!important;}
/* ---- daisy divider ---- */
.dt-article .dt-divider{text-align:center;margin:56px 0;}
.dt-article .dt-divider svg{width:34px;height:34px;}
/* ---- offer card ---- */
.dt-article .dt-offer{border-radius:18px;padding:22px;margin:36px 0;background:var(--cream);border:1.5px solid var(--rule);display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.dt-article .dt-offer img{width:130px;height:130px;object-fit:cover;object-position:top;border-radius:12px;display:block;}
.dt-article .dt-offer-body{flex:1;min-width:230px;}
.dt-article.dt-article .dt-btn{
display:inline-block;background:var(--noir);color:#fff!important;text-decoration:none!important;
font-weight:700;font-size:14px!important;line-height:1.4!important;padding:12px 26px;border-radius:999px;
}
.dt-article.dt-article .dt-btn:hover{background:var(--red);color:#fff!important;}
/* ---- closing CTA ---- */
.dt-article.dt-article .dt-cta{color:#fff!important;}
.dt-article .dt-cta{background:var(--red);border-radius:20px;padding:40px 28px;margin:44px 0;text-align:center;}
.dt-article.dt-article .dt-cta h2{font-family:var(--display)!important;font-size:34px!important;margin:0 0 10px!important;color:#fff!important;}
.dt-article.dt-article .dt-cta p{color:#fff!important;margin:0 0 22px!important;font-size:16px!important;}
.dt-article.dt-article .dt-cta .dt-btn{background:#fff;color:var(--noir)!important;}
.dt-article.dt-article .dt-cta .dt-btn:hover{background:var(--noir);color:#fff!important;}
.dt-article .dt-formwrap{background:#fff;border-radius:14px;padding:22px;margin:0 auto 6px;max-width:460px;text-align:left;}
.dt-article .dt-cta small{display:block;margin-top:16px;font-size:13px;color:#fff;opacity:.85;}
/* ---- figures ---- */
.dt-article figure{margin:32px 0;}
.dt-article figure img{width:100%;height:auto;border-radius:14px;display:block;}
.dt-article figcaption{font-size:13px;color:#7a7a7a;margin-top:10px;text-align:center;font-style:italic;}
.dt-article .dt-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0;}
.dt-article .dt-compare figure{margin:0;}
.dt-article .dt-compare img{border:1px solid var(--rule);}
/* ---- code ---- */
.dt-article.dt-article pre{background:var(--noir);color:var(--cream);padding:20px;border-radius:14px;overflow-x:auto;font-size:14px;line-height:1.6;margin:22px 0;border:0;}
.dt-article.dt-article :not(pre) > code{background:var(--cream);border:1px solid var(--rule);border-radius:5px;padding:1px 6px;font-size:.88em;color:var(--noir);}
@media (max-width:980px){
.dt-article.dt-article h2{font-size:27px!important;}
.dt-article .dt-pull{font-size:23px;}
.dt-article.dt-article .dt-toc ol{column-count:1;}
.dt-article .dt-compare{grid-template-columns:1fr;}
.dt-article .dt-stat b{font-size:46px;}
.dt-article .dt-offer img{width:100%;height:180px;}
}

Short answer: if you have no budget and a simple product, use Claude with a good theme and don’t hire anyone, including me. If you’re turning a consistent profit and the store is the thing holding you back, hire a designer. And if you’ve already built it with Claude and it looks great but isn’t selling, you don’t need a rebuild, you need someone to find the leak.

That’s the whole post. The rest is the maths behind it, because ‘it depends’ is the answer most designers give and I’d rather you had the actual numbers.

Bias, declared

I’m a Shopify designer, so I have an obvious interest in you picking option two. I also build my own stores with Claude every week and wrote a whole post about whether Claude can build a Shopify store (short version: yes, eventually, after a fight). So I’ve paid for both routes with my own evenings. Let’s do the sums.

Route one and two

What does it actually cost to build a Shopify store with Claude?

On paper, nearly nothing. A Claude subscription, a Shopify plan you were paying for anyway, and a theme. If you buy a premium theme from the Shopify store you’re looking at a one-off £200 to £400. If you go with Dawn, which is free and perfectly good, it’s £0.

The real cost is time, and it splits into two very different amounts depending on which way you go.

Route A: theme plus Claude as your assistant. You buy a theme, and you use Claude to write product descriptions, plan your pages, generate the FAQ, tidy your About page and tell you what’s missing. This is fast. A weekend, maybe two if your product photography isn’t ready. I genuinely recommend this to start-up brands and I’ve said so since May. Nothing in this post changes that.

Route B: Claude builds the actual theme. This is the version Instagram is selling you, where Claude designs the site and pushes the code straight into your store. It works now. It didn’t in May, and it does in September, because you can connect Claude directly to your Shopify theme through GitHub or a code editor.

But it is not a weekend. Getting that connection set up was, in my own words at the time, bloody difficult, and I do this for a living. Then there’s the design itself. Claude’s first draft will be beautiful and it will be wrong in ways you can’t see yet: text that doesn’t scale on mobile, sections with too much air, a product page with no reviews, no trust signals and one photo. You’ll spend evenings training it like an intern on their first day. Realistically that’s 30 to 50 hours for someone reasonably technical, and ‘reasonably technical’ means you don’t flinch at the words ‘command line’.

Founder building a Shopify store with Claude late at night
Route B, in its natural habitat.

Put an honest value on your own time. If your hour is worth £40 to your business, Route B costs £1,200 to £2,000 before you’ve sold anything, plus the weeks it took, plus the risk you built the wrong thing well.

Route three

What does it cost to hire a Shopify designer?

I can only quote my own prices, because the market is anywhere from £500 on a freelancer site to £15,000 at an agency and those two things are not the same product.

My Shopify Face Lift starts at £2,000 and takes 4 to 6 weeks. That’s a fully custom design and build, up to two custom product templates, plugins chosen for speed rather than habit, and the home, category, About, FAQ and blog pages done. Fees split 50% on booking and 50% on completion.

Here’s the part the price list doesn’t say. I use Claude on every one of those builds now. It’s why the things I used to gently talk clients out of, the subscription flow, the custom product labels, the animation that carries the whole brand, are on the table at £2,000 rather than at five figures. You are not choosing between AI and a human. You’re choosing whether the human driving the AI is you, at midnight, or someone who already knows where the potholes are.

What you’re paying for is 15 years of watching what makes people buy or bounce. Claude has read about that. I’ve watched it happen.

The comparison

Claude vs a Shopify designer: the comparison table

Theme + Claude as assistant Claude builds the theme Hire a Shopify designer (Face Lift)
Cash cost £0 to £400 £0 to £400 From £2,000
Your time 10 to 20 hours 30 to 50 hours 3 to 5 hours (questionnaire, call, reviews)
Calendar time A weekend or two 3 to 8 weeks of evenings 4 to 6 weeks
Technical skill needed None GitHub, a code editor, patience None
Design quality Good, template-shaped Excellent, if you can steer it Excellent, custom
Built to convert Only if you know what to ask for Only if you know what to ask for Yes, that’s the job
Who fixes it in six months You, or Claude, or both You, or Claude, or both Client-editable theme, or me
Best for Start-ups, first store, no budget Technical founders who enjoy it Profitable brands ready for the grown-up version

The middle column is the interesting one. It’s the cheapest route to a truly custom store and the most expensive route in evenings. Whether that’s a bargain depends entirely on what your evenings are for.

A shop bell priced from £2,000 next to a retro keyboard labelled evenings: the real cost of a Shopify designer versus Claude
The two currencies. Pick the one you have more of.

The blind spot

What Claude won’t tell you about your store

Claude is a brilliant designer and a terrible shopkeeper.

When I asked it to design a homepage in May, it produced something I’d have been proud to make, in minutes. What it didn’t include, because I hadn’t asked, was any social proof, any trust signals near the add to cart button, or any of the photo types that actually move people from looking to buying. Perfect UX, zero sales instinct. And a founder building their first store would have no way of knowing what was missing, because the page looks finished.

That’s the whole gap. Baymard Institute’s research puts cart abandonment at around 70%, and most of that isn’t price. It’s friction: a checkout with a surprise, a product page that doesn’t answer the one question the buyer had, a mobile layout that hides the button. Claude will build you a store with all of that in it and tell you it’s done.

The trick, if you’re going Route B

In August I stopped letting Claude design my product pages from scratch and gave it a layout of a product page that converts, then asked it to build to that. The difference was night and day. Feed it a framework, not a vibe. But you have to have the framework first, and that’s the thing people are paying for when they hire.

The decision

Which route should you choose?

Three founders, three answers. And a fourth, because it’s the email I get most.

You’re pre-launch or under £2,000 a month in sales. Theme plus Claude. Spend the money on product photography and a couple of months of ads instead. Do not hire me. If someone quotes you £2,000 for a store at this stage, ask them how it’ll pay for itself, and listen carefully to the answer.

You’re profitable, the DIY site is embarrassing you, and you’ve got roughly 40 free hours and a taste for it. Route B is a real option now, and I’d rather you did it well than badly. Read the connection guide, use GitHub so you can roll back, and get a product page framework before you let Claude design a single section.

You’re profitable, the site is the bottleneck, and your evenings are already spoken for by formulations, packaging suppliers and the wholesale enquiry that’s been sitting there four days. Hire a designer. That’s the Face Lift, and if you want to know whether it’s the right package, or whether any package is, that’s exactly what the discovery call is for. No jargon, no hard sell, and I’ll tell you if you’re better off with a theme.

You already built it with Claude. It looks lovely. It isn’t selling. Don’t rebuild. Something specific is leaking and it’s usually three or four settings, not the design. That’s what the Website Botox is: an audit of what you’ve got and small, targeted fixes where they’re needed, from £300, done in 1 to 2 weeks. It’s the cheapest thing on my menu and it’s the one I’d send my own sister to.

The honest verdict

Claude didn’t make Shopify design a DIY job. It moved the ceiling. The custom store that cost five figures last year costs £2,000 now, and the theme-plus-Claude store that costs nothing is better than it’s ever been. The only bad decision is paying for the middle route in evenings you don’t have.

Not sure which route is yours?

A free discovery call. I’ll tell you which package makes sense, if any, and whether you’re better off with a theme. No jargon, no hard sell.

Book a discovery call

Frequently asked questions

Can Claude build a Shopify store on its own?

Yes, as of 2026, if you connect it to your theme through GitHub or a code editor. It will not do it in one click and the first version will need a lot of steering. For a non-technical founder, a good theme plus Claude for the copy is the faster and safer route.

How much does it cost to hire a Shopify designer in the UK?

Anywhere from about £500 for a template customisation on a freelancer site to £15,000 plus at an agency. A custom design and build from an experienced specialist typically sits between £2,000 and £5,000. Mine starts at £2,000 for the Shopify Face Lift and £5,000 for the full Transformation with SEO, analytics and email set up.

Is a custom Shopify theme worth it over a premium theme?

Only once the theme is costing you sales. A premium theme customised well will serve most brands to well past their first £10,000 a month. Custom pays off when you need something the theme can’t do, like subscriptions, a specific product page layout, or a brand that lives in its motion.

Will a designer just use AI anyway?

The good ones will, and you should want them to. AI is why custom work costs a third of what it did two years ago. What you’re paying for is the judgment about what to build, not the typing.

What if I already have a Claude-built store that isn’t converting?

Get it audited before you rebuild. The problem is almost always a handful of settings, missing trust signals or checkout friction, not the design. A conversion audit is a fraction of the cost of starting over.

If you’d rather have someone else do the arguing with Claude, book a discovery call. Free, no pressure, and I’ll tell you honestly which of the three routes above is yours.

]]>
How to Connect Claude to Your Shopify Store: 5 Methods, Honestly Rated https://dominikatracy.com/connect-claude-to-shopify/ Wed, 26 Aug 2026 15:40:21 +0000 https://dominikatracy.com/?p=1502673 /* Scoped to .dt-article. The class is doubled on most selectors so these rules out-specify Divi's own typography (.et_pb_text_inner p and friends), which is what was flattening the post to 14px Lato. */ .dt-article{ --noir:#0F1820; --red:#FC4C0F; --butter:#FDF1AB; --perry:#C3D9FF; --green:#DFF8E7; --cream:#FBF9F3; --rule:#E8E2D4; --display:"Libre Caslon Text",Georgia,"Times New Roman",serif; } .dt-article.dt-article{color:var(--noir);font-size:17px;line-height:1.7;} /* WordPress wpautop leaves empty

tags around block elements. Hide them. */ .dt-article.dt-article p:empty{display:none!important;margin:0!important;} .dt-article.dt-article p{ margin:0 0 1.15em!important;padding-bottom:0!important; font-size:17px!important;line-height:1.7!important;color:var(--noir)!important; } .dt-article.dt-article a{color:var(--noir);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--red);} .dt-article.dt-article a:hover{color:var(--red);} /* ---- headings ---- */ .dt-article.dt-article h2{ font-family:var(--display)!important;font-weight:400!important; font-size:34px!important;line-height:1.15!important; margin:2em 0 .6em!important;padding:0!important;color:var(--noir)!important; } .dt-article.dt-article h3{ font-family:inherit!important;font-size:15px!important;letter-spacing:.06em; text-transform:uppercase;font-weight:700!important;line-height:1.4!important; margin:2em 0 .6em!important;padding:0!important;color:var(--noir)!important; } .dt-article.dt-article .dt-eyebrow{ display:block;font-size:11px!important;letter-spacing:.18em;text-transform:uppercase; color:var(--red)!important;font-weight:700;margin:0 0 .4em!important;line-height:1.4!important;padding:0!important; } .dt-article.dt-article > .dt-eyebrow{margin-top:2.6em!important;} .dt-article.dt-article .dt-eyebrow + h2{margin-top:0!important;} /* ---- lists with orange dots ---- */ .dt-article.dt-article ul:not(.dt-plain){list-style:none!important;padding:0!important;margin:0 0 1.4em!important;} .dt-article.dt-article ul:not(.dt-plain) > li{ position:relative;padding:0 0 0 1.6em!important;margin:0 0 .7em!important; font-size:17px!important;line-height:1.7!important;list-style:none!important; } .dt-article.dt-article ul:not(.dt-plain) > li::before{ content:"";position:absolute;left:0;top:.62em; width:8px;height:8px;border-radius:50%;background:var(--red); } .dt-article .dt-lead,.dt-article.dt-article p.dt-lead{font-size:21px!important;line-height:1.55!important;} /* ---- callout boxes ---- */ .dt-article .dt-box{border-radius:16px;padding:22px 24px;margin:28px 0;} .dt-article .dt-box > :last-child{margin-bottom:0!important;} .dt-article .dt-box--answer{background:var(--perry);} .dt-article .dt-box--note{background:var(--butter);} .dt-article .dt-box--good{background:var(--green);} .dt-article .dt-box--outline{background:#fff;border:1.5px solid var(--rule);} .dt-article .dt-box--warn{background:#fff;border:1.5px solid var(--red);} /* ---- dark verdict block ---- */ .dt-article.dt-article .dt-verdict{color:var(--cream)!important;} .dt-article .dt-verdict{background:var(--noir);border-radius:16px;padding:26px 28px;margin:32px 0;} .dt-article.dt-article .dt-verdict p{color:var(--cream)!important;} .dt-article.dt-article .dt-verdict .dt-eyebrow{color:var(--butter)!important;} .dt-article .dt-verdict > :last-child{margin-bottom:0!important;} .dt-article.dt-article .dt-verdict a{color:var(--butter);text-decoration-color:var(--butter);} /* ---- pull quote ---- */ .dt-article .dt-pull{ font-family:var(--display);font-size:30px;line-height:1.25; border-left:4px solid var(--red);padding:6px 0 6px 22px;margin:34px 0;color:var(--noir); } .dt-article .dt-pull span{font-style:italic;color:var(--red);} /* ---- big stat ---- */ .dt-article .dt-stat{text-align:center;margin:36px 0;padding:26px 20px;background:#fff;border:1.5px solid var(--rule);border-radius:16px;} .dt-article .dt-stat b{display:block;font-family:var(--display);font-size:62px;line-height:1;color:var(--red);font-weight:400;} .dt-article .dt-stat span{display:block;font-size:15px;color:#5a5a5a;margin-top:10px;} /* ---- best-for pill ---- */ .dt-article .dt-pill{display:inline-block;background:var(--butter);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;margin:0 0 18px;} /* ---- contents card ---- */ .dt-article .dt-toc{background:#fff;border:1.5px solid var(--rule);border-radius:16px;padding:24px 28px;margin:32px 0;} .dt-article.dt-article .dt-toc .dt-eyebrow{margin-bottom:.8em!important;} .dt-article.dt-article .dt-toc ol{list-style:none!important;padding:0!important;margin:0!important;counter-reset:toc;column-count:2;column-gap:32px;} .dt-article.dt-article .dt-toc li{counter-increment:toc;margin:0 0 .55em!important;padding:0!important;font-size:15px!important;line-height:1.5!important;break-inside:avoid;list-style:none!important;} .dt-article .dt-toc li::before{content:counter(toc,decimal-leading-zero);color:var(--red);font-weight:700;margin-right:10px;font-size:13px;} .dt-article.dt-article .dt-toc a{text-decoration:none;} .dt-article.dt-article .dt-toc a:hover{text-decoration:underline;} /* ---- numbered steps ---- */ .dt-article.dt-article .dt-steps{list-style:none!important;padding:0!important;margin:24px 0!important;counter-reset:step;} .dt-article.dt-article .dt-steps li{ counter-increment:step;position:relative;padding:0 0 20px 56px!important;margin:0!important; border-left:1.5px solid var(--rule);font-size:17px!important;line-height:1.7!important;list-style:none!important; } .dt-article.dt-article .dt-steps li::before{ content:counter(step);position:absolute;left:-19px;top:-2px;background:var(--red); width:36px;height:36px;border-radius:50%;color:#fff;font-size:15px;font-weight:700; display:flex;align-items:center;justify-content:center;margin:0; } .dt-article .dt-steps li:last-child{border-left-color:transparent;padding-bottom:0!important;} /* ---- table ---- */ .dt-article .dt-tablewrap{overflow-x:auto;margin:28px 0;-webkit-overflow-scrolling:touch;} .dt-article.dt-article .dt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;min-width:640px;border:0;} .dt-article.dt-article .dt-table th{ background:var(--noir);color:var(--cream);text-align:left;padding:14px;border:0; font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1.4; } .dt-article .dt-table th:first-child{border-radius:12px 0 0 0;} .dt-article .dt-table th:last-child{border-radius:0 12px 0 0;} .dt-article.dt-article .dt-table td{padding:14px;border:0;border-bottom:1px solid var(--rule);vertical-align:top;font-size:15px;line-height:1.5;background:#fff;} .dt-article.dt-article .dt-table tr:nth-child(even) td{background:var(--cream);} .dt-article.dt-article .dt-table td:first-child{font-weight:600;} /* ---- FAQ accordion ---- */ .dt-article .dt-faq{border-top:1.5px solid var(--rule);margin:24px 0 0;} .dt-article .dt-faq details{border-bottom:1.5px solid var(--rule);margin:0;} .dt-article .dt-faq summary{ list-style:none;cursor:pointer;padding:20px 48px 20px 0;position:relative; font-size:18px;font-weight:700;line-height:1.35;color:var(--noir); } .dt-article .dt-faq summary::-webkit-details-marker{display:none;} .dt-article .dt-faq summary::after{content:"";position:absolute;right:8px;top:50%;width:18px;height:2.5px;background:var(--red);border-radius:2px;transform:translateY(-50%);} .dt-article .dt-faq summary::before{content:"";position:absolute;right:8px;top:50%;width:18px;height:2.5px;background:var(--red);border-radius:2px;transform:translateY(-50%) rotate(90deg);transition:transform .18s ease;} .dt-article .dt-faq details[open] summary::before{transform:translateY(-50%) rotate(0deg);} .dt-article .dt-faq summary:hover{color:var(--red);} .dt-article.dt-article .dt-faq details > p{padding:0 40px 20px 0!important;margin:0!important;} /* ---- daisy divider ---- */ .dt-article .dt-divider{text-align:center;margin:56px 0;} .dt-article .dt-divider svg{width:34px;height:34px;} /* ---- offer card ---- */ .dt-article .dt-offer{border-radius:18px;padding:22px;margin:36px 0;background:var(--cream);border:1.5px solid var(--rule);display:flex;gap:22px;align-items:center;flex-wrap:wrap;} .dt-article .dt-offer img{width:130px;height:130px;object-fit:cover;object-position:top;border-radius:12px;display:block;} .dt-article .dt-offer-body{flex:1;min-width:230px;} .dt-article.dt-article .dt-btn{ display:inline-block;background:var(--noir);color:#fff!important;text-decoration:none!important; font-weight:700;font-size:14px!important;line-height:1.4!important;padding:12px 26px;border-radius:999px; } .dt-article.dt-article .dt-btn:hover{background:var(--red);color:#fff!important;} /* ---- closing CTA ---- */ .dt-article.dt-article .dt-cta{color:#fff!important;} .dt-article .dt-cta{background:var(--red);border-radius:20px;padding:40px 28px;margin:44px 0;text-align:center;} .dt-article.dt-article .dt-cta h2{font-family:var(--display)!important;font-size:34px!important;margin:0 0 10px!important;color:#fff!important;} .dt-article.dt-article .dt-cta p{color:#fff!important;margin:0 0 22px!important;font-size:16px!important;} .dt-article.dt-article .dt-cta .dt-btn{background:#fff;color:var(--noir)!important;} .dt-article.dt-article .dt-cta .dt-btn:hover{background:var(--noir);color:#fff!important;} .dt-article .dt-formwrap{background:#fff;border-radius:14px;padding:22px;margin:0 auto 6px;max-width:460px;text-align:left;} .dt-article .dt-cta small{display:block;margin-top:16px;font-size:13px;color:#fff;opacity:.85;} /* ---- figures ---- */ .dt-article figure{margin:32px 0;} .dt-article figure img{width:100%;height:auto;border-radius:14px;display:block;} .dt-article figcaption{font-size:13px;color:#7a7a7a;margin-top:10px;text-align:center;font-style:italic;} .dt-article .dt-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0;} .dt-article .dt-compare figure{margin:0;} .dt-article .dt-compare img{border:1px solid var(--rule);} /* ---- code ---- */ .dt-article.dt-article pre{background:var(--noir);color:var(--cream);padding:20px;border-radius:14px;overflow-x:auto;font-size:14px;line-height:1.6;margin:22px 0;border:0;} .dt-article.dt-article :not(pre) > code{background:var(--cream);border:1px solid var(--rule);border-radius:5px;padding:1px 6px;font-size:.88em;color:var(--noir);} @media (max-width:980px){ .dt-article.dt-article h2{font-size:27px!important;} .dt-article .dt-pull{font-size:23px;} .dt-article.dt-article .dt-toc ol{column-count:1;} .dt-article .dt-compare{grid-template-columns:1fr;} .dt-article .dt-stat b{font-size:46px;} .dt-article .dt-offer img{width:100%;height:180px;} }

There are five ways to connect Claude to your Shopify store, and they have almost nothing to do with each other. Here is the short answer before anything else.

The two minute version

To connect Claude to your Shopify store, open Claude, go to Settings then Connectors, find Shopify, and authorise it with read-only access. That takes about two minutes and gives you a Claude that can answer questions about your live orders, products, inventory and sales.

What it will not do is touch your theme. Not a single line. For that you need a completely different setup involving the Shopify CLI, a GitHub repository and an afternoon of your life.

Both get called “connecting Claude to Shopify” and the gap between them is roughly the gap between a bicycle and a forklift.

I have used four of the five methods on real client stores. Below is what each one actually does, what it costs you in setup time, and which one you should pick, including the fairly large group of people whose correct answer is “none of them, go and do something else”.

I am a Shopify designer, so I have an obvious interest in telling you this is all too hard for you and you should hire me. I am going to try not to do that. Two of these methods genuinely take under five minutes and most brand owners should turn them on today.

The short version

Which method should I use?

If you just want the answer and not the reasoning:

What you actually want Method Setup Cost Changes your store?
Ask about sales, orders and products in plain English Shopify connector in Claude 2 minutes Free Yes, with write access
Quick admin help without leaving Shopify Sidekick None, already there Included Some things
Build or edit your theme properly Claude Code, Shopify CLI and GitHub An afternoon Claude plan plus free tooling Yes, everything
Accurate Liquid and GraphQL, no invented filters Shopify AI Toolkit 5 minutes Free Only with store auth
Store management without touching a terminal Third-party MCP app 10 minutes Usually monthly Yes

If you read nothing else: turn on the Shopify connector today, and stop trying to build your theme by pasting Liquid out of a chat window. That second one is what I did for months and it was, in hindsight, daft. I wrote about how badly that went in Claude Shopify: can AI really build a good website?

Some context

Why are there five methods and not one?

Shopify and Anthropic have been building towards the same thing from opposite ends, and they met in the middle in a slightly untidy way.

Shopify wanted its merchants to have an assistant, so it built Sidekick into the admin, which at the time of writing runs on Claude under the bonnet. Shopify also wanted developers to stop shipping broken Liquid, so it published a documentation server that any AI tool can read from. Anthropic, meanwhile, wanted Claude to talk to the software people already use, so it built a connectors directory with Shopify in it.

And then a whole ecosystem of third-party apps appeared to fill the gaps, because that is what always happens.

So you end up with five doors into the same building. They are all labelled “Claude” and “Shopify” and none of them tell you which room you will end up in. Below, the rooms.

Method 01

How do I connect Claude to my Shopify store directly?

Best for: almost every brand owner

This is the official Shopify integration inside Claude itself. You authorise it once, and after that you can open a normal Claude conversation and ask things like “which products had the worst sell-through in the last 60 days” and get an answer from your live store data rather than a polite guess.

Step by step

  1. Open Claude, either the web app or the desktop app. Not the phone one if you can help it, because the authorisation flow is nicer on a big screen.
  2. Go to Settings, then Connectors.
  3. Find Shopify and click to add it.
  4. You will be bounced to Shopify to log in and approve access. Read this screen. Genuinely read it. It is the only point in the process where you get to decide what Claude is allowed to do.
  5. Choose read-only for now. I will explain why in a moment.
  6. Pick the store you want to connect. It is one store at a time, so if you run three you will be switching.

That is it. It is free to turn on. You are not paying Shopify anything extra for it, though what data you can reach still depends on your Shopify plan.

What it can actually do

Reading is where it shines. Orders, products, inventory levels, customers, discount codes, analytics. You can ask it to summarise a month, compare two periods, find the customers who have ordered three times and never used a discount, or work out which collection is quietly carrying the whole store.

With write access granted it can also update products, adjust inventory quantities and create discount codes. This is useful and it is also the bit where you want to be a grown-up about permissions.

What it cannot do

It only exists inside a conversation. Nothing is watching your store. It will not tell you when stock runs low, it will not flag a weird order at 3am, and it will not run every Monday morning unless you sit down and ask it to. If you close the tab, nothing is happening. People get this wrong constantly and then wonder why their “AI store monitoring” never alerted them to anything.

It also cannot touch your theme. If you ask it to make your product page look better it will give you advice, which is not the same as a product page that looks better.

Start read-only. Here is why

“Update the price on this product” and “update the price on all products” are one badly worded sentence apart, and there is no undo button on a live store.

Give it two weeks of read-only. Ask it fifty questions. Watch how it interprets things. When you have caught it misreading a request once or twice, and you will, you will have a much better instinct for what to trust it with. Then widen the permissions if you want to.

One more rule that is not in anyone’s official documentation: do not grant write access during a sale, a launch, or the run-up to Christmas. Not because it is likely to go wrong, but because that is the fortnight where you have the least attention available to notice if it does.

Method 02

What is Shopify Sidekick and do I need to connect it?

Best for: small jobs you are already in the admin for

You do not need to connect anything. Sidekick is Shopify’s own assistant, already sitting in your admin, available across plans. It is built on Claude, which is why it keeps turning up in articles about connecting Claude to Shopify despite not being a connection at all.

It is good at the things it is good at: pulling up a report you cannot remember the name of, drafting product descriptions, making a discount, adjusting a few theme settings, answering “how do I do X in Shopify” without you opening a support doc.

It is less good the moment a task crosses more than one part of the admin, or needs it to hold a lot of context about your specific store. Its write capabilities are real but conservative, which for something with a direct line into a live shop is the correct design decision even when it is annoying.

The honest verdict

Sidekick is a convenience feature, not a workflow. Use it, do not plan around it. If your question is “why is this not converting”, Sidekick will not be the thing that tells you.

Method 03

What is the Shopify AI Toolkit?

Best for: anyone writing Liquid, GraphQL or app code

This is the one most merchants have never heard of and most developers should be using.

Shopify publishes an open-source toolkit that gives an AI tool direct access to Shopify’s real documentation, its GraphQL schemas, and a validator that checks generated code against them. It grew out of the Dev MCP server Shopify shipped at the end of 2025, and it works with Claude Code, Cursor, VS Code and a few others.

The problem it solves is specific and enormous. Without it, an AI writing Liquid will occasionally invent a filter that does not exist. It writes something that looks completely plausible, ships, and then silently renders nothing on mobile. With the toolkit connected, the model reads Shopify’s actual schema instead of remembering it.

Setting it up in Claude Code

The plugin route is the one to use, because it updates itself when Shopify ships new capabilities:

/plugin marketplace add Shopify/shopify-ai-toolkit
/plugin install shopify-plugin@shopify-ai-toolkit

Documentation lookups and code validation work with no store connection at all. Nothing to authorise, no token, no risk. If you want it to run operations against a live store you will authenticate through the Shopify CLI, which sends you through a normal approval in your admin.

While you are there, Shopify also publishes a separate Liquid plugin for Claude Code that teaches it theme conventions, CSS and JS standards, and accessibility patterns for ecommerce components:

/plugin marketplace add Shopify/liquid-skills
/plugin install liquid-skills@liquid-skills

The accessibility one is worth having even if you think you know what you are doing. I thought I knew what I was doing.

One caveat

Validation sends code to Shopify’s servers to be checked. If you are working on something proprietary, a client’s custom app or unreleased work, set OPT_OUT_INSTRUMENTATION=true in your environment before you start.

One thing it is not: a way to run your shop. It is a developer tool. “Put everything in the sale collection up by 10%” is not what this is for.

Method 04

Can Claude actually edit my Shopify theme?

Best for: building and editing themes properly

Yes, but not through any of the methods above. To let Claude properly edit a theme, it needs to work on the theme files themselves. That means Claude Code, the Shopify CLI, and ideally GitHub sitting in the middle. This is the one that changed how I work.

Everything above is Claude talking about your store. This is Claude working inside it.

What I was doing before, and why it was silly

For months my process was: describe a section to Claude, get Liquid back in the chat window, copy it, open the Shopify code editor, paste it into a new section file, save, preview, spot the problem, go back to the chat, explain the problem, get a new version, copy, paste, save, preview.

It worked. I built a genuinely nice animated homepage that way and kept full control over the details. But it felt like training an intern on their first day, and it took roughly as long as building the thing from scratch would have.

The reason it was slow is obvious in hindsight. Claude could not see the theme. Every request started from nothing. It did not know what my snippets were called, what my design tokens were, what the section above did, or which of my sixteen colour variables I had actually used.

I was the integration. And I am much slower than a computer.

The setup that fixed it

Put the whole theme on your machine, in a git repository, with Claude Code able to read all of it. I found this route via a YouTube video by Brendan Gillen. Here is the plain-English version, because this is not that kind of blog and the exact commands move around every few months.

  1. Install the Shopify CLI. One command, npm install -g @shopify/cli, and it is a prerequisite for everything below.
  2. Pull your live theme down with shopify theme pull. You now have the whole thing, sections, snippets, templates, config and locales, as folders you can actually see.
  3. Put it in a private git repository and commit it before you let anything near it. This is not optional. It is the step that means every mistake from here is a thirty-second revert instead of a bad afternoon.
  4. Connect that repository to Shopify. Shopify’s GitHub integration lets you attach a branch to a theme, and it syncs. This is what turns “Claude wrote some code” into “the change is in my store”.
  5. Open Claude Code in the theme folder so it can read the whole structure.
  6. Install the toolkit and Liquid plugins from method 3, so it is writing against real schemas.
  7. Write a CLAUDE.md file in the root of the repo. More on this below, because it is the single highest-value thing in the setup.

Then you type things like “read sections/main-product.liquid, create a new section that does the same thing but with the gallery on the right and sticky on scroll, keep all the existing schema settings” and it does it, in the actual files, and you preview it locally with shopify theme dev.

Was it hard?

It was bloody difficult, and I say that as someone comfortable with code. The first afternoon was mostly error messages. But it is a one-off cost. Once it is set up, the whole thing runs in plain language.

10×
Not “a bit faster” than copying and pasting. An order of magnitude.

GitHub also gives you something the theme editor never has: every version of the site, forever, with the ability to go back to any of them. I have stopped duplicating themes and naming them things like LIVE - do not touch - v4 FINAL. That alone was worth the afternoon.

Claude is only as good as what you feed it

This is the thing I would tell you if we only had two minutes.

I spent a while asking Claude to design things and being underwhelmed. Then I stopped doing that. Instead of asking it to design a product page, I gave it the layout of the perfect product page and asked it to build that using the existing theme’s design language. The difference between those two outputs is not subtle. The first is a competent template. The second was the first time I have been able to build a Shopify page exactly the way I wanted it, down to the last pixel.

Shopify product page before customisation, using the standard product template
Out of the box, using the standard product template.
Shopify product page after customisation, built with Claude Code from a supplied layout
Built from my layout. Now we are talking.

CLAUDE.md is where you make that permanent. It is a plain text file in the root of your repo that Claude reads automatically, and it should be short, a hundred lines or so rather than five hundred. Mine covers:

  • The stack. Which base theme, how CSS is organised, which conventions I am using.
  • Naming rules. How sections are named, which metafield namespaces exist, whether strings need to go through the translation files.
  • The commands. How to run the dev server, how to lint, how to push.
  • A file map. What is in each folder and what the prefixes mean.
  • Guardrails. Never push to the live theme. Never delete a theme. Always specify metafield types.

The two failures I hit most often

An agent quietly stripping schema settings out of a section, which wipes whatever the client had customised in the theme editor. And misreading a metafield type, so a rich text field renders as escaped HTML on the live page.

Both are entirely preventable by writing them down once.

The Perfect Homepage Builder template by Dominika Tracy

Free template

The Perfect Homepage Builder

Speaking of giving Claude a good layout to work from. This is the homepage structure I use on client builds, section by section, free to take.

Get the template →

The rules I now work by

  • Scope by section, never by epic. “Convert this theme into a custom build” produces sludge. “Read this file, make this specific change, preserve the schema” produces a diff I can review in fifteen seconds.
  • Push to an unpublished theme. shopify theme push --unpublished creates a duplicate. Look at it. Then publish.
  • Run shopify theme check and require zero errors before anything is considered done. This one rule prevents a whole category of broken storefront.
  • Read the diff. Fifteen seconds of looking at what changed catches nearly everything. Not reading it is how people end up with stories about AI destroying their site.

What this made possible

The reason I care about all of this is not speed. It is that I can now build a store exactly the way I want it and then hand it over to a client to run themselves without any trouble.

That combination did not exist before. Previously I could either custom-code something and make it unusable for anyone without a computer science degree, or work inside a template and accept its limits. Now the theme editor still works for the client, every section is properly configurable, and the design is not compromised. If you want the design side of that argument, I have written separately about how to make your Shopify site look expensive.

The bit your accountant will like

It also means fewer apps. Subscriptions, product labels, custom badges, the sort of thing you would normally bolt on at £15 a month each. Most of it can be built into the theme now. For a store running six or seven apps that is a few hundred pounds a year back, plus the page speed, which is the bit that actually shows up in your conversion rate.

Method 05

Should I use a third-party MCP app?

Best for: people who will never open a terminal

There are apps in the Shopify App Store that act as a bridge between your store and Claude. You install the app, approve the permissions, connect it in Claude, and you get a set of tools for managing products, orders, customers and inventory conversationally. There are also open-source community servers that do the same thing if you are happy configuring them yourself.

The pitch is real: more tools than the official connector, and no code. Four things to check before you install one:

  • What permissions is it asking for, and does it need all of them? An app that wants write access to customers in order to help you edit product titles is asking for more than the job requires.
  • Where does your store data go? You are routing your orders and customers through a third party. Read the privacy policy. I know. Read it anyway.
  • Is there a confirmation step before writes? There is no dry run on a live Shopify store. Every change is real the moment it fires.
  • Who maintains it? Shopify’s API changes constantly. A server that has not been updated in eight months is a liability, not a tool.

If the official connector covers what you need, and for most brand owners it does, start there instead. Fewer parties, fewer permissions, fewer things to go wrong.

The limits

What can Claude still not do with my Shopify store?

Worth saying plainly, because a lot of writing on this subject is quietly optimistic.

  • It cannot watch anything. No connector here monitors your store, fires on low stock, or emails you about a fraud flag. Every one of these methods requires you to start a conversation. If you want automation, that is Shopify Flow’s job.
  • It cannot fix a business problem that is not a website problem. If the product is not right, or nobody knows you exist, a better product page changes nothing. I would rather say that now than take your money for a rebuild.
  • It cannot make design decisions for you. It will produce something competent from a vague brief and something excellent from a precise one. The judgment is still yours, which is either reassuring or annoying depending on why you are reading this.
  • It does not know your store’s history. It does not know that the previous developer left a custom snippet half your collection pages depend on, or that the founder hates the colour green. That is what CLAUDE.md is for.
  • It will do exactly what you asked. Including when what you asked and what you meant were different. That is the entire risk profile of write access in one sentence.

Decide

So which one should you actually use?

You run a store and want to understand your numbers better. The Shopify connector, read-only, today. Two minutes, and the highest return on effort of anything in this article.

You want to tidy up products, descriptions and discounts. The connector with write access, once you have had a fortnight of read-only. Sidekick for anything you are already in the admin for.

You want to change how your store looks. Method 4, or a designer. There is no shortcut here, and anyone selling you one is selling you a template with extra steps.

You are a developer or a technical founder. The toolkit, Claude Code and a CLAUDE.md. The setup afternoon pays for itself in about a week.

You are a brand owner without a technical bone in your body. The connector, Sidekick, and then go and do your job. Which brings me to the awkward question.

The awkward question

Did I just talk myself out of a job?

Theoretically yes, if my clients decide to spend their evenings learning Claude Code, the command line and GitHub. It is all learnable. Nothing in method 4 requires a degree.

But most of my clients are busy with product formulations, packaging suppliers, sales tax, the wholesale enquiry that has been sitting unanswered for four days, and a customer who wants to know whether the candle is vegan. They do not want to learn git. Nor should they have to.

What actually changed

Not that Shopify design became a DIY job. The ceiling moved. The things I used to gently talk clients out of, the custom subscription flow, the animation that carries the whole brand, the product labels that would otherwise mean another app and another £200 a year, are all on the table now at a budget that did not reach them two years ago.

So if you have been told something is not possible on Shopify without a developer, an app, or a five-figure budget, it is worth asking again. The answer is probably different this year.

And I will repeat the advice I gave before all of this: a start-up brand with no budget for a designer is still better off buying a good template and customising it. That has not changed and I do not expect it to.

Answers

Frequently asked questions

Is the Shopify connector for Claude free?

Yes. Turning it on costs nothing. You need a Claude account and a Shopify store. What data you can reach still depends on your Shopify plan.

Can Claude edit my Shopify theme?

Not through the connector or Sidekick in any meaningful way. To let Claude properly edit a theme it needs to work on the theme files directly, which means Claude Code with the Shopify CLI, ideally with GitHub in the middle. That is method 4 above.

Is it safe to give Claude write access to my store?

It is as safe as your permissions and your habits. Start read-only, grant the narrowest scope that does the job, work on unpublished themes, and keep your theme in version control. The real risk is not malice, it is a request you phrased more broadly than you meant.

Can Claude connect to more than one Shopify store?

The official connector authorises one store at a time, so if you manage several you will be switching between them. Method 4 has no such limit, because each theme is just a different folder on your computer.

What is the difference between Sidekick and connecting Claude?

Sidekick lives inside your Shopify admin and is limited to what Shopify has taught it to do there. The Claude connector lives in Claude, where you have your full conversation history, your files, your other tools and your own prompting. Different rooms, same underlying model.

Do I need to know how to code?

For methods 1, 2 and 5, no. For method 3, a bit. For method 4 you do not need to write code, but you do need to be comfortable with a terminal, a git repository and the occasional error message that means nothing to you. If the phrase “command line” makes you want to lie down, methods 1 and 2 are still very much worth your time.

Will connecting Claude break my Shopify store?

Not on read-only. On write access it can, in the same way you can. The difference between people who have a good experience and people who write angry posts about it is almost entirely whether they set up version control before they started.

Where to go next

If you want the unglamorous version of all this, I wrote up my first attempt at building a Shopify store with Claude before I found the setup above, including the bits that did not work and the point where I nearly gave up. It is a useful counterweight to the tidy version you have just read: Claude Shopify: can AI really build a good website?


]]>
Claude Shopify: Can AI Really Build a Good Website? https://dominikatracy.com/claude-shopify/ Tue, 12 May 2026 12:12:22 +0000 https://dominikatracy.com/?p=1502415

I built this amazing Shopify website from scratch using nothing but Claude

And it was… a massive waste of time.

 

Claude Shopify website design

Update, August 2026: I wrote this in May and concluded that building a Shopify site with Claude was a massive waste of time. Three months later, I’ve changed my mind because AI has already moved on and fixed the biggest problem with this setup. The original post is below exactly as it was, and the new bit picks up under What I got wrong and you can skip directly to it. 

Over the last few weeks I’ve been seeing posts all over Instagram about how AI is making web designers redundant and how you can get Claude to redesign your Shopify store in minutes and launch it with one click. Which to me sound rather worrying because I happen to be a web designer myself.

So I thought I’d test Claude out and see if it is coming for my job any time soon and also to check how fast I can build an online store for my would-be cosmetic brand with this tool.

Like most web designers, I of course rely quite heavily on AI to make my job easier and faster so I’m not opposed to the idea of Claude helping the process even further. But I wanted to test it for myself first.

I set out with a goal of building a beautiful, animated website which would be fully integrated with the Shopify backend. The design process itself was actually brilliant, as the homepage mockup created by Claude in minutes was high quality, matched my spec perfectly and would normally take me hours to design. So far so good.

claude website mockup

Interestingly, although very pretty and perfect from the point of UX, the design wasn’t optimised for sales and didn’t include elements which could drive potential sales, like including social proof, trust signals, or different types of photos. This is something I’m able to spot and correct as a professional web designer but the average brand owner who is just trying to build their first Shopify store and save some money on web design, I’m sure I’d just follow the advice of AI who I’d assume knows more than me.

Claude develops my Shopify website

The next hurdle is the issue of moving my design into my Shopify test store somehow. By Claude’s own admission, there isn’t a ‘one click solution’ available, you need to get the code created by Claude and copy and paste it bit by bit into the Shopify backend. And it’s not a straightforward process of grabbing the whole page design and putting it on the website.

The first choice is whether to have Claude create the code from scratch or use the free Dawn theme as the foundations to put everything on (which is strongly recommended).

The next step is to update the liquid code created by Claude section by section, like the CSS stylesheet, page sections or the main liquid file. Claude will provide instructions on how to do that but, unless you’re quite familiar with the Shopify backend and editing code, it’s neither straightforward nor fast!

Shopify backend

Where things go wrong

The next part is where is where the whole concept of designing with AI falls apart for me. The code created by Claude is far from ‘plug in and play’. You upload it to your website and only then discover that it leaves too much empty space or that the font size is not screen responsive. From there, the process feels a lot like training an intern on their first day to perform the most basic tasks in your job. The dialogue goes something like this:

Me: Claude, this text is barely readable, can you increase text by about 30%

Claude: Do you want to increase just the headers or all text?

Me: If you make the headers bigger but leave the body the same, it will look off. You have to increase everything.

Claude: Okay, here’s the new code for you to paste into every single section we spent the last 3 hours creating.

Ugh.

Then, you need to take your AI intern by the hand and create the elements you know are missing from his design entirely. In all fairness, Claude does a great job predicting your design needs, intuitively making new sections which perfectly fit the rest of the design. It even added animations here and there because I indicated I want the website to be interactive, without me having to prompt that expressly.

The result, as you can see, is a beautiful website which makes me want to purchase this product doesn’t even exist. Was it quick and easy? Not one bit. If I were a Shopify brand owner, I would be much better served getting a premium (or even a free theme) from the Shopify store and customise it to my brand. If your vision isn’t super specific yet or aren’t too fussed about particular details you’d want on the website, you can achieve a functioning Shopify store like this in just a few hours.

shopify website created by Claude

As a web designer, I won’t be losing sleep worrying about Claude replacing me any time soon. But I will be using it in my own design process going forward!

What I got wrong

That was May. I’ve spent a good chunk of the summer since then researching how AI actually gets used in ecommerce, and I now think the post above is half right. 

The half that’s right: everything about the output. Claude’s designs still aren’t optimised for selling unless you tell them to be, and a brand owner with no budget is still better off buying a good theme and customising it. I’ll stand behind both of those for a while yet.

The part where I need to now revise is the implementation. Back in May there wasn’t yet a tool allowing Claude to interact with the code in Shopify directly, meaning copying and pasting it manually into Liquid was the only way. But AI moves fast and now I found a better way.

The correct setup – and a big improvement on my previous method of creating code section by section in Claude and then pasting it into Shopify’s Liquid – came to me from a YouTube video by Brendan Gillen. I’m not going to bore you with the technical details because this is not that type of blog but it requires connecting your store to Claude either using GitHub or Visual Studio. Neither one of these methods is doable if you’ve ever described yourself as ‘non-technical’. 

For my Claude Shopify integration I chose Git Hub because it also offers a nice backup plan for if anything was to go wrong and I could easily bring back any version of the site I’d choose. It was bloody difficult but once set up, I can, using plain language, tell Claude what to do and it pushes all the edits directly into my store. 

My other discovery is Claude is only as good as the data you feed it to begin with. So, rather than letting it design a product page, I gave it a layout of the perfect product page and asked it to use the existing design to make it happen. Here’s the product page ‘out of the box’, using the product template vs using my framework:

Before

(customised Shopify template)

product page out of the box

After

(built with Claude using my framework)

product page, designed by Claude in Shopify

now we’re talking. 

What this actually makes possible

For the first time, I can build a Shopify store exactly the way I want it, down to the last pixel, and then hand it over to a client to run themselves without any trouble.

That combination didn’t exist before. Previously I could either custom-code something and make it unusable for anyone without a computer science degree, or work inside a template and accept its limits. Now the theme editor still works perfectly for the client, every section is properly configurable, and the design isn’t compromised.

It also means far fewer apps. Subscriptions, product labels, custom badges, the sort of thing you’d normally bolt on at £15 a month each. Most of that can be built into the theme now. For a store running six or seven apps that’s a few hundred pounds a year back, plus the page speed, which is the bit that actually shows up in your conversion rate.

So did I just talk myself out of a job?

Theoretically yes, if my clients decide to spend their evenings learning Claude Code, the command line and GitHub. It’s all learnable. Nothing in the setup above requires a degree.

But most of my clients are busy with product formulations, packaging suppliers, sales tax, the wholesale enquiry that’s been sitting unanswered for four days, and a customer who wants to know whether the candle is vegan. They don’t want to learn git. Nor should they have to.

The updated verdict

I said in May that I wouldn’t be losing sleep over Claude replacing me. That’s still true, but for a completely different reason than I thought at the time.

What’s changed isn’t that Shopify design became a DIY job. It’s that the ceiling moved. The things I used to gently talk clients out of, the custom subscription flow, the animation that carries the whole brand, the product labels that would otherwise mean another app, are all on the table now at a budget that didn’t reach them last year.

So if you’ve been told something isn’t possible on Shopify without a developer, an app, or a five-figure budget, it’s worth asking again. The answer is probably different this year.

And the advice I gave in May still stands, unchanged: if you’re a start-up brand with no budget for a designer, buy a good theme and customise it. That hasn’t moved at all.

If you want the setup detail I’ve skipped over here, including every method of connecting Claude to a Shopify store and which one is worth your afternoon, I’ve written that up separately: How to connect Claude to your Shopify store.

]]>
How to make your Shopify site look expensive https://dominikatracy.com/how-to-make-your-shopify-site-look-expensive/ Mon, 30 May 2022 17:50:15 +0000 https://dominikatracy.com/?p=1501605

How to make your Shopify site look expensive

make your shopify site look expensive

Do you want to make your Shopify site look expensive but can’t afford to hire a designer? Read on, I have gathered all the tricks from my years working as a website designer that can upgrade your DIY website without spending any extra money.

First, I need to clarify, when I say ‘expensive’, it’s a short-cut to mean ‘trustworthy, classy and high-end’. It’s less about money and more about building this relationship with your site visitor that you know is crucial to making sales online. If people don’t feel confident spending money in your online store, your business will suffer.

Theme

The first decision you will face when creating your website on Shopify which will determine the look and functionality of your store is the theme you choose. As you probably already know, there is a selection of free Shopify themes available directly from their store. You may be wondering if the free Shopify themes are any good or if you need to be splurging on a premium one. The good news is that:

A Free shopify theme doesn’t have to look cheap

Let’s look at this example of two stores using the same free Shopify theme, Brooklyn.

shopify free theme example
shopify free theme example brooklyn

It doesn’t take a designer to instinctively know which one of these websites looks expensive and it has nothing to do with the theme that’s used.

The reason why a choice of the Shopify theme is so important comes down largely to the functionality it offers. Some themes will let you edit everything down to the spacing of items in your menu bar. Others will let you choose between 6 fonts and make everything unreasonably hard.

Here’s an example of the theme customisation panel from two different websites I worked on, to give you an idea.

shopify themes customisation options

That is why, even if your budget is limited, I would encourage you to consider some paid options. For my clients, I usually recommend Flex or Turbo which are both superb (here’s a nice discount code for you, if you decide to try it out: DOMITRACY10 ). But if you’re not ready for the investment, here are 3 themes I found below $100 which I believe are great value for money:

Roxxe – $59

Kalles – $89

Lezada – $49

 

Immediate giveaways of a DIY Shopify website

  1. Low quality images

Avoid using stock images or product photos supplied by the manufacturer, especially if you’re dropshipping and the same images will be used by your competitors. You can create high resolution, beautiful images using nothing but your smartphone.

  1. Default Shopify fonts

Research font combinations which will reflect your brand identity and add personality to your website. Pinterest can provide loads of inspiration for this.

  1. Low in Content

A dead giveaway that a store is new or not going to be around for long is lack of content, especially when it comes to copy. Provide as much information as possible to your potential customers, and don’t believe anyone who tells you people don’t like to read online. They may just scan the information but they still need it to make a purchasing decision.

  1. Clashing colours

Pick a colour palette and stick to it, for everything from site elements to product images.

  1. Default Shopify header
  2. Messy navigation

Keep your navigation contained to a single line and try to arrange the option in a way that would make sense to a customer. A great option you may want to add to your store is a mega menu using images, which can make site navigation much easier for some stores.

Observe the basic design principles

These principles are taught in every design course but you can adapt them to your Shopify website without any formal training. They are:

Hierarchy

Balance

Alignment

Emphasis

Proportion

Movement

Negative Space

Contrast

Repetition

Variety

Unity

I won’t go into all of them here but here are a few examples I think are important to keep in mind when designing your own Shopify website.

Movement

You don’t want to leave the eye movement of your site visitor to chance. From research conducted by the Nielsen Group, we know that most people scan websites in a pattern that resembles the F or Z letter.

F reading pattern eyetracking

With intentional use of headers and spacing, you can guide the site visitor to consume your site content in a pattern that we call ‘layer cake’, like it’s done here by the designers of the Nordstorm website.

nordstorm eye pattern intentional

Alignment

Be sure to align site elements consistently in relation to each other. So, for example, make sure all headings are either aligned centre or left, not a mix of the two.

correct text alignment on e-commerce website

White space

As a design principle, the use of white space is crucial, as it gives the elements in your composition the room to breathe. With not enough white space, pages will look cluttered and are hard to navigate. Be sure to leave some blank space around elements of your web page, especially the important ones. This empty space will make them stand out more and makes for a better user experience.

correct use of negative space on e-commerce website
]]>
How to reduce abandoned carts in your online store https://dominikatracy.com/how-to-reduce-abandoned-carts-in-your-online-store/ Mon, 27 Sep 2021 18:36:29 +0000 https://dominikatracy.com/?p=501403

How to reduce abandoned carts in your online store

Have you ever watched a real time recording of an online visitor’s journey through your website?

 If you haven’t, I recommend you get a free version of Hotjar immediately!

It can be painful realising how many people visit your online store from Instagram or a google search, make their way to a product page, read through it, then click that beautiful ADD TO CART button and… then leave your website for no apparent reason!

You can almost hear the sound of money slipping through your hands, can’t you.

If you could, you may be tempted to check that person’s IP address, drive a few hundred miles to find their home, knock on the door just to ask ‘Why didn’t you buy from me???’

While I don’t recommend stalking your would-be online customers, I understand how frustrating it can be not understanding why someone went through the whole process of buying something from you and then changed their mind at the last moment. So, I gathered all the research I could find on the topic to talk you through the possible reasons someone might have to torture you like it.

But I didn’t stop there – I will also give you practical methods to deal with those non-buyers and help you reduce abandoned carts in your online store.

How to reduce abandoned carts in your online store shopify fashion store

What is a ‘good’ cart abandonment rate?

There is no universal figure that could be applied to tell you how well (or poorly) you’re doing when it comes to people not going through with their purchase. It depends on many factors, like for example your industry.

For beauty or fashion ecommerce brands, for example, people often user their baskets as a way to collect and compare items they’re considering buying.

The online average cart abandonment rate, as calculated by the Baymard Institute in 2021 is 69.80%. How does your online store compare? If you want to reduce abandoned carts in your online store, read on.

They weren’t going to buy anything to begin with

According to Baymard Institute’s research, when asked ‘why didn’t you proceed with buying this thing you put in your cart online’, 58.6% of US shoppers said ‘they were just browsing’ which means they had no intention to buy anything online that day.

Before you shout ‘well why did you add it to basket then???’ consider:

  • Have you ever added a number of dresses to basket as a way of ‘bookmarking’ outfits you liked from a store?
  • Or maybe you added something to basket to keep it there before you price compare with another store?

It’s not so unreasonable to use e-commerce stores ‘just for browsing’, same as we do it with brick-and-mortar shops. It also doesn’t mean that the shoppers who visit your site with no purchase intent, can’t be converted into customers.

Make it work for your store:

Instead of getting frustrated with this type of site visitor, make it easy for them to bookmark their favourite items and come back to them later. Use a Wishlist plugin, like this app (free, for Shopify) to encourage shoppers to save their favourite products online. You can request their email address at that stage and email them if any of the items goes on sale, or simply to remind them that the items are still available. A Wishlist is also easily shareable, which means they can forward the link to someone else who might be paying for their stuff.

The shipping costs were too high

Yes, I know delivery costs on your site are high because it costs you a lot to deliver your product. But Amazon changed the online retail space for everyone (for better or worse) and free shipping has become an expectation rather than a perk for most shoppers.

Research after research shows that customers would prefer a £12.38 product with free shipping over £10 product and £2.38 shipping fee. If you can incorporate the shipping fee into the product price, it’s likely to be a good move.

If you can’t, for example if the same product is available with other retailers and shoppers are likely to price compare, there’s still things you can do to avoid people bouncing off your website once they see your delivery charges.

shipping cost beyonce meme

One school of thought is to be as up front about your delivery cost as possible, meaning shoppers know what to expect before they reach the checkout stage. I actually disagree with this idea and believe (partly based on my own shopping experiences) that many times site visitors are more likely to get over additional shipping costs if they’ve already invested a lot of time and effort into choosing their items and adding them to basket.

The way to mitigate this hurdle is to advertise the trigger point for free delivery. So, for example if you offer free delivery on orders over £50, it’s good to remind shoppers how close they are to reaching this threshold. Bonus points if you can then also suggest products which will qualify them for free delivery without increasing the basket value drastically.

This free app for Shopify will do exactly that, encouraging your site visitors to add extra products to their basket, thus increasing their average order value.

The site wanted me to create an account

Hand up if you’ve ever abandoned your purchase because you would have to create an account to buy and suddenly it just seemed like too much hassle!

orange is the new black hands up

I’m not saying you shouldn’t encourage your shoppers to create an account with you. There are many benefits to them setting one up – most notably marketing and promotional permissions you gain access to.

But similarly as with shipping costs, it’s better to ask for it later than earlier. Ideally, once they’ve filled in their transactional info, (which they would have to do anyway), you can offer to convert this data into an account with one click. Lucky, with Shopify this is actually very easy to implement with their Shopify Pay option. Simply go into your Settings and select Payment Providers. You’ll see a section named Accelerated Checkouts that includes the Shop Pay or Shopify Pay option, which you want to enable and that’s it!

reduce abandoned checkouts with shopify accelerated checkout option

Or, if you want to generate loyalty and a feeling of community with your store (who doesn’t?), you can re-frame Customer Accounts as Regular Customer’s account and offer additional perks (discounts, free shipping etc) for those who sign up.

Here’s how Nike do it:

reduce abandoned checkout like nike - offer an incentive to join

I didn’t trust the site with my credit card information

Adding trust and credibility signals is a great way of mitigating those last-minute doubts shoppers sometimes get before parting with their credit card information.

Elements to add here are:

  • Refund policy
  • Ways of contacting you
  • Trust badges
  • Customer reviews

Don’t assume that the ‘selling part’ of your customer journey is done because the visitor reached the checkout. It’s not over until the credit card is confirmed and the Thank you page loads. Don’t be afraid to repeat your unique selling points here and reinforce them in the knowledge that they are making the right purchasing decision.

reduce abandoned checkouts by repeating your unique proposition at the checkout stage

There wasn’t enough payment methods / credit card got declined

I refuse to get up from my sofa and interrupt a good online shopping session to have to get my wallet and put my card information in and I’m sure I’m not the only one, as 7% of shoppers asked by the Baynard Institute also stated that as the reason why they didn’t complete their purchase.

Offering Apple Pay, Google Pay and Paypal is easy to do with Shopify and there is no reason why you shouldn’t include these in your store.

If your product is on the luxury side of life, it might also be worth offering credit, with services like Klarna. The possibility of spreading payments out in time (although it will most certainly encourage consumer debt and may be morally questionable) will also make it more accessible for many to purchase your products. Klarna claims that offering the payment in instalment option at checkout increases conversion rate by as much as 30%.

Even if your product may seem to you as priced so low, it’s not worth bothering with Klarna and the like, your customers may think differently. Fast fashion sites like Boohoo offer payment in instalments for products as cheap as £5:

reduce abandoned checkouts by offering payments in instalments with Klarna - like Boohoo

Conclusion

The research published by the Baymard Institute suggests that as much as $260 Billion could be recovered through optimising the checkout experience in the online retail space. How much do you think you could claim back for your own online store?

Did you find this post helpful?

Don’t forget to pin it!

]]>
How to make a website that sells https://dominikatracy.com/how-to-make-a-website-that-sells/ Fri, 10 May 2019 18:42:37 +0000 https://dominikatracy.com/?p=113

How to make a website that sells LIKE CRAZY

Are you wondering how to make a website that sells without hiring an expensive web developer? As a conversion-focused web developer myself, I will share some of my best tips with you below. All of these you can easily apply to your website right now and see an increase in sales/enquiries almost immediately!

Let’s start with your homepage.

Do you know what the first job of a good homepage on your website?

It’s to make the visitor not bounce, i.e. leave your website immediately. Depending on the quality of your page, this will happen with 50% or more of the people who land on it.

So, provided the person who’s visited actually sticks around to absorb any of the content you have on there, what are the elements of a good homepage? First, the area you want to focus on the most is ‘above the fold’, so the part of the page which is visible without the user having to scroll down. That’s your prime real estate so use it wisely.

✅ Do use a strong, clear hero image
❌ Don’t use sliders

The image is what will grab the visitor’s attention first, that’s why it’s important that it’s top quality. A slider on the homepage, although used by so many, is actually proven to hurt conversions. Objects moving before you get a chance to read them is pretty annoying for the end user, so try and avoid if you can!

✅Do use a short sentence to describe what you do and how that helps them.
❌Don’t write a long paragraph about your company history etc.

Within the first 30 seconds of the user landing on your homepage, they should be able to say what’s in it for them – and then be able to find out more if they wish.

How to make a website that sells – Sort out your navigation

The rule of a thumb is – if it takes your user more than two clicks to find the thing they want to buy, you’ve already failed. Keep your menu straightforward and only use secondary items if necessary. If you have a lot of items which should be included in the menu, for example if your website is an ecommerce store, your best option will be a megamenu, which will display those vertically, without the user having to scroll down. 

The other mistake I see people doing a lot is have too many options in the menu. I get it, you want to show all the things you can do but chances are you’re just confusing them. 
Try and think about this from the user’s perspective – what pages would they want to find on your website and what path would they expect to take there?

Create a website that sells – Forget YOU

It’s about them, not you – your homepage, that is.

The most common mistake I saw when reviewing the homepages submitted by you in the last couple of weeks was a complete fixation on Me Me Me 🙂

If your homepage talks about YOUR experience, YOUR company history, or worse yet, YOUR hobbies and interests – I would reply with a big ‘so freakin’ what’ every time. And so will your visitors.

A person landing on your website only cares about one thing – themselves. And what they want to know from you is how you can help THEM.

As an exercise for today, I urge you to go to your homepage and check how many times you talk about You – when you should be talking about your visitor and their needs.

Did you find this post helpful?

Don’t forget to pin it!

]]>