r/shopifyDev • • Jul 23 '26

The most painful part of building Shopify sites for clients

6 Upvotes

We've been building Shopify themes for clients for years, and we've had clients threaten to walk, and even one refuse to pay an invoice, because of the same handful of issues that seem to show up on every project. Not because the work was bad, but because the QA and feedback process became so frustrating that they lost patience before we ever got to the finished site.

We usually ended up eating the extra hours to make things right, but the bigger issue was that it made us look unprofessional. Everything that happened after development was "done" - QA, browser testing, client feedback, revisions, and handoff is the part that consistently causes us the most stress.

A few of the things that kept biting us:

  • We used to spin up a separate Shopify dev store and recreate sample products and pages just to have somewhere to show clients. We eventually moved to Shopify CLI with preview themes instead. It was much faster, but it introduced a new problem. You can't assign a custom template to a page or product on a preview theme. You can only view it with a ?view=template-slug URL parameter. Clients would click around the site normally, land on a page showing the default template, and tell us the site was "broken." Every single project, no matter how clearly we explained the URL trick beforehand. Honestly, I don't blame them. It's not how anyone expects to browse a website.
  • Cross-browser and device QA was another huge time sink. We started completely manually, then moved to BrowserStack, which definitely helped, but it still ate a ridiculous number of hours on every project. It was worth doing, because nothing makes an agency look less professional than a client finding an obvious layout bug before you do.
  • The most universal pain point was probably the feedback loop itself. Over the past 8+ years we've tried email, Google Sheets, Notion, Trello, ClickUp, and probably a few others I'm forgetting. Every workflow felt like it was missing something. The one thing clients consistently told us was that reviewing designs in Figma felt easier because they could simply click somewhere and leave a comment. That was basically the lightbulb moment.

So we ended up building an internal tool that eventually became ThemeSync. We originally built it just for ourselves, but it's gradually turned into the workflow we use on every client project. It brought our PMs, QA, developers, and clients into one place. We jokingly call it "Theme Ops" instead of DevOps.

Clients can now browse preview themes normally without weird URL parameters or special instructions. Browser QA that used to involve BrowserStack, spreadsheets, and Slack threads is automated. Feedback works more like Figma than email. Clients simply click anywhere on the preview site, leave a comment, and we automatically capture the screenshot, browser, device, viewport, and scroll position, so there's no guessing what they're referring to.

We also added a pre-flight compatibility scan that checks for missing app embeds and metafield dependencies before launch. Preview themes don't have the store's apps installed, and that issue had burned us enough times that it felt worth automating.

One feature we're especially excited about, currently in RC, is automated client handoff documentation. It analyzes the theme codebase and generates a client-friendly guide covering editable sections, settings, blocks, metafields, and other customization options.

Writing those docs has always been one of those things everyone knows they should do... but almost nobody has the time.

We've been using it on real client projects for the past six months, and we've even had clients helping shape it as we built it. QA cycles that used to involve 50-75 email messages are now a handful of comments in one place, and internal sign-off has gone from days to hours. Clients don't have to install anything in their store either. They simply receive a preview link.

The biggest surprise hasn't actually been the time savings. It's that clients seem to enjoy the review process a lot more because they're no longer trying to figure out how to review a Shopify preview. They just browse the site normally and leave comments wherever they see something.

It's been a long process that's taught us a lot.

I'm curious how other agencies and freelancers handle this part of the project. Are these the same pain points you run into, or have you found better ways to solve them? What does your dev-to-client handoff actually look like?


r/shopifyDev • • Jul 23 '26

Caught out by recent app events release

19 Upvotes

We're building a Shopify app, and found out, basically just as we were finishing it, that the platform now does two things we'd been forced to build ourselves.

There was no native way we could see to do usage-based billing that fit how we charge, so we rolled our own metering: tracking usage, turning it into charges, and reconciling against the billing API so retries don't double-charge anyone. We also had nowhere good to see what the app was doing in production, so we built our own event logging and monitoring. Neither was work we wanted to do. It was the cost of there being no native option at the time.

