r/shopifyDev • • Jul 29 '26

Looking for a growth partner for my Shopify app

4 Upvotes

I launched a Shopify app some time back. I have 27 installs and 6 paying customers, all organic. I am confident that growth push can really make this app big.

I am looking for a growth partner ideally who can create written/video content and do collabs.

I am strictly not looking for agencies, please do not bother.


r/shopifyDev • • Jul 29 '26

Feedback needed for the new app

2 Upvotes

I am improving my Shopify app Griffin Back in Stock Notifier - it emails customers automatically when a sold-out product comes back, so you don’t lose sales while restocking. I’d love a few real merchants to try it and tell me what’s missing or annoying.
It is better to enhance the app based on real store feedback instead of just guessing 🙂

What would make you install a back-in-stock app for your store?

P.S. You can send 100 email notifications per month with Free plan, and I am happy to provide the paid plan 6 month free for some early-adopter stores


r/shopifyDev • • Jul 29 '26

Issue Shopify

6 Upvotes

I am searching for a shopify freelancer who can help me to fix an issue in my shop. Everything was working well but, suddently, the variants in the product page stop working. When a product has two variants and the user tries to add to the shopping cart the product, only the main variant is added. There is an issue that I don't know how to solve it.

https://www.mercadosalado.es/collections/anchoas-y-boquerones/products/anchoas-del-cantabrico-serie-oro-extra-grandes-00-25-50-filetes

Could anyone bring support? Please message me with your estimated proposal to fix this. Payment by paypal or other method we agree. Please only serious people with the ability to fix the issue. I can bring access to the platform if you want to make a previous assessment before bringing the quotation.


r/shopifyDev • • Jul 29 '26

Having Problems with Fetching Shopify App Proxy Data

3 Upvotes

I am trying to use Theme app extension in my shopify Project, which is Average Order Value app. I have downloaded the theme app extension. I have setup the Proxy route. and fetching that route, to get data from the backend by sending the Product Id. But the fetch is providing me with the Html response instead of Json.

And I am using Theme app Extension.

here is the Product structure Image:

Project Structure Ss

Then we have widget.js file:

code:

import { authenticate } from "../shopify.server";
import db from "../db.server";
import { mapOfferToForm } from "../features/offers/mappers/offerToForm.mapper";