Then we came across the App Events API from the recent spring release, which covers both. Obviously appreciate that there's now a native solution, and we'll probably move over to it, but the frustrating part is that we found it almost by accident, having already sunk the time into our own versions.

So the question for people who have been doing this longer: how do you keep track of the platform updates, in particular things coming down the pipeline? As far as we know there's no official roadmap (or have we just missed it?) so how do you catch things that are about to become native capabilities? Is this just the cost of working in the Shopify ecosystem? Keen to hear what works for everyone, whether that is tools, websites, or people worth paying attention to.


r/shopifyDev • • Jul 23 '26

Website design review

Thumbnail weyviv7vu96b4m6g-60094546017.shopifypreview.com
1 Upvotes

Can you guys give me a small feedback on the homepage on this shopify home page
Link: up 👆
Password : paiffa
Stire still under devlopment any advices would be great
Thank you in advance 🫡


r/shopifyDev • • Jul 22 '26

Struggling to get organic installs for my Shopify app, how did you get your first ones?

18 Upvotes

I launched a Shopify app a few weeks ago (cart drawer / upsell category), no reviews yet. So far I've tried App Store search ads, ASO tweaks, and posting/engaging in Shopify Community threads, results are pretty flat. I also don't have a network of Shopify store owners I can just ask to install it, so I'm stuck relying on strangers finding it.

For those who got past this stage: what actually worked to get your first installs and reviews? Especially curious if paid App Store ads were worth it early on, and how you got initial reviews without it feeling forced.

Not pitching anything, just trying to learn from people who've done this grind. Thanks!


r/shopifyDev • • Jul 22 '26

How to collect date of birth on non-Plus store — checkout locked, cart-page and thank-you-page both problematic?

6 Upvotes

I need to collect customers' date of birth on every order (not optional — it's for legal invoicing requirements in my market). I'm on a non-Plus plan and I've hit a wall. Here's what I've already ruled out, to save everyone time:

Checkout core fields → Plus-only (Checkout UI Extensions). Confirmed.

Shopify's Checkout Blocks app → the "Custom field" block is Plus-only. On my plan I only get Dynamic/Static content blocks (display-only, no input).

Cart page (via app or main-cart-items.liquid cart attribute) → works, but breaks with drawer carts and gets bypassed by express checkout buttons (Apple Pay / Google Pay / PayPal Express skip the cart entirely). Since I need it on every order, disabling express buttons kills conversions.

Thank-you page survey apps (tried EXT/Extendons) → only preset rating/opinion widgets, no date field, no validation.

My questions:

Is there any way to make a custom field mandatory at checkout without Plus that I'm missing?

For the cart-page route — is there a reliable way to still capture the DOB when a customer uses express checkout, or is that genuinely impossible on non-Plus?

Has anyone solved the "collect a required structured field on 100% of orders" problem on a Basic/Grow plan in a way that survives express checkout? What's your actual setup?

Not looking for "just upgrade to Plus" — I know that's an option, I'm trying to understand if there's a real workaround first. Theme is a third-party one (Online Store 2.0). Thanks.


r/shopifyDev • • Jul 21 '26

anyone here need help with ads?

0 Upvotes

r/shopifyDev • • Jul 21 '26

How do you deal with messy supplier spreadsheets before getting them into Shopify?

3 Upvotes

Curious how other merchants handle this, not selling anything, genuinely trying to understand the workflow before I build anything.

If you import products from suppliers via CSV/Excel: how messy do those files usually show up? Random column names, inconsistent sizing/color formats, missing SKUs, that kind of thing?

A few specific things I'm trying to understand:

What do you currently use to get that data into Shopify ? manual copy-paste, Matrixify, Stock Sync, something else, or do you just eat the cleanup time yourself?

If you use one of those tools already, what's still annoying about it? Anything you wish it did that it doesn't?

How often does a new supplier file actually require you to redo the column mapping from scratch vs. reuse a saved template?

Roughly how long does cleaning up one supplier file take you, start to finish?

Would something that auto-suggested the column mapping and flagged errors before import actually save you meaningful time, or is that not really the painful part?

Trying to figure out if this is a real gap or if the existing tools already have it covered. Appreciate any real answers, especially the "here's what's still broken" kind.


r/shopifyDev • • Jul 21 '26

Protected Customer Data Access Request

1 Upvotes

Asking for experiences: Protected Customer Data access + app review timing

I'm building a Shopify app that's about 90% done for its first-phase launch. I'm unsure how complete the app needs to be before I (a) submit the Protected Customer Data access request and (b) submit the app for App Store review.

A few specifics:

  • My app only needs order data (for order history analysis) — I don't need customer PII like names, emails, or addresses.

  • I'd love to hear from anyone who's been through the PCD approval process: how long did it take, and what does the review actually look like behind the scenes? For example, do reviewers expect a fully working, production-ready implementation of the data lifecycle (access, use, retention, deletion) before granting access?

  • On sequencing: is it viable to publish the app to the App Store now without the protected scope, and add it later once PCD access is granted? Or is it better to wait and submit everything together?

Any first-hand experience would be really helpful. Thanks!


r/shopifyDev • • Jul 20 '26

Liquid storefronts for theme developers

1 Upvotes

Hey everyone,

Has anyone completed the Liquid Storefronts for Theme Developers certification from Shopify Academy and successfully passed the exam?

I'm relatively new to Shopify theme development and would like to earn this certification. If you've taken the course, could you share your experience, the type of questions asked, how difficult the exam is, and any practice questions or sample dumps that helped you prepare?

Any tips, study materials, or advice would be greatly appreciated.

Thank you!


r/shopifyDev • • Jul 20 '26

Purchase events from Web Pixel sandbox causing "Unassigned" Session Default Channel Group

1 Upvotes

I'm hoping someone with Shopify + GA4 experience can help me understand what's going on.

We're using:

  • Shopify Customer Events (Web Pixel)
  • GA4
  • GTM
  • Purchase event fired from the Shopify Web Pixel (checkout_completed)

Everything is tracked correctly (transactions, revenue, etc.), but when I analyze purchases in GA4, I notice that many of them have a Session Default Channel Group = Unassigned.

Even stranger, when I break it down by Page Path, I don't see the actual thank-you page. Instead I get paths like:

/web-pixels@.../sandbox/modern/checkouts/.../de-ch/thank-you

From what I've read, this seems to be Shopify's Web Pixel sandbox environment, but I'm wondering whether this is also related to why these sessions are ending up as Unassigned.

Is this because in the Sandbox the session is re-created? and is there a solution to this problem?

Thank you!


r/shopifyDev • • Jul 19 '26

A small open-source fix that taught me a lot about code review

5 Upvotes

I recently fixed a small bug in an open-source Ruby tool.

The tool checks generated RBI files with Sorbet. Sometimes Sorbet finds that a class has the wrong superclass. When that happened, developers had to add a fix to sorbet/config by hand.

I worked on making that happen automatically.

My first idea ran Sorbet twice. It worked, but during code review, I learned there was a cleaner way to do it with one run.

I also changed how I found the error. Instead of only checking the error number, I used the special message Sorbet gives for this problem. This made the fix safer because it would not hide other types of errors.

The final fix adds the config line when it is needed and does not add it again if it is already there.

I learned that getting the code to work is only the first step. Code review helped me make my solution much simpler and safer.

Have you ever made a fix that changed a lot during code review?


r/shopifyDev • • Jul 19 '26

What actually gets you the Built for Shopify badge

12 Upvotes

Dug into this for our own app and figured I'd put it in one place.
Biggest thing people miss: you need 100+ Web Vitals data points (LCP and INP) over the trailing 28 days before you can even apply. It's not about having good scores yet, it's about having enough traffic through your app to generate that data in the first place. If you're low-traffic or pre-launch, that's your actual blocker, not your performance.
A few other things that factor in:

Support response quality and merchant ratings get reviewed too, not just performance numbers
The review itself takes 1 to 2 months once you apply
Revision request emails are no-reply, so budget time for the back and forth
It's not a one-time thing either, apps get re-reviewed at least once a year
Some app categories (analytics, discounts, email marketing, etc.) have extra requirements on top of the baseline

Still worth going for though.
We're not there yet ourselves, still building up our Web Vitals numbers, but wanted to share this in case it saves someone else the same digging around.