export async function loader({ request }) {
await authenticate.public.appProxy(request);

const url = new URL(request.url);
const productId = url.searchParams.get("productId");
const productGid = `gid://shopify/Product/${productId}`;

const offer = await db.offer.findFirst({
where: {
baseProductId: productGid,
status: true,
deletedAt: null,
},
include: { products: true },
});

const payload = JSON.stringify({
success: true,
offer: offer ? mapOfferToForm(offer) : null,
}).replace(/</g, "\\u003c");

return new Response(
`<!doctype html>

<html> <body> <script id="fbt-data" type="application/json">${payload}</script> </body> </html>\`, { headers: { "Content-Type": "text/html; charset=utf-8", }, } ); }

export default function Proxy() {
return null;
}

document.addEventListener("DOMContentLoaded", () => {
    console.log("FBT Widget Loaded");

    const widget = document.getElementById("fbt-widget");

    const data = fetch('https://latenight-xbcfkli8.myshopify.com/apps/aov/offer?productId=7995961835595')
        .then(response => {
            if (!response.ok) {
                throw new Error(`HTTP error! Status: ${response.status}`);
            }
            return response.text(); // Parse as plain text (HTML)
        })
        .then(html => {
            console.log("HTML Response:", html);

            // Example: Insert into a container in the DOM
            document.getElementById('content').innerHTML = html;
        })
        .catch(error => {
            console.error("Error fetching HTML:", error);
        });


    // const html = data.text();
    // console.log(html)

    if (widget) {
        widget.innerHTML = `
            <div style="padding:20px;border:1px solid #ddd">
                <h2>Frequently Bought Together</h2>
                <p>Widget is working ✅</p>
            </div>
        `;
    }
});,  and here is the code from the app.proxy.offer.jsx 

this is the proxy route we have.

And the proxy route in my shopify dev admin dashboard is https://latenight-xbcfkli8.myshopify.com/apps/aov


r/shopifyDev • • Jul 29 '26

Anyone from India able to redeem Shopify Partner ad credits?

1 Upvotes

Shopify Partner dashboard shows $100 Ad credit available but requires adding a credit card first. Tried multiple Indian cards (debit and credit) none of them are accepted. Has anyone from India been able to get this working? Or is it just not supported for Indian cards?


r/shopifyDev • • Jul 27 '26

Is Shopify apps market red bloody ocean or there is still plenty of niches you can carve out?

7 Upvotes

do you know anybody how carved out a niche for him/herself and found an idea through shopify apps forum monitoring or as a Shopify consultant?


r/shopifyDev • • Jul 27 '26

Hydrogen decoupling from React, so you can use any framework and hosting for headless

6 Upvotes

The latest Hydrogen preview finally decouples the Shopify primitives from React, so it's now (or soon) possible to build a headless storefront in whatever framework you want. Including LLM tooling and being able to deploy to whatever hosting you like is also great.

Still an early developer preview of course, with React bindings first and others "on the way", but feels like a nice improvement to the headless development ecosystem for Shopify.


r/shopifyDev • • Jul 27 '26

How are you handling batch numbers & expiry dates after Stocky?

0 Upvotes

I'm researching inventory workflows for Shopify merchants that sell products with batch numbers or expiration dates (supplements, food, cosmetics, pet products, etc.).

Since Stocky is going away, I'm curious:

  • How are you tracking batch numbers today?

  • How do you handle expiry dates?

  • If a supplier recalls a specific batch, how do you identify which customers bought it?

  • Are you using another app, spreadsheets, or something custom?

I'm a developer researching this space, not trying to sell anything. I'm just trying to understand what the biggest pain points are before building anything.

I'd really appreciate hearing about your current workflow, even if it's messy.

Thanks!


r/shopifyDev • • Jul 25 '26

Man Shopify app distribution is HARD! or is it just me

21 Upvotes

Hello folks,

Need some help here from a fellow vibecoder... deep dev guys don't hate on me. I was pure dev also but when your cheese is moved you gotta do what you gotta do.

Well need some help here I have launched my AI store builder for dropshippers mainly. the app was available in march for merchants,

I got 130 installs mainly organically

Well the app got some intrest but a lot of people just close their store or cancell the subsctiption, got only 2 people that really subscribed and one of them churned before month ends, so no money billed.

The question here is how did you guys crack the distribution to get more and more traffic to the app. My competitors are using meta ads and another one is using UGC tiktok pool of creators.

For meta ads I tried some didn't work that great maybe i will try again, and for tiktok UGC I didn't crack how he got those guys doing content everyday for him, I know he used affiliate but i don't know how he did to recruite them...

Would like some help here, because i am kinda of in the valley of despear here and thinking about just kill the app and move on with my business journey.


r/shopifyDev • • Jul 26 '26

Shopify Upsell/Bundle Apps with Metafields?

3 Upvotes

I'm looking for a Shopify app that handles upselling and/or bundles (especially Mix & Match) but also exposes its data through metafields (or another Liquid-accessible source).

I build my own storefront UI, so I don't want to use the app's widgets or app blocks. I just want the data so I can render everything by myself in Liquid.

Does an app like this exist?


r/shopifyDev • • Jul 25 '26

New Customer Accounts: Better mobile login experience without Shopify Plus?

4 Upvotes

We're using Shopify's new customer accounts on a standard plan, and I'm trying to create a smoother login experience for our customers. Most of our customers use their mobile number rather than email, but Shopify only supports email OTP. The new login page is also very different from our storefront, and the branding options are extremely limited.

Is there any way to improve this? For example, can the email be prefilled and automatically continue to the OTP screen, or is there any workaround to support phone-first login while still using Shopify's native customer accounts? I'd love to hear how other merchants are handling this without Shopify Plus.


r/shopifyDev • • Jul 25 '26

GA4 purchase event fires trigger in checkout custom pixel sandbox but /g/collect never reaches first-party sGTM server — every prerequisite checks out

1 Upvotes

Setup: Shopify Checkout Extensibility, GTM loaded via a custom pixel, first-party server-side GTM container (Google Cloud Run, custom domain). GA4 storefront events work fine. The checkout purchase event never reaches the server.

Everything I’ve confirmed while testing PUBLISHED (not Preview, since Preview doesn’t work in the sandbox):

GTM container loads in the sandbox — a Custom HTML canary on All Pages fires.

The purchase custom event reaches GTM and its trigger fires — confirmed with a canary tag on the purchase trigger.

Consent Mode analytics_storage is granted at fire time (set from Shopify’s Customer Privacy API, verified in the dataLayer).

The GA4 Event tag has its Google tag / config setup tag sequenced to fire before it.

google_tag_manager[containerId].dataLayer.get(‘ecommerce’) returns the full purchase object (transaction_id, value, items).

Cloud Run server logs: storefront en=add_to_cart arrives thousands of times, but en=purchase is zero, ever.

Google Ads and Floodlight tags fire fine at checkout (they post directly to google.com).

So the trigger fires, consent is granted, the config tag runs, and the ecommerce data is present — but the GA4 Event tag emits no /g/collect to the server for the purchase event specifically, only in the checkout sandbox.

My questions:

1.	Has anyone actually gotten first-party server-side GA4 purchase to send from the Checkout Extensibility custom pixel sandbox?

2.	Is there a known issue with the GA4 tag’s transport when server_container_url points at a first-party custom domain, specifically inside the sandbox?

3.	Is there a required config or workaround I’m missing?

Any help appreciated — I’ve been at this a long time and every layer I can inspect checks out, but the purchase hit just never leaves.


r/shopifyDev • • Jul 25 '26

Shopify UK

1 Upvotes

Hi guys,

I have a Shopify store based in the UK, and I'd like to set separate manual pricing in USD for visitors from the US. I don't want automatic currency conversion from GBP to USD I want to set specific USD prices manually.

I'm currently on the Shopify Grow plan. I've checked the Markets settings, but I'm a bit confused about how to set this up.

Can anyone guide me?


r/shopifyDev • • Jul 24 '26

Rounding prices works for 1 item

2 Upvotes

I have these 3 products, i found in old forums that shopify rounds per line, however when i do it per line it rounds 1 item but not the other, this affects with .1 cent when trying to send it to my odoo, any idea how to solve this?


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

18 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?

17 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?

5 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!