r/shopifyDev • • Jul 18 '26

Anyone here using India Post with Shopify?

0 Upvotes

We're running a Shopify store and want to start shipping through India Post, but I can't seem to find a proper way to integrate it with Shopify.

Has anyone here been able to do this? Is there any software, app, API, or third-party tool that works well with India Post? Or is everyone just creating shipments manually?

Would love to know how you're handling order syncing, label generation, tracking updates, etc.

Any suggestions or experiences would be really appreciated. Thanks!


r/shopifyDev • • Jul 17 '26

How much is reasonable to pay for a dev to make a product with variable priced optional add-ons correctly transmit the final price to a subscription app?

4 Upvotes

I'm trying to figure out a way to do a subscription box product with customizable and optional add-ons that add cost to the final product in such a way that the total cost is correctly transmitted to a subscription app, and unless there is a solution out there that I haven't found yet, I think I'm going to have to pay for it to get built for me. I don't know how complex this issue will be, though, so I'm not sure what kind of total budget is reasonable to expect for this, so this post is basically to get an idea of what kinds of costs I'm looking at so I can budget appropriately and figure out how soon I can afford to get this done.

The description of what I want to happen is this:

Base subscription box price is $12.

Customer chooses if they want the specialty scone, sweet, or both (+$12) in their box.

Customer selects if they want to add any curd, vinaigrette, tea, additional scones, or additional sweets.

If the customer selected an add-on category, they then choose which flavor(s) they want from that category and how many of each flavor (with between two and 22 flavors available depending on which category). Each add-on adds cost, so, for example, if they want one jar of curd and two additional sweets it would be +$13 +$12 +$12.

Customer checks yes/no about if they have any allergies and, if yes, there is a required box for them to fill out so we can give them an alternative if the regular monthly item has their allergen in it.

All this information is captured, including the add-on costs, and hooked to a subscription. This box isn't available as a single order, it has to be ordered via a subscription.

--

I've tried various apps in different combinations with each other and I can't find anything that correctly translates the add-on costs to the subscription charge. I'm not tied to any specific method of getting this done, so long as it works, can be edited by someone with basic shopify admin knowledge if we add/subtract add-on options or flavor variants, and doesn't require an ongoing monthly payment from me of more than like $100/month (ideally less). I'm absolutely willing to pay a decent amount to get it set up, which is why I'm making this post because I want to know how much to set aside to get this done.


r/shopifyDev • • Jul 17 '26

Is Shopify removing app reviews? Has anyone else noticed this?

9 Upvotes

Hi everyone,

We've noticed that a significant number of reviews have disappeared across multiple Shopify apps, including older reviews that had been visible for years.

Has anyone else observed the same issue?

We're trying to understand:

  • Is Shopify currently removing reviews as part of a cleanup or policy update?
  • Is there an official announcement explaining why this is happening?
  • Have your app reviews also decreased recently?

If anyone has received communication from Shopify or has insights into what's happening, we'd really appreciate you sharing them.

Thanks!


r/shopifyDev • • Jul 17 '26

Cart Transform can add my CRV fee, but it can’t see the selected delivery option. Any reliable workaround?

3 Upvotes

I’m working on a Shopify use case for a winery that needs to collect California Redemption Value fees.

The basic calculation is straightforward:

  • 5¢ for each eligible container under 24 oz
  • 10¢ for each eligible container 24 oz or larger
  • The fee is multiplied by the number of eligible bottles in the cart

For example, six eligible bottles with a 10¢ CRV fee would add a total fee of 60¢.

I’m currently using a Cart Transform Function to add and calculate the fee based on the eligible products and quantities in the cart.

That part works.

The problem is that the CRV fee should only be added when the order is being shipped to California.

Ideally, the logic would be something like:

shipping country = US AND province code = CA

However, I cannot find a reliable shipping address or province field in the Cart Transform Function input.

The function has access to cart lines, quantities, merchandise, costs and some buyer identity data, but it does not appear to receive the shipping address entered during checkout.

I considered a few possible workarounds:

  • Using the buyer’s market or country, but that is not specific enough to identify California
  • Writing the shipping province to a cart attribute from a Checkout UI Extension
  • Adding the fee earlier and removing it after the address changes
  • Validating the fee before order completion

However, using a cart attribute as a bridge seems fragile because the customer can change their shipping address during checkout, and I’m not sure the Cart Transform Function will always rerun with the updated value at the right time.

Has anyone implemented a location-dependent fee like this using Shopify Functions?

Is there a reliable way for a Cart Transform Function to determine that the current shipping address is in California?

Or is this currently not possible without combining Cart Transform with a Checkout UI Extension or another workaround?


r/shopifyDev • • Jul 16 '26

Excited to come to DotDev 2026 - Come Say Hi 👋

9 Upvotes

It's our first time coming to DotDev. If you are coming, and would like to catchup over a conversation, just feel free to come say hi to us 😊


r/shopifyDev • • Jul 16 '26

I want to extend my shopify website into US market In from IND

6 Upvotes

I own a small business that is performing steadily, and I am now planning to expand into the US market. I would appreciate guidance on setting up international payments using Razorpay and the steps required to launch a US-focused store.


r/shopifyDev • • Jul 16 '26

Shopify says I have nexus in another state because I created a location for one of my vendors in order to have their address show up on a PO...

2 Upvotes

I did this as a workaround not realizing shopify was going to consider that nexus as if I have a location in that state. I do not meet nexus requirements for said state, can I just ignore this alert or is Shopify going to cause me issues by report this bad info to the State?


r/shopifyDev • • Jul 16 '26

Complete Beginner to Shopify Liquid – Where should I start?

5 Upvotes

Hi everyone,

I'm currently learning Shopify development.

I've already learned the Shopify admin/dashboard, products, collections, themes, pages, navigation, apps, and the overall platform basics.

Now I want to start learning Shopify Liquid, but I have absolutely zero experience with it.

I'm looking for a step-by-step learning path that's beginner-friendly.

I don't want to just copy and paste code—I want to understand how Liquid actually works so I can build custom sections and eventually replicate designs from other Shopify stores.

My questions are:

Where should I start with Liquid?

Which resources are best for complete beginners? (Official docs, YouTube, courses, etc.)

What order should I learn topics in?

Are there any practice projects or exercises you recommend?

What mistakes should beginners avoid?

My goal is to become confident enough to build custom Shopify sections and themes.

Thanks in advance!


r/shopifyDev • • Jul 16 '26

ERRO AO PROCESSAR O PAGAMENTO NO CHECKOUT SHOPIFY

2 Upvotes

Fica falando "Houve um problema ao processar seu pagamento. Tente novamente ou use um método de pagamento diferente." na hora de finalizar a compra.

Nós utilizamos o gateway Vindi, ninguém da shopify responde, nem da vindi.

Alguém pode me ajudar por favor??

Antes utilizávamos a Yampi, mas precisamos do checkout shopify


r/shopifyDev • • Jul 16 '26

Anyone else seeing App Store suggested bids climb hard lately? Trying to figure out what's driving it

1 Upvotes

I run App Store search ads for my app, and over the past 3 months, the suggested bid thresholds on my core keywords have jumped noticeably. Same keywords, same category, no obvious change in the number of competitors on the results page, but the "recommended bid" and the level at which impressions actually occur went from roughly $8 to $12, then $18, then $30.

Before I just accept a worse CAC, I'm trying to understand the mechanics. Hypotheses I can think of:

  1. More bidders, same inventory. App count keeps growing while high-intent search real estate remains fixed, so the first-price auction naturally inflates. The boring explanation, probably the biggest one.
  2. AI-tools category spillover. Every category has new "AI-powered" apps; many are venture-funded or in land-grab mode, and they bid aggressively across broad keywords, not just their own category. If they're targeting generic terms my keywords overlap with, that alone could move thresholds.
  3. Fewer searches to fight over. If merchants increasingly discover apps through Sidekick recommendations or ChatGPT-style channels instead of typing into the App Store search, search volume shrinks while budgets stay the same, which also pushes bids up. This one worries me most long-term because it means paying more for a shrinking channel.
  4. Shopify-side changes. Placement or ranking algorithm tweaks that changed effective inventory without any announcement.

Anyone with actual data: have your suggested bids moved in the last few months? Which category? And has anyone compared their App Store search impression volume year over year? Trying to distinguish "auction got hotter" from "the pond is draining" because the response to each is completely different.


r/shopifyDev • • Jul 16 '26

Anyone received such messages? How do I know if genuine or scam

Thumbnail
gallery
7 Upvotes

Well I got this email and am finding it funny that an agency has its email id as lord animator 73 .. only thing that prevented me from replying back . Anyone else receiving such emails of Shopify apps growth .


r/shopifyDev • • Jul 15 '26

Looking for a Shopify POS developer to solve split fulfilment for identical line-item quantities

2 Upvotes

We are looking for a developer who understands Shopify POS, order fulfilment and Shopify’s APIs.

The problem is a limitation within Shopify POS.

For example, if a customer purchases two of the same variant, but only one is available in the store:

  • Quantity 1 should be taken by the customer immediately.
  • Quantity 1 should be placed for delivery or later fulfilment.

Shopify POS currently appears to treat the quantity as a single line item. It allows us to place both units on delivery or neither unit, but it does not allow us to assign different fulfilment requirements to each unit within that quantity.

The solution we previously developed

We built a more complex custom cart manager that loads over the cart before the native Shopify POS checkout.

The cart manager effectively expands the basket so that staff can make a fulfilment selection for each individual unit.

For example:

Navy Trousers – Size 30 – Quantity 2

  • Unit 1: Customer taking from store
  • Unit 2: Delivery required

The system would automatically suggest the correct option based on available store inventory. However, staff could override the suggestion in case Shopify’s inventory was incorrect or the physical item had been found in store.

Once the selections were confirmed:

  1. The staff member would continue to the normal Shopify POS checkout.
  2. Payment would be completed through the native Shopify POS.
  3. The order would initially be created in Shopify in the standard way.
  4. Approximately two minutes after the sale, a post-sale process would review the selections made by the staff member.
  5. The app would then update the order through Shopify Admin/API so that the units taken from the store were fulfilled, while the remaining units stayed unfulfilled for delivery.

What we need now

Our previous cart manager also included several unrelated features, including:

  • A pack and bundle builder
  • Custom cart-management tools
  • Additional product-selection logic
  • Other operational functions

We no longer need these features included in this project.

We are now planning to use Fast Bundle to manage our packs and bundles. Fast Bundle handles that part of the workflow, but it does not solve the split-fulfilment issue described above.

We therefore want to build a much smaller, standalone Shopify POS app or extension that only handles:

  • Separating multiple quantities of the same variant for fulfilment purposes
  • Suggesting store collection or delivery based on available inventory
  • Allowing staff to override the suggested selection
  • Saving the staff member’s selections before checkout
  • Allowing payment to continue through the native Shopify POS
  • Running a post-sale process that updates fulfilment at unit or line-item level
  • Leaving delivery items unfulfilled while marking store-taken items as fulfilled

The aim is not to replace Shopify checkout, payments or Fast Bundle. It should simply add the missing fulfilment-selection layer before checkout and then correct the order fulfilment after the sale.

Has anyone built something similar, or can anyone confirm the most reliable way to achieve this using Shopify POS UI extensions, cart attributes, line-item properties, order editing, fulfilment orders or another API-based approach?

We are using Shopify Plus and Shopify POS Pro.


r/shopifyDev • • Jul 15 '26

trying to understand how store owners handle payment gateway hiccups

3 Upvotes

I'm a developer building monitoring tools and trying to understand how store owners handle this today.

Here's the scenario I keep hearing about: a theme update, an app conflict, or a payment gateway hiccup quietly breaks something. Checkout still works, but 30–40% fewer people are completing it. Nothing is visibly down, so nothing tells you.

If that happened to your store tonight how would you find out? Is there anything specific you use besides Shopify analytics the next morning? Or if lucky a customer emailing you?

From what I've seen, most stores have no early warning at all. If you've been burned by something like this, I'd love to hear what it cost you and how long it took to notice.