<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alexandr M.</title>
    <description>The latest articles on DEV Community by Alexandr M. (@alexandr_m_c387d9a4e6fde).</description>
    <link>https://dev.to/alexandr_m_c387d9a4e6fde</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4018310%2F8d6a845c-c53f-4d8c-9ebc-8bc7b8cefefd.png</url>
      <title>DEV Community: Alexandr M.</title>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alexandr_m_c387d9a4e6fde"/>
    <language>en</language>
    <item>
      <title>What the Built for Shopify Badge Certifies, and What It Doesn't</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Wed, 30 Sep 2026 07:48:15 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/what-the-built-for-shopify-badge-certifies-and-what-it-doesnt-4mbc</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/what-the-built-for-shopify-badge-certifies-and-what-it-doesnt-4mbc</guid>
      <description>&lt;p&gt;If you build Shopify apps, the Built for Shopify badge is a status you may be working toward, and one your users use to shortlist apps. This write-up goes through what the published criteria certify (speed limits and a traction floor), how the badge affects App Store search ranking, and what it leaves out. The original has an interactive verdict table; here it is a plain table.&lt;/p&gt;

&lt;p&gt;Everything below was read on Shopify's own pages on September 12, 2026 unless a different date is given.&lt;/p&gt;

&lt;h2&gt;
  
  
  The quick verdict
&lt;/h2&gt;

&lt;p&gt;Use the badge to shorten a list, not to make the final call. Shopify's help page for merchants describes badged apps as tested for performance, design and integration. For an app that renders on a storefront, the badge shows it reduced the storefront Lighthouse score by no more than 10 points in Shopify's own before-and-after test, so measuring your own store before and after installing still applies.&lt;/p&gt;

&lt;p&gt;An app can't qualify until it has 50 net installs from active paid-plan stores and five reviews, and badged apps rank higher in App Store search, so a top result is partly the badge's effect. Fit, pricing and support stay your checks, because none of the Shopify pages on the badge that were read on September 12, 2026 promises them.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;Answer&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Two apps do the job equally well, and only one carries the badge&lt;/td&gt;
&lt;td&gt;Take the badged one&lt;/td&gt;
&lt;td&gt;Shopify's merchant help page describes badged apps as tested for performance, design and integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The app adds something to the storefront, such as a widget or a popup&lt;/td&gt;
&lt;td&gt;Weigh the badge, then measure&lt;/td&gt;
&lt;td&gt;The badge shows the app met the 10-point storefront Lighthouse limit in Shopify's own test; your own before-and-after check shows what it does to your store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The app that does the job best has no badge&lt;/td&gt;
&lt;td&gt;Keep it on the list&lt;/td&gt;
&lt;td&gt;An app can't qualify before it has 50 net installs from active paid-plan stores and five reviews&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Picking from the top of App Store search&lt;/td&gt;
&lt;td&gt;Don't treat rank as proof&lt;/td&gt;
&lt;td&gt;Shopify's documentation says badged apps appear higher in search rankings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You need to know about fit, price or support&lt;/td&gt;
&lt;td&gt;Check those yourself&lt;/td&gt;
&lt;td&gt;Neither Shopify's merchant help page nor its developer overview, read September 12, 2026, promises any of the three&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What the badge certifies
&lt;/h2&gt;

&lt;p&gt;It certifies that an app passed Shopify's own testing for performance, design and integration, according to Shopify's help page for merchants. Shopify calls the underlying status the highest level of recognition an app can reach. On September 12, 2026, the App Store listed 1,654 badged apps, a live count, not a fixed figure.&lt;/p&gt;

&lt;p&gt;Built for Shopify is a status Shopify grants to apps in its App Store, and the badge is how that status shows up to merchants. In the &lt;a href="https://shopify.dev/docs/apps/launch/built-for-shopify" rel="noopener noreferrer"&gt;Built for Shopify documentation&lt;/a&gt;, Shopify writes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Built for Shopify status is the highest level of recognition and achievement that an app can reach.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For merchants, Shopify's &lt;a href="https://help.shopify.com/en/manual/apps/finding-choosing-apps#built-for-shopify-badge" rel="noopener noreferrer"&gt;Help Center section on the Built for Shopify badge&lt;/a&gt; describes badged apps as having passed its testing across three areas: performance, design and integration. The badge appears on an app's card wherever that card shows up in the App Store, and search and category pages carry a Built for Shopify filter that narrows the results to badged apps.&lt;/p&gt;

&lt;p&gt;How common is the badge? On September 12, 2026, Shopify's &lt;a href="https://apps.shopify.com/app-groups/highlights/built-for-shopify" rel="noopener noreferrer"&gt;Built for Shopify collection&lt;/a&gt; listed 1,654 apps. That is a live count, not a fixed figure, and the page does not state how many apps the App Store holds in total, so it cannot tell you what share of apps carry the badge. Neither the requirements page nor Shopify's Partners update publishes that share.&lt;/p&gt;

&lt;p&gt;For a sense of what badged listings look like, the Judge.me and StoreSEO listings both showed the badge when checked on September 13, 2026. That is a dated snapshot of two listings, not a recommendation and not a complete list.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an app has to pass to earn the badge
&lt;/h2&gt;

&lt;p&gt;An app earns the badge by meeting Shopify's published requirements. Shopify publishes the bar on its &lt;a href="https://shopify.dev/docs/apps/launch/built-for-shopify/requirements" rel="noopener noreferrer"&gt;Built for Shopify requirements page&lt;/a&gt;, and two groups of criteria on it are worth pulling apart: traction and speed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can a new app carry the badge?
&lt;/h3&gt;

&lt;p&gt;Only once it clears the traction floor. To qualify, an app needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;At least 50 net installs&lt;/strong&gt;, counted only from active shops on paid plans.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;At least five reviews.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A minimum recent rating&lt;/strong&gt; in the Shopify App Store. The requirement exists, but none of the three sources checked (the requirements page, the shopify.dev overview and the Help Center section on the badge) gives the number behind it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes the badge partly a signal of traction, not only of quality. However carefully a team builds an app, it cannot carry the badge until it clears those counts.&lt;/p&gt;

&lt;h3&gt;
  
  
  What the speed thresholds actually measure
&lt;/h3&gt;

&lt;p&gt;For the status, an app that touches the storefront must not lower its Lighthouse score by more than 10 points in Shopify's own before-and-after test. The LCP, CLS and INP limits of 2.5 seconds, 0.1 and 200 milliseconds measure the app's own admin screens, and shipping-rate apps must answer within 500 ms at p95.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Threshold&lt;/th&gt;
&lt;th&gt;Limit&lt;/th&gt;
&lt;th&gt;What it measures&lt;/th&gt;
&lt;th&gt;Applies to apps that&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Largest Contentful Paint (LCP)&lt;/td&gt;
&lt;td&gt;2.5 seconds or less&lt;/td&gt;
&lt;td&gt;Loading speed of the app's own pages inside the Shopify admin&lt;/td&gt;
&lt;td&gt;Run inside the Shopify admin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cumulative Layout Shift (CLS)&lt;/td&gt;
&lt;td&gt;0.1 or less&lt;/td&gt;
&lt;td&gt;Visual stability of the app's admin pages&lt;/td&gt;
&lt;td&gt;Run inside the Shopify admin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interaction to Next Paint (INP)&lt;/td&gt;
&lt;td&gt;200 milliseconds or less&lt;/td&gt;
&lt;td&gt;Responsiveness of the app's admin pages&lt;/td&gt;
&lt;td&gt;Run inside the Shopify admin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storefront Lighthouse performance score&lt;/td&gt;
&lt;td&gt;Reduced by no more than 10 points&lt;/td&gt;
&lt;td&gt;The app's effect on the storefront Lighthouse score in Shopify's before-and-after test of home, product and collection pages&lt;/td&gt;
&lt;td&gt;Touch the storefront&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Carrier rate requests&lt;/td&gt;
&lt;td&gt;p95 of 500 ms or less, with a 0.1% failure rate&lt;/td&gt;
&lt;td&gt;How fast and how reliably the app answers shipping-rate requests at checkout&lt;/td&gt;
&lt;td&gt;Provide carrier shipping rates&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Limits and their scope were read on the Built for Shopify requirements page (sections 2.1 to 2.3) on September 12, 2026; the home, product and collection test method comes from Shopify's storefront performance guide on shopify.dev. Each limit is a condition an app must meet for the status.&lt;/p&gt;

&lt;p&gt;Three of the five limits measure the app's own screens inside the Shopify admin. They speak to the tool a merchant's team works in, not to what shoppers see. The other two rows reach shoppers. The storefront row is a ceiling on damage rather than a promise of speed: Shopify measures it as a weighted average of home, product and collection page Lighthouse scores before and after the app is installed. The carrier-rate row sits under checkout performance in the requirements. Because each limit covers a different kind of app, the badge should weigh differently by app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For a reviews widget, a popup or anything else that renders on a storefront, the storefront row is the one that applies, and the badge confirms the app met it in Shopify's own test.&lt;/li&gt;
&lt;li&gt;For a tool that lives only in the admin, the badge speaks to the merchant team's experience more than to customers'.&lt;/li&gt;
&lt;li&gt;For an app that provides carrier shipping rates, the request row is the one that applies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Can an app lose the badge?
&lt;/h2&gt;

&lt;p&gt;Yes. As of September 2026, Shopify's developer documentation says badged apps are reviewed annually against the Built for Shopify standards, and an app can lose the status after it is granted if it fails to meet certain criteria on an ongoing basis. It states that "Apps are reviewed annually to ensure they continue to adhere to the Built for Shopify standards." A badge is a status an app keeps by continuing to qualify, not a medal it earned once.&lt;/p&gt;

&lt;p&gt;The standard itself also moves. Shopify has changed what the badge requires more than once since it launched:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jul 26, 2023: badges arrive in the App Store.&lt;/strong&gt; &lt;a href="https://changelog.shopify.com/posts/built-for-shopify-apps-in-the-shopify-app-store" rel="noopener noreferrer"&gt;Shopify's changelog&lt;/a&gt; introduced the badge with one line of meaning: "This badge means that an app has met our high standards for quality and performance."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dec 11, 2024: new design requirements added.&lt;/strong&gt; Shopify added &lt;a href="https://shopify.dev/changelog/new-built-for-shopify-design-requirements" rel="noopener noreferrer"&gt;new design requirements&lt;/a&gt; to the requirements page, including that an app's UI "should demonstrate a good faith effort to leverage common UX best practices and meet a high bar for design quality." Apps needed to meet that requirement starting in January 2025.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aug 1, 2026: updated requirements for fulfillment services apps.&lt;/strong&gt; Shopify &lt;a href="https://shopify.dev/changelog/updated-built-for-shopify-requirements-for-fulfillment-services-apps" rel="noopener noreferrer"&gt;updated three requirements&lt;/a&gt; for fulfillment services apps: the required completion rate for assigned fulfillment orders, the response window and response rate for fulfillment requests, and the response window for cancellation requests. Apps in other categories aren't affected, and the entry does not state the new figures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice, check the badge on the live App Store listing on the day you install, not in a roundup or a screenshot from last year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do badged apps rank higher in App Store search?
&lt;/h2&gt;

&lt;p&gt;Yes. Shopify's developer documentation says Built for Shopify apps appear higher in App Store search rankings, above other boosted apps, and that the boost isn't exclusive to them. In Shopify's words:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Built for Shopify apps appear higher in Shopify App Store search rankings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The same documentation page adds that Built for Shopify apps are ranked higher than other apps with search ranking boosts, and that a search ranking boost isn't exclusive to Built for Shopify apps. The ranking lift is not the only placement the status brings. Shopify names these surfaces for badged apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Additional promotion in the App Store&lt;/strong&gt;, and eligibility for promotion on what Shopify calls other key merchant surfaces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recommendations in the App Store homepage header&lt;/strong&gt;, according to a &lt;a href="https://www.shopify.com/partners/blog/built-for-shopify-updates" rel="noopener noreferrer"&gt;Shopify Partners blog update on Built for Shopify&lt;/a&gt; read in September 2026.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Priority placement in Recommended for you sections&lt;/strong&gt; across category pages, according to the same update.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The same update tells developers that badged apps see "an average increase of 49% new installs in just 14 days of achieving status", which is Shopify's own average across apps, addressed to developers, not a forecast for any single app and not a measure of quality.&lt;/p&gt;

&lt;p&gt;Search order is not independent evidence. A badged app sits near the top partly because it is badged, and its install count can climb partly because of that placement. An unbadged app near the top may hold a search ranking boost from another Shopify achievement. The badge filter shortens a list; the choice still rests on what the badge does not measure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the badge doesn't tell you
&lt;/h2&gt;

&lt;p&gt;Nothing in Shopify's merchant help page, developer overview or blog post on Built for Shopify, read September 12, 2026, promises that a badged app fits a given store, is priced well for it or keeps good support. Shopify's help page names merchant reviews as one of the best ways to judge fit.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;What the badge tells you&lt;/th&gt;
&lt;th&gt;Where to look instead&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Will it slow the storefront?&lt;/td&gt;
&lt;td&gt;If the app touches the storefront: it met the 10-point Lighthouse limit in Shopify's before-and-after test of home, product and collection pages&lt;/td&gt;
&lt;td&gt;Your own before-and-after measurement, badge or not&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Is the app established?&lt;/td&gt;
&lt;td&gt;At least 50 net installs from active shops on paid plans, and at least five reviews&lt;/td&gt;
&lt;td&gt;Recent reviews, for how the app behaves now&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Does it do the exact job?&lt;/td&gt;
&lt;td&gt;Nothing found in the Built for Shopify pages read&lt;/td&gt;
&lt;td&gt;Reviews from merchants whose stores look like yours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What will it really cost?&lt;/td&gt;
&lt;td&gt;That features gated by a plan must be disabled and clearly indicated in the app&lt;/td&gt;
&lt;td&gt;The app's own pricing terms, before installing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Will support hold up?&lt;/td&gt;
&lt;td&gt;Nothing on the pages read; status is reviewed annually&lt;/td&gt;
&lt;td&gt;Recent reviews and how problems in them were handled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What store data can it read?&lt;/td&gt;
&lt;td&gt;Not covered by the criteria in this article&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/faq/does-the-built-for-shopify-badge-mean-an-app-is-safe-with-customer-data/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;Whether the badge means an app is safe with customer data&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A cell that reports nothing found on the pages read records an absence in that reading, not a rule Shopify publishes.&lt;/p&gt;

&lt;p&gt;For the question the badge cannot settle, whether the app does a particular job, Shopify itself points elsewhere. From its &lt;a href="https://help.shopify.com/en/manual/apps/finding-choosing-apps#reviews" rel="noopener noreferrer"&gt;Help Center&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Reviews from other merchants are one of the best ways to evaluate if an app is right for your business.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Reviews are the start of the check, not the whole of it. The &lt;a href="https://shopify.ecom-store.pro/blog/shopify-apps-must-have-stack-for-new-store/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution#evaluate-before-install" rel="noopener noreferrer"&gt;check for evaluating an app before you install it&lt;/a&gt; covers the permissions an app asks for, its pricing model, support signals and the cost of leaving.&lt;/p&gt;

&lt;p&gt;What was looked for and not found, all read on September 12, 2026:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The number behind the minimum recent rating:&lt;/strong&gt; not found on the Built for Shopify requirements page, the Built for Shopify overview on shopify.dev, or the Help Center section on the Built for Shopify badge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A promise that the badge means fit for a store, fair pricing or long-term support:&lt;/strong&gt; not found in that Help Center section, the shopify.dev overview, or Shopify's blog post on Built for Shopify apps. The blog post does say the badge "guarantees that an app has been built to Shopify's highest standards" and names value alongside speed, security and usability, but it promises a standard, not a fit, a price or support.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An official share of App Store apps carrying the badge:&lt;/strong&gt; not found on the requirements page, the Shopify Partners update on Built for Shopify, or the App Store's Built for Shopify collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If Shopify publishes any of these, the absence is what changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  When an app without the badge is the right pick
&lt;/h2&gt;

&lt;p&gt;Pick an unbadged app when it does the job better, including when it lacks the installs and reviews the traction floor asks for. A missing badge does not say why it is missing. An app can be missing the badge for any of these reasons, and the first two say nothing about the app's quality at all:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It has not applied.&lt;/strong&gt; The status is something a developer applies for.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It has not reached the traction floor.&lt;/strong&gt; Without 50 net installs from active paid-plan shops and five reviews, it cannot qualify.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is waiting out a suspension.&lt;/strong&gt; Shopify's developer documentation says an application that fails the same criterion three times in a row is suspended, and the developer cannot apply again for three months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It lost the status.&lt;/strong&gt; An app that stops meeting certain criteria on an ongoing basis can lose a badge it was granted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Familiar names can lack the badge too: when checked on September 12, 2026, the Klaviyo and TikTok App Store listings showed no Built for Shopify badge. No conclusion is drawn about why.&lt;/p&gt;

&lt;p&gt;A missing badge does not mean a missing speed limit. Shopify's performance guide for app developers says an app published in the Shopify App Store "must not" reduce storefront Lighthouse performance scores by more than 10 points, Shopify's App Store best practices say an app "shouldn't", and the Built for Shopify requirements list the same ten-point limit as a must-not criterion. What the badge adds is confirmation that the app met the criteria Shopify evaluates for the status, including this limit for an app that affects the storefront directly, which Shopify checks with a before-and-after Lighthouse test. Run the same kind of check on your own storefront, before you install and again after.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;Use the Built for Shopify badge to shorten your list, not to make the final call. It shows an app met Shopify's performance, design and integration bar, including, for storefront apps, the ten-point Lighthouse limit in Shopify's test, and it lifts the app in App Store search. Fit, price and support stay your checks.&lt;/p&gt;

&lt;p&gt;Filter for the badge, then decide on fit. Among apps that do the job equally well, take the badged one. When the app that does the job best has no badge, don't discard it: read its recent reviews, check its pricing terms, and measure the storefront before and after installing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What does the Built for Shopify badge mean?
&lt;/h3&gt;

&lt;p&gt;It means the app holds Built for Shopify status, which Shopify's developer documentation calls the highest level of recognition an app can reach. Shopify's help page for merchants describes badged apps as tested for performance, design and integration. It is a quality bar with a traction floor attached, not a ranking of which app fits a store best.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does an app get Built for Shopify status?
&lt;/h3&gt;

&lt;p&gt;A developer applies, and the app must meet Shopify's published requirements. Those include at least 50 net installs from active shops on paid plans, at least five reviews, a minimum recent rating, and speed limits for its admin screens, its storefront impact and, for shipping-rate apps, its rate requests. Apps that hold the status are reviewed annually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do Built for Shopify apps rank higher in the App Store?
&lt;/h3&gt;

&lt;p&gt;Yes. Shopify's developer documentation states that Built for Shopify apps appear higher in App Store search rankings and receive additional promotion, and a Shopify Partners update read in September 2026 extends their recommendations to the App Store homepage header and to Recommended for you sections. A badged app's high search position is partly the badge's own effect, not independent proof of fit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can an app lose its Built for Shopify badge?
&lt;/h3&gt;

&lt;p&gt;Yes. As of September 2026, Shopify's developer documentation says apps with the status are reviewed annually, and an app can lose the status after it is granted if it fails to meet certain criteria on an ongoing basis. The requirements also change over time, so check the badge on the live App Store listing on the day you install.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the minimum rating for Built for Shopify?
&lt;/h3&gt;

&lt;p&gt;The requirements say an app must meet a minimum recent app rating threshold in the Shopify App Store, but none of the three pages checked on September 12, 2026 publishes the number: the requirements page, Shopify's Built for Shopify overview and its Help Center section on the badge. Treat any specific star figure quoted elsewhere as unconfirmed by those pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many apps have the Built for Shopify badge?
&lt;/h3&gt;

&lt;p&gt;On September 12, 2026, the App Store's Built for Shopify collection listed 1,654 apps. That is a live count rather than a fixed figure, and the page does not show how many apps the App Store holds in total, so it gives no share. That page, the requirements page and Shopify's Partners update were read that day, and none of them publishes an official share.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will a Built for Shopify app slow down my store?
&lt;/h3&gt;

&lt;p&gt;For an app that touches the storefront, the requirements say it must not reduce the storefront Lighthouse performance score by more than ten points; Shopify's storefront performance guide describes a before-and-after test of home, product and collection pages. The badge's LCP, CLS and INP limits cover the app's admin screens instead. Measure your own storefront before and after installing, badge or not.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I avoid Shopify apps without the badge?
&lt;/h3&gt;

&lt;p&gt;No. A missing badge can mean the developer has not applied, the app does not yet have 50 net installs from active paid-plan shops and five reviews, or it failed the same criterion three times in a row, which bars reapplying for three months. Klaviyo's and TikTok's listings showed no badge on September 12, 2026. Judge unbadged apps on fit and reviews.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I find Built for Shopify apps in the App Store?
&lt;/h3&gt;

&lt;p&gt;Look for the Built for Shopify badge, which appears on an app's card wherever that card shows up in the App Store. On search and category pages, Shopify's Help Center says you can use the Built for Shopify filter option to display only certified apps. Then read merchant reviews, which Shopify calls one of the best ways to judge fit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does the Built for Shopify badge guarantee good support or fair pricing?
&lt;/h3&gt;

&lt;p&gt;No page checked on September 12, 2026 promises either: not Shopify's Help Center section on the badge, its Built for Shopify overview, or its blog post, which says the badge "guarantees that an app has been built to Shopify's highest standards" and lists value with speed, security and usability, promising no price. The published criteria cover performance, design, integration and traction, so check pricing terms and recent reviews yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  What do the LCP, CLS and INP limits in Built for Shopify measure?
&lt;/h3&gt;

&lt;p&gt;They measure the app's own pages inside the Shopify admin: Largest Contentful Paint of 2.5 seconds or less, Cumulative Layout Shift of 0.1 or less, and Interaction to Next Paint of 200 milliseconds or less. They speak to how the tool performs for a merchant's team, not to the storefront; apps that touch the storefront face a separate ten-point Lighthouse criterion.&lt;/p&gt;

&lt;h3&gt;
  
  
  When did the Built for Shopify badge start?
&lt;/h3&gt;

&lt;p&gt;Shopify's changelog introduced Built for Shopify badges in the App Store in a post dated July 26, 2023, describing the badge as meaning an app has met Shopify's high standards for quality and performance. Since then, Shopify added design requirements in December 2024, some required from January 2025, and a changelog entry dated August 1, 2026 updated three requirements for fulfillment services apps.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/built-for-shopify-badge/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article is AI-generated.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>webdev</category>
      <category>performance</category>
      <category>ecommerce</category>
    </item>
    <item>
      <title>Can you use a Google Sheet as a Shopify webhook URL? What has to sit in between</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Wed, 30 Sep 2026 07:48:09 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/can-you-use-a-google-sheet-as-a-shopify-webhook-url-what-has-to-sit-in-between-21j</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/can-you-use-a-google-sheet-as-a-shopify-webhook-url-what-has-to-sit-in-between-21j</guid>
      <description>&lt;p&gt;If you want Shopify events to land in a Google Sheet, the webhook URL field looks like the obvious place to paste a spreadsheet link. It is not that simple: each event arrives as a request that something has to receive and answer first. This post covers the two receivers that work (a connector or an Apps Script web app), the response-code trap with Apps Script, and the Shopify Flow route that skips the webhook entirely. Everything below was checked against the Shopify and Google pages linked inline, read September 25, 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Short answer
&lt;/h2&gt;

&lt;p&gt;Not directly. Route the event through a connector that writes the row (Zapier on paid plans, Make or n8n) or a Google Apps Script web app you test first. On Basic, Grow, Advanced or Plus, Flow's own Add row to spreadsheet action writes the row without a webhook URL.&lt;/p&gt;

&lt;p&gt;Caveats at a glance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zapier's webhook trigger.&lt;/strong&gt; Webhooks by Zapier isn't available on Zapier's Free plan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apps Script replies.&lt;/strong&gt; A TextOutput reply from Apps Script is a redirect, not a 200; test that the admin webhook survives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A receiver that keeps failing.&lt;/strong&gt; Repeated non-200 responses get the admin webhook subscription deleted automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flow's own Sheets action.&lt;/strong&gt; On Basic, Grow, Advanced or Plus, Flow's Add row to spreadsheet action writes the row without a webhook URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flow's Send HTTP request.&lt;/strong&gt; It needs Shopify Plus, Advanced or Grow; it counts 2XX or 3XX as success.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-hosted n8n.&lt;/strong&gt; Shopify lists localhost among the URLs webhooks can't be returned to.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What a Shopify webhook needs at the other end
&lt;/h2&gt;

&lt;p&gt;An admin webhook is created under &lt;em&gt;Settings &amp;gt; Notifications &amp;gt; Webhooks&lt;/em&gt;: you pick an event, a format (JSON or XML) and a URL. The &lt;a href="https://help.shopify.com/en/manual/fulfillment/setup/notifications/webhooks" rel="noopener noreferrer"&gt;Shopify Help Center&lt;/a&gt; tells you to enter the URL "where you want data to be stored", which is why a spreadsheet link looks like the right answer. Shopify then sends the event's data to that address, so something there has to take the request.&lt;/p&gt;

&lt;p&gt;None of the Google pages read for this post describes a spreadsheet taking an incoming webhook by itself (see the boundaries at the end). Google calls the &lt;a href="https://developers.google.com/workspace/sheets/api/guides/concepts" rel="noopener noreferrer"&gt;Sheets API&lt;/a&gt; "a RESTful interface that lets you read and modify a spreadsheet's data", which is a way for code to work with the sheet. An Apps Script web app can accept an incoming request through its &lt;code&gt;doPost&lt;/code&gt; function, so &lt;strong&gt;the sheet sits at the end of the route, behind a go-between&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The no-code route: a connector that writes the row
&lt;/h2&gt;

&lt;p&gt;Zapier documents both halves. A Zap with a webhook trigger gets "a brand new URL for your use" from Webhooks by Zapier; you paste it into Shopify's URL field, and it triggers on a POST, PUT or GET request. The Zapier Google Sheets action &lt;em&gt;Create Spreadsheet Row&lt;/em&gt; adds the row, and &lt;em&gt;Create Multiple Spreadsheet Rows&lt;/em&gt; handles line items.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webhooks by Zapier isn't available on Zapier's Free plan&lt;/strong&gt;, only on Professional, Team and Enterprise.&lt;/p&gt;

&lt;p&gt;Make and n8n cover both halves too. Make's custom webhooks "allow you to create a URL to which you can send any data", and its Google Sheets module has an &lt;em&gt;Add a Row&lt;/em&gt; action that "Appends a new row to the bottom of the table." n8n's Webhook node can "receive data from apps and services when an event occurs", and its built-in Google Sheets node has an &lt;em&gt;Append Row&lt;/em&gt; operation that creates a new row.&lt;/p&gt;

&lt;p&gt;If you self-host n8n, keep it off your own machine's address: Shopify lists localhost among the URLs webhooks can't be returned to.&lt;/p&gt;

&lt;h2&gt;
  
  
  The build-it route: a Google Apps Script web app
&lt;/h2&gt;

&lt;p&gt;If you would rather write a little code than add another service, deploy an Apps Script project as a web app. It gets its own URL, and Google's &lt;a href="https://developers.google.com/apps-script/guides/web" rel="noopener noreferrer"&gt;web apps guide&lt;/a&gt; describes what runs when a request arrives:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"When a program sends the app an HTTP POST request, Apps Script runs doPost instead."&lt;/p&gt;

&lt;p&gt;Google for Developers, Apps Script web apps guide, read September 25, 2026&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The request body reaches the function through its &lt;code&gt;e&lt;/code&gt; parameter, in &lt;code&gt;e.postData.contents&lt;/code&gt;, and &lt;code&gt;doPost&lt;/code&gt; has to return an &lt;em&gt;HtmlOutput&lt;/em&gt; or &lt;em&gt;TextOutput&lt;/em&gt; object. Writing the row is a separate step with Apps Script's spreadsheet service; none of the Apps Script guides read for this post pairs &lt;code&gt;doPost&lt;/code&gt; with &lt;code&gt;SpreadsheetApp.appendRow&lt;/code&gt;, so expect to combine the web apps guide with Apps Script's Sheets guide.&lt;/p&gt;

&lt;p&gt;Choose &lt;em&gt;Execute the app as me&lt;/em&gt; so the script writes as you, and open access to anyone, signed in or not. Google's &lt;a href="https://developers.google.com/apps-script/api/reference/rest/v1/projects.deployments" rel="noopener noreferrer"&gt;deployment reference&lt;/a&gt; calls that access level &lt;code&gt;ANYONE_ANONYMOUS&lt;/code&gt;, "Any user, logged in or not". It is the only one of its access levels that doesn't require a login; the level named &lt;code&gt;ANYONE&lt;/code&gt; means "Any logged in user".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then test before you rely on it.&lt;/strong&gt; Google says content returned by its &lt;a href="https://developers.google.com/apps-script/guides/content" rel="noopener noreferrer"&gt;Content service&lt;/a&gt; "is redirected to a one-time URL at script.googleusercontent.com", so a &lt;em&gt;TextOutput&lt;/em&gt; reply is a redirect, not a 200. For app webhooks, Shopify's &lt;a href="https://shopify.dev/docs/apps/build/webhooks/verify-deliveries" rel="noopener noreferrer"&gt;developer docs&lt;/a&gt; treat "any response outside the 200 range, including 3XX codes" as an error.&lt;/p&gt;

&lt;p&gt;The admin webhook page read for this post says nothing about redirects, but it does say a destination that repeatedly returns a non-200 status gets the subscription automatically deleted. Place a test order, then check that the row appeared, then look for the webhook again after later orders. Shopify &lt;a href="https://shopify.ecom-store.pro/blog/shopify-webhooks/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution#when-delivery-fails" rel="noopener noreferrer"&gt;removes a failing webhook without an email&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does Shopify Flow change the answer?
&lt;/h2&gt;

&lt;p&gt;It adds a route with no webhook at all. Flow's &lt;a href="https://help.shopify.com/en/manual/shopify-flow/reference/connectors/add-row-to-spreadsheet" rel="noopener noreferrer"&gt;Add row to spreadsheet&lt;/a&gt; action "adds a single row of data to a Google Sheets spreadsheet": Flow calls the Google Sheets API itself. You connect Flow to a Google account with edit access to the sheet first, and the action works with any trigger. Flow itself is a free app on the Basic, Grow, Advanced and Plus plans.&lt;/p&gt;

&lt;p&gt;Flow's &lt;a href="https://help.shopify.com/en/manual/shopify-flow/reference/actions/send-http-request" rel="noopener noreferrer"&gt;Send HTTP request&lt;/a&gt; action changes the sender, not the receiver: its URL field is simply "The URL of the server to which the HTTP request is sent.", so the other end is still a connector trigger or an Apps Script web app. &lt;strong&gt;Send HTTP request is only available on the Shopify Plus, Advanced or Grow plans.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What Send HTTP request does change is the success rule. Flow marks a request as a success on a 2XX or 3XX response; on 4XX, 5XX and 429 errors it does what you configured: retry for up to 24 hours, fail the run, or ignore the error.&lt;/p&gt;

&lt;p&gt;Set beside the redirect above, the Send HTTP request page doesn't say whether Flow follows a redirect. Whether a Send HTTP request wrote the row is still yours to confirm, and a failed request shows up in Flow's run log, where you can retry the run.&lt;/p&gt;

&lt;h2&gt;
  
  
  What was looked for and not found
&lt;/h2&gt;

&lt;p&gt;Read September 25, 2026.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A spreadsheet receiving a webhook by itself:&lt;/strong&gt; Google's Sheets API concepts, values and authorizing guides, the Apps Script web apps and quotas pages, and the Google Sheets product page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One page pairing &lt;code&gt;doPost&lt;/code&gt; with &lt;code&gt;appendRow&lt;/code&gt;:&lt;/strong&gt; the Apps Script Sheets, web apps and triggers guides, and the Apps Script product page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redirects:&lt;/strong&gt; Shopify's Help Center pages on admin webhooks and Flow's Send HTTP request.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/faq/can-you-use-google-sheets-as-a-shopify-webhook-url/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article is AI-generated.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>webhooks</category>
      <category>googlesheets</category>
      <category>appsscript</category>
    </item>
    <item>
      <title>Shopify's ChatGPT and Claude Connectors: What They Expose and Where the Limits Are</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Wed, 30 Sep 2026 07:24:09 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/shopifys-chatgpt-and-claude-connectors-what-they-expose-and-where-the-limits-are-264i</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/shopifys-chatgpt-and-claude-connectors-what-they-expose-and-where-the-limits-are-264i</guid>
      <description>&lt;p&gt;If you build tools around AI assistants, or you are deciding whether to let one touch a production store, the useful question is not "does it work" but "what exactly can it call, and what is walled off". Shopify's Help Center now documents three official integrations for ChatGPT, Claude and Perplexity.&lt;/p&gt;

&lt;p&gt;This write-up walks through what each connector exposes, the action tiers (read, write, blocked), the batch limits, how access and data ownership work, and what is still undocumented. The connector facts below come from Shopify's Help Center pages as read on September 13-14, 2026.&lt;/p&gt;

&lt;p&gt;The original article carries an interactive step-by-step safety checklist with saved progress; here it is a plain list in the section "Connecting it safely".&lt;/p&gt;

&lt;p&gt;As of September 2026, Shopify's Help Center documents three ways to run a store from a chat window: the &lt;em&gt;Shopify plugin for ChatGPT&lt;/em&gt;, the &lt;em&gt;Shopify connector for Claude&lt;/em&gt; and the &lt;em&gt;Shopify connector for Perplexity&lt;/em&gt;. All three connect to a store you own, and the &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools" rel="noopener noreferrer"&gt;section that documents them&lt;/a&gt; is explicit that shoppers who buy through AI assistants are a different topic.&lt;/p&gt;

&lt;p&gt;That makes this three decisions rather than one: which connector, given the assistant you already pay for and whether the store exists yet; what to let it change, since some actions are read-only by design and some are blocked outright; and what stays in your admin whatever you approve.&lt;/p&gt;

&lt;h2&gt;
  
  
  The quick verdict
&lt;/h2&gt;

&lt;p&gt;Pick by what you already have: the assistant you pay for and whether the store exists. Every connector manages a store you own with the same core. It can create and change products, collections and inventory, create percentage-off discount codes and change an unpublished theme, and it reads orders, customers and analytics without changing them. The full action table is further down. The capability gaps are the few actions named in that section and Perplexity's text-only answers.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;Answer&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;You already pay for ChatGPT and run a store&lt;/td&gt;
&lt;td&gt;Shopify plugin for ChatGPT&lt;/td&gt;
&lt;td&gt;Manages your store from the chat and can also build one from a preview; no extra Shopify fee&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Your team works in a Claude workspace&lt;/td&gt;
&lt;td&gt;Shopify connector for Claude&lt;/td&gt;
&lt;td&gt;The same store actions except attaching a photo in the chat, plus Claude's own access controls per conversation or workspace owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You use Perplexity and already own a store&lt;/td&gt;
&lt;td&gt;Shopify connector for Perplexity&lt;/td&gt;
&lt;td&gt;Manages an existing store only, with text-only answers; no preview and no claim&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No store yet&lt;/td&gt;
&lt;td&gt;A ChatGPT or Claude preview, then claim it&lt;/td&gt;
&lt;td&gt;The claimed store starts a free trial, currently 4 months as of September 2026; Perplexity can't build one&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You want it to refund, cancel, publish a theme or change payments, taxes or domains&lt;/td&gt;
&lt;td&gt;Your Shopify admin&lt;/td&gt;
&lt;td&gt;Those actions are blocked even when you approve write access&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Key takeaway:&lt;/strong&gt; Pick the connector for the assistant you already pay for. The ChatGPT plugin and the Claude connector manage a store you own and can build one from a storefront preview, with no extra Shopify fee, while the Perplexity connector manages an existing store only. Refunds, order changes and your live theme stay in your admin.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Shopify's ChatGPT, Claude and Perplexity connectors?
&lt;/h2&gt;

&lt;p&gt;Shopify documents three official integrations: the Shopify plugin for ChatGPT, the Shopify connector for Claude and the Shopify connector for Perplexity. All three manage a store you already own; as of September 2026, ChatGPT and Claude can also build one from a storefront preview. None is on the App Store.&lt;/p&gt;

&lt;p&gt;The names are Shopify's own (&lt;em&gt;plugin&lt;/em&gt; for ChatGPT, &lt;em&gt;connector&lt;/em&gt; for Claude and Perplexity) and they matter when you search, because none of the three is listed on the Shopify App Store. The Help Center pages for the &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/shopify-plugin-for-chatgpt" rel="noopener noreferrer"&gt;ChatGPT plugin&lt;/a&gt;, the &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/shopify-connector-for-claude" rel="noopener noreferrer"&gt;Claude connector&lt;/a&gt; and the &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/shopify-connector-for-perplexity" rel="noopener noreferrer"&gt;Perplexity connector&lt;/a&gt; each say you install the integration directly from the AI tool, and Shopify asks you to use that official integration rather than create an API access token or build your own.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The Shopify plugin for ChatGPT and the Shopify connector for Claude can build a store from a storefront preview and manage a store that you own. The Shopify connector for Perplexity manages an existing store only."&lt;/p&gt;

&lt;p&gt;Shopify Help Center, Connecting AI tools to your store&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Where the three differ is in what happens before a store exists, and in how answers come back:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Connector&lt;/th&gt;
&lt;th&gt;Manages a store you own&lt;/th&gt;
&lt;th&gt;Builds a new store from a preview&lt;/th&gt;
&lt;th&gt;How analytics come back&lt;/th&gt;
&lt;th&gt;Assistant subscription paid to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shopify plugin for ChatGPT&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes: preview, then claim&lt;/td&gt;
&lt;td&gt;Tables and charts&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shopify connector for Claude&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes: preview, then claim&lt;/td&gt;
&lt;td&gt;Tables and charts&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shopify connector for Perplexity&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No: existing store only&lt;/td&gt;
&lt;td&gt;Text only&lt;/td&gt;
&lt;td&gt;Not stated on its Shopify page, as read on September 13, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Source: Shopify Help Center pages for each connector, read September 13-14, 2026. Every connector also works through the Shopify Admin API for pages, blogs, menus, metafields, markets and translations, asking you to confirm first.&lt;/p&gt;

&lt;p&gt;For the Claude route, Shopify's own Learn With Shopify channel on YouTube walks through both halves in one 2026 video: building a store from a preview, then connecting Claude to run it day to day. It is a walkthrough, not the source for anything on this page; the limits above come from the Help Center.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can ChatGPT or Claude build a store from a preview?
&lt;/h3&gt;

&lt;p&gt;Yes. In ChatGPT or Claude you generate a storefront preview and then claim it. Claiming makes you the store owner and starts the free trial, currently 4 months as of September 2026. The tool isn't connected to the new store until you authorize access, and the preview is finished in your admin.&lt;/p&gt;

&lt;p&gt;A preview is not yet your store. Shopify's setup page for AI-created stores says the store is created on Shopify before you have an account for it and starts as a trial store you can look at before taking ownership. Claiming connects it to your Shopify account and makes you the owner, and the free trial, currently 4 months as of September 2026, begins when you claim the store, not when it was generated.&lt;/p&gt;

&lt;p&gt;The connection does not carry over automatically. The Help Center is explicit that a store built from a preview is a new store the tool has not yet been authorized on:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If you created the store from a preview in an AI tool, such as the Shopify plugin for ChatGPT or the Shopify connector for Claude, then the tool isn't connected to your new store yet. Authorize access to the new store before the tool can make changes to it."&lt;/p&gt;

&lt;p&gt;Shopify Help Center, &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/setting-up-a-store-created-with-ai" rel="noopener noreferrer"&gt;Setting up a store created with an AI tool or vibe code partner&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The preview also ships unfinished by design. Shopify's ChatGPT and Claude pages describe it as a starting point rather than a finished store, with a theme that matches the preview you chose and possibly sample content, and they tell you to review product names, descriptions, images, prices, store policies, shipping and payment settings and domain settings in your admin before you sell.&lt;/p&gt;

&lt;p&gt;Perplexity has no preview or claim flow at all, so this route is ChatGPT and Claude only.&lt;/p&gt;

&lt;h3&gt;
  
  
  What these connectors are not
&lt;/h3&gt;

&lt;p&gt;Three neighbouring things share the words and are not these connectors: vibe code partners that create a store for you and stay installed after the claim, agentic commerce where shoppers buy through AI assistants, and the Shopify CLI connector for developers. These connectors are for you, working on a store you own.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Who uses it&lt;/th&gt;
&lt;th&gt;What it touches&lt;/th&gt;
&lt;th&gt;Where it's covered&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;The ChatGPT, Claude and Perplexity connectors&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You, on a store you own&lt;/td&gt;
&lt;td&gt;Products, collections, inventory, orders, customers, discounts and analytics; a preview and claim for ChatGPT and Claude&lt;/td&gt;
&lt;td&gt;This guide&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vibe code partners: Lovable, Manus, Replit, v0 by Vercel&lt;/td&gt;
&lt;td&gt;You, before or after you have a store&lt;/td&gt;
&lt;td&gt;Create a store for you; the partner's app stays installed after you claim it&lt;/td&gt;
&lt;td&gt;Not covered here&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agentic storefronts, Selling on ChatGPT, the Agentic plan&lt;/td&gt;
&lt;td&gt;Shoppers who use AI assistants&lt;/td&gt;
&lt;td&gt;Whether your products are discoverable to AI-assisted buyers&lt;/td&gt;
&lt;td&gt;Agentic commerce guide (linked below)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shopify CLI connector&lt;/td&gt;
&lt;td&gt;Developers&lt;/td&gt;
&lt;td&gt;API access for an AI tool on a local device; not a chat, no preview or claim&lt;/td&gt;
&lt;td&gt;Shopify Help Center&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The difference from the partner route is who builds and what stays connected: a partner's app stays installed once you claim, while a store from a ChatGPT or Claude preview isn't connected until you authorize it.&lt;/p&gt;

&lt;p&gt;The other confusion runs the opposite way: the connectors put you in the chat, agentic commerce puts your shopper there. For products discoverable to AI-assisted buyers the Help Center points to agentic storefronts, Selling on ChatGPT and the Agentic plan, and &lt;a href="https://shopify.ecom-store.pro/blog/shopify-agentic-commerce/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;selling through AI assistants and agentic commerce&lt;/a&gt; has its own guide.&lt;/p&gt;

&lt;p&gt;Developers have a fourth thing with a similar name: the &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/shopify-cli-connector" rel="noopener noreferrer"&gt;Shopify CLI connector&lt;/a&gt; authorizes an AI tool on a local device to reach the Shopify API for a store from the command line. It is API access and nothing more: not a chat interface, and no storefront preview or claim flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What can a connected AI tool actually do in your store?
&lt;/h2&gt;

&lt;p&gt;A connected AI tool works in three tiers. It reads orders, customers and analytics but never changes them; once you approve write access it creates and updates products, collections and inventory, creates percentage-off discount codes and changes an unpublished theme; refunds, order changes, your live theme and plan, payment, tax or domain settings stay blocked.&lt;/p&gt;

&lt;p&gt;Shopify publishes the full table of actions for each connector: 29 actions for ChatGPT, 28 for Claude and 24 for Perplexity, as counted in the Help Center tables on September 14, 2026. The gap is the two storefront-preview actions, the claim and the sample-product actions Perplexity lacks, plus an image-upload action only ChatGPT has; &lt;strong&gt;the store-management core is the same on all three&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Find your task in the table, then read the tier it sits in:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Your task&lt;/th&gt;
&lt;th&gt;What the tool does&lt;/th&gt;
&lt;th&gt;Access&lt;/th&gt;
&lt;th&gt;Limit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Create a product&lt;/td&gt;
&lt;td&gt;Title, description, price, variants, options and inventory tracking&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Update a product&lt;/td&gt;
&lt;td&gt;Title, description, status, images, variant prices or SKUs&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change product status in bulk&lt;/td&gt;
&lt;td&gt;Active, draft or archived, by naming products or choosing a collection&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;Up to 50 per batch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collections&lt;/td&gt;
&lt;td&gt;Create manual or smart collections; update title, description, image, sort order or rules&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inventory&lt;/td&gt;
&lt;td&gt;Check stock per variant across locations; set a quantity at a location with a reason&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Orders&lt;/td&gt;
&lt;td&gt;List recent orders with customer, totals, payment and fulfillment status; read one order&lt;/td&gt;
&lt;td&gt;Read only&lt;/td&gt;
&lt;td&gt;Up to 50 per list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customers&lt;/td&gt;
&lt;td&gt;Reads customer records&lt;/td&gt;
&lt;td&gt;Read only&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Analytics&lt;/td&gt;
&lt;td&gt;Answers questions about sales, orders, products, customers and fulfillment&lt;/td&gt;
&lt;td&gt;Read only&lt;/td&gt;
&lt;td&gt;Perplexity returns text only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discount codes&lt;/td&gt;
&lt;td&gt;Creates percentage-off codes&lt;/td&gt;
&lt;td&gt;Write, create only&lt;/td&gt;
&lt;td&gt;No edits to existing codes; no fixed-amount discounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Theme&lt;/td&gt;
&lt;td&gt;Changes a theme that isn't published&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;Can't edit the live theme, publish or delete one&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pages, blogs, menus, metafields, markets, translations&lt;/td&gt;
&lt;td&gt;Works through the Shopify Admin API and asks you to confirm first&lt;/td&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;No dedicated action&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refunds, cancelling or capturing orders, marking orders as paid, returns, gift cards&lt;/td&gt;
&lt;td&gt;Nothing: these actions are blocked even when you approve write access&lt;/td&gt;
&lt;td&gt;Blocked&lt;/td&gt;
&lt;td&gt;Your admin only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plan, payments, taxes, domains&lt;/td&gt;
&lt;td&gt;Nothing: a connected AI tool can't change these settings&lt;/td&gt;
&lt;td&gt;Blocked&lt;/td&gt;
&lt;td&gt;Your admin only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Source: Shopify Help Center pages for the ChatGPT plugin, the Claude connector and the Perplexity connector, and the considerations page, read September 14, 2026. The rows are the same on all three connectors.&lt;/p&gt;

&lt;h3&gt;
  
  
  What stays blocked even with write access
&lt;/h3&gt;

&lt;p&gt;Refunds, cancelling or capturing orders, marking orders as paid, returns and gift cards are blocked on every connector even when you approve write access, and so are your plan, payments, taxes and domains. The tool can change only an unpublished theme, and some actions stay read-only by the provider's design.&lt;/p&gt;

&lt;p&gt;Money and order state are the clearest line. Shopify's considerations page for connected AI tools lists the actions that stay off limits no matter what access you approve:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"A connected AI tool can't issue refunds, cancel or capture orders, mark orders as paid, process returns, or create and adjust gift cards. These actions are blocked even when you approve write access."&lt;/p&gt;

&lt;p&gt;Shopify Help Center, &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/considerations" rel="noopener noreferrer"&gt;Considerations for connecting AI tools to your store&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Blocked regardless of access:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refunds, cancelling or capturing orders, marking orders as paid, processing returns, creating or adjusting gift cards&lt;/li&gt;
&lt;li&gt;Settings such as your plan, payments, taxes or domains&lt;/li&gt;
&lt;li&gt;Your live theme: a connected tool can change an unpublished theme but can't edit the live one, publish a theme or delete one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two more limits sit underneath. Some connector actions are read-only by design, which the AI tool's provider controls, and Shopify says your admin is still required for payments, taxes, domains and launch readiness. The connector helps with some tasks; it doesn't replace the admin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why a big batch can stop halfway
&lt;/h3&gt;

&lt;p&gt;Because a connected tool changes items one at a time, a large batch can stop partway, and some actions cover a limited number of items: product status changes take up to 50 products per batch and order lists return up to 50 at a time. An unfinished batch is completed in your Shopify admin.&lt;/p&gt;

&lt;p&gt;Shopify warns that a connected AI tool changes items one at a time, so a large batch can stop partway, and that some actions cover only a limited number of items. The two published limits are the ones in the table: &lt;strong&gt;up to 50 products per status change and up to 50 orders per list&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The instruction for an unfinished batch is short: finish it in your Shopify admin. For a catalog of hundreds of products that means planning the work in batches you can check, rather than one long chat instruction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who controls what the tool can see and change?
&lt;/h2&gt;

&lt;p&gt;You control access in two ways: the data access scope you approve when you install, and the permissions of the staff account the tool acts through. A user who can't edit product data can't give the tool that ability. Lowering the scope later means uninstalling, and each connector holds one store at a time.&lt;/p&gt;

&lt;p&gt;Shopify's page on &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/authorizing-access" rel="noopener noreferrer"&gt;authorizing AI tool access&lt;/a&gt; describes two levers, the data access you approve and the user permissions of whoever operates the tool, and six rules follow from them:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rule&lt;/th&gt;
&lt;th&gt;What Shopify says&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Data access is what you approve&lt;/td&gt;
&lt;td&gt;The tool can read data but not change it unless you approve write access when you connect.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Never more than the staff account&lt;/td&gt;
&lt;td&gt;Users who interact with the tool are limited by their own permissions; someone who can't edit product data can't give the tool that ability.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Some actions are read-only by design&lt;/td&gt;
&lt;td&gt;Orders, customers and analytics are read but never changed; some actions are read-only by design, which the AI tool's provider controls.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lowering access means uninstalling&lt;/td&gt;
&lt;td&gt;To decrease the data access scope after you approve it, you have to uninstall the integration.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uninstalling revokes everything&lt;/td&gt;
&lt;td&gt;Uninstall the integration from your Shopify admin and the tool can no longer read or edit your store data.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One store per connector at a time&lt;/td&gt;
&lt;td&gt;Each integration connects one store at a time, even if your stores are in the same organization.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The second lever is the one to plan around. The tool acts through a staff account, and that account's permissions are its ceiling, so the question before you connect is which account it should be: the owner's, or a narrower staff seat built for the job. &lt;a href="https://shopify.ecom-store.pro/blog/shopify-store-access-permissions/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution#how-permissions-work" rel="noopener noreferrer"&gt;How Shopify staff permissions are organized&lt;/a&gt; is the map for that decision.&lt;/p&gt;

&lt;p&gt;On the Claude side there is one control more: its Help Center page says Claude applies its own access controls as well, so a connection can be limited to specific conversations or restricted by whoever owns your Claude workspace.&lt;/p&gt;

&lt;p&gt;Reducing access later is not a slider. Shopify's wording is unambiguous:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"To decrease the data access scope after you approve it, you have to uninstall the integration."&lt;/p&gt;

&lt;p&gt;Shopify Help Center, Authorizing AI tool access to your store&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Where your store data goes after you connect
&lt;/h3&gt;

&lt;p&gt;Once you grant access, the data the tool receives is no longer processed by Shopify, and how the AI company uses, retains or processes it isn't controlled by Shopify. Under Section 9.9 of Shopify's Terms of Service that use is your responsibility: review the tool's terms, meet your legal obligations, monitor its changes.&lt;/p&gt;

&lt;p&gt;The considerations page draws the boundary in one sentence: after you provide access to the third-party AI tool, that data is no longer processed by Shopify, and how the tool uses, retains or processes it after it is shared isn't controlled by Shopify. That includes customer records, which the connectors read.&lt;/p&gt;

&lt;p&gt;Responsibility follows the data. Under Section 9.9 of the Shopify Terms of Service you're responsible for your use of third-party services, including the data you share and your obligations to customers under applicable laws. Shopify names the GDPR and the CCPA as examples, not as the full list. Its page lists three things it expects of you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reviewing the terms and privacy policy of the AI tool that you connect to before activating the integration.&lt;/li&gt;
&lt;li&gt;Ensuring that your use of connected AI tools meets your obligations to your customers under applicable laws.&lt;/li&gt;
&lt;li&gt;Monitoring your store for any changes that a connected AI tool makes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One question the section doesn't answer is training. No page in the connecting-AI-tools section read on September 13, 2026 (the considerations, authorizing-access and index pages) states whether OpenAI, Anthropic or Perplexity trains models on store data; the only statement is that Shopify no longer controls it. That makes the first duty above, reading the tool's privacy policy, the place where that answer lives.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens if the tool makes a wrong change?
&lt;/h3&gt;

&lt;p&gt;You are responsible for the change; actions a connected AI tool takes on your behalf aren't reviewed or approved by Shopify. Shopify asks you to review any action you ask the tool to take for accuracy and to monitor your store for changes; a stopped batch is finished in your admin, and uninstalling revokes access.&lt;/p&gt;

&lt;p&gt;Shopify's answer is blunt: if an AI tool makes an incorrect change to your store, you're responsible for that change, because actions connected AI tools take on your behalf aren't reviewed or approved by Shopify. There is no Shopify-side review between the chat and your catalog.&lt;/p&gt;

&lt;p&gt;What the documentation gives you instead is already in your hands: reviewing any action you ask the tool to take for accuracy, monitoring your store for changes a connected tool makes, finishing a batch that stopped partway in the admin, and uninstalling the integration to end the tool's ability to read or edit anything.&lt;/p&gt;

&lt;p&gt;Whether the tool itself keeps a change log or an undo is a question for its provider, not for Shopify: the connector pages send issues with ChatGPT, Claude or Perplexity to OpenAI, Anthropic or Perplexity AI, and issues with your Shopify account or your store to Shopify Support.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does it cost to connect ChatGPT or Claude to Shopify?
&lt;/h2&gt;

&lt;p&gt;Nothing extra on Shopify's side for ChatGPT or Claude. Standard Shopify plan pricing applies to a store you create or run through the ChatGPT plugin or the Claude connector, and you pay the assistant's subscription to OpenAI or Anthropic. The Perplexity page, as read on September 13, 2026, states no pricing terms.&lt;/p&gt;

&lt;p&gt;Both the ChatGPT and the Claude pages answer the cost question in the same two sentences, and the answer is that Shopify's side doesn't change:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Standard Shopify plan pricing applies to a store that you create or run this way, and there's no extra Shopify fee for using the plugin. You pay any ChatGPT subscription costs to OpenAI rather than to Shopify."&lt;/p&gt;

&lt;p&gt;Shopify Help Center, &lt;a href="https://help.shopify.com/en/manual/ai-powered-tools/connecting-ai-tools/shopify-plugin-for-chatgpt" rel="noopener noreferrer"&gt;Shopify plugin for ChatGPT&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the Shopify part of the bill is the plan you would pay anyway. For a new store from a preview, the subscription is billed after the free trial ends and you choose a paid plan; for an existing store, nothing changes. As of September 2026, Basic is &lt;a href="https://www.shopify.com/pricing" rel="noopener noreferrer"&gt;$39 a month billed monthly&lt;/a&gt; or $29 a month on annual billing, in USD.&lt;/p&gt;

&lt;p&gt;Which assistant tier you need is a question for the assistant's own pricing page, not the Help Center: Shopify's pages name no amounts, and the Perplexity page, as read on September 13, 2026, carries no pricing sentence at all.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cost line&lt;/th&gt;
&lt;th&gt;Who bills you&lt;/th&gt;
&lt;th&gt;What Shopify's page says&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Your Shopify plan&lt;/td&gt;
&lt;td&gt;Shopify&lt;/td&gt;
&lt;td&gt;Standard plan pricing applies; no extra Shopify fee for the ChatGPT plugin or the Claude connector&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ChatGPT subscription&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;"You pay any ChatGPT subscription costs to OpenAI rather than to Shopify"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude subscription&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;The same sentence, with Claude and Anthropic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perplexity subscription&lt;/td&gt;
&lt;td&gt;Not stated on the Shopify page&lt;/td&gt;
&lt;td&gt;No pricing sentence on the connector page, as read on September 13, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Connectors vs Sidekick: do you need both?
&lt;/h2&gt;

&lt;p&gt;You may well use both. Sidekick is the AI assistant inside your Shopify admin; the ChatGPT, Claude and Perplexity connectors work from outside it, and Shopify says plainly that a connector doesn't replace your admin or Sidekick. Use a connector for the tasks in the table, and the admin for everything else.&lt;/p&gt;

&lt;p&gt;Each connector page carries a version of the same disclaimer (the Perplexity page drops the line about starting a store), and the disclaimer settles the "which one" question by refusing it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Your Shopify admin is the main place to manage your business. The plugin can help you start a store and handle some tasks, but it doesn't replace your Shopify admin, and it doesn't replace Sidekick, which is the AI assistant inside your Shopify admin."&lt;/p&gt;

&lt;p&gt;Shopify Help Center, Shopify plugin for ChatGPT&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The practical split is where you are working. A connector brings the tasks in the table into ChatGPT, Claude or Perplexity; Sidekick lives inside the admin, next to the settings the connectors can't touch. If you already run a store and don't work in ChatGPT, Claude or Perplexity, a connector adds a new place to do those tasks: the products, collections, inventory, discounts and analytics in the table are also managed in your admin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical limits before you connect
&lt;/h2&gt;

&lt;p&gt;Five limits apply first: one store per connector at a time; installation from the AI tool, never the App Store or your own API token; a desktop browser for setup; support split between the assistant's company and Shopify; and text-only answers from Perplexity. No page read on September 13, 2026 names Plus or POS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One store at a time per connector&lt;/strong&gt;, even if your stores are in the same organization; the action tables include switching to another store you own.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Installed from the AI tool, not the App Store.&lt;/strong&gt; Shopify asks you to use the official integration rather than create an API access token or build your own; using one means agreeing to the Shopify API Terms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A desktop browser for setup.&lt;/strong&gt; Whether the plugin or connector is available on a mobile device depends on ChatGPT, Claude or Perplexity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Support is split.&lt;/strong&gt; OpenAI, Anthropic or Perplexity AI for issues with the tool itself, Shopify Support for issues with your account or your store.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Perplexity answers in text only.&lt;/strong&gt; No storefront previews, tables or charts, no sample product browsing, and no way to generate a preview or claim a new store from it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plan and channel compatibility is a gap in the documentation rather than a rule. None of the six pages in the section read on September 13, 2026 mentions Shopify Plus or Shopify POS in the context of the connectors, so if either is your setup, the honest next step is to ask Shopify Support before you build a workflow on it.&lt;/p&gt;

&lt;p&gt;Shopify's own pages carry no launch date for any of the three. No changelog.shopify.com or shopify.com/news entry found on September 13, 2026 names one, and the only first-party date to point to is that Anthropic's connector directory lists the Claude connector as added in April 2026, a date for the directory card, not necessarily for the feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What was looked for and not found.&lt;/strong&gt; Several statements here are absences: the Perplexity page's silence on pricing, the section's silence on Shopify Plus and POS, the lack of any statement on whether the AI company trains on store data, the lack of any change log or undo for the tool's actions, and the lack of an official launch date. Each rests on the same reading: the Shopify Help Center pages for the ChatGPT plugin, the Claude connector and the Perplexity connector, the considerations and authorizing-access pages and the section index, read on September 13 and again on September 14, 2026, plus a search of changelog.shopify.com and shopify.com/news for the launch date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting it safely: seven steps
&lt;/h2&gt;

&lt;p&gt;Seven steps keep a connector safe: read the tool's terms and privacy policy, pick the staff account it acts through, decide read-only or write before you approve, install from the AI tool on a desktop browser, start with a small batch and an unpublished theme, monitor every change, and know that uninstalling revokes access. Steps one to four happen before you connect and decide what the tool can ever do; five to seven are how you keep it safe afterwards.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Read the tool's terms and privacy policy.&lt;/strong&gt; Shopify puts reviewing the AI tool's terms and privacy policy on you before activating the integration, because data you share is no longer processed by Shopify. Read its privacy policy, including what it says about retention, and accept that data shared with the tool is handled outside Shopify.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick the staff account it will act through.&lt;/strong&gt; The tool never gets more than that account's permissions, so choose the account whose rights match what you want the tool to do, and check its permissions against the tasks you plan to hand over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide read-only or write before you approve.&lt;/strong&gt; The tool reads by default and changes data only if you approve write access; lowering the scope later means uninstalling the integration and reconnecting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Install from the AI tool, on a desktop browser.&lt;/strong&gt; The official integration is installed from ChatGPT, Claude or Perplexity, not from the Shopify App Store, and Shopify says not to build your own connection with an API token. Don't create an API access token for it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start with a small batch and an unpublished theme.&lt;/strong&gt; Changes run one item at a time and product status changes are capped at 50 per batch; the tool can change only a theme that isn't published. Keep the first task within one batch of 50 or fewer items and point theme work at an unpublished copy, never the live theme.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitor every change and finish batches in your admin.&lt;/strong&gt; Monitoring your store for changes the tool makes is your obligation; Shopify doesn't review the tool's actions, and an incomplete batch is finished in your Shopify admin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Know the exit.&lt;/strong&gt; Uninstalling the integration from your Shopify admin revokes access; after that the tool can no longer read or edit your store data. Know where it is uninstalled and confirm with a test uninstall that the tool lost access.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;Connect ChatGPT, Claude or Perplexity if you already pay for the assistant and want catalog, inventory, discount and analytics work from the chat; Shopify's ChatGPT and Claude pages say there's no extra Shopify fee. Approve write access only through a deliberately scoped staff account; refunds, order changes and the live theme stay in the admin.&lt;/p&gt;

&lt;p&gt;The connectors are documented and bounded, which makes the decision less about risk than about fit: whether the tasks you would hand over are the ones in the table, and whether you are comfortable that the data leaves Shopify's processing once you approve access.&lt;/p&gt;

&lt;p&gt;Connect it through a deliberately scoped staff account, and treat write access as a decision, not a default. If you already pay for ChatGPT or Claude and run a store, the plugin or connector is worth switching on for product, collection, inventory and discount work. If what you want is refunds, order edits or a published theme, the connector was never going to do it; that stays in your admin.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Does Shopify have a ChatGPT plugin?&lt;/strong&gt;&lt;br&gt;
Yes. The Shopify plugin for ChatGPT is documented in Shopify's Help Center as an official integration. It isn't listed on the Shopify App Store; you install it from ChatGPT on its install page. It can generate storefront previews and claim a store, and once you sign in and approve access it can manage a store you own: products, collections, inventory, orders, customers, discounts and analytics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the Shopify connector for Claude free?&lt;/strong&gt;&lt;br&gt;
There is no extra Shopify fee. Shopify's page says standard Shopify plan pricing applies to a store you create or run through the connector, and that any Claude subscription costs are paid to Anthropic rather than to Shopify. So the cost is your Shopify plan plus your Claude subscription; the connector pages in the Help Center name no Claude amount or plan requirement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can ChatGPT or Claude edit my live theme?&lt;/strong&gt;&lt;br&gt;
No. Shopify's considerations page says a connected AI tool can change a theme that isn't published, but it can't edit your live theme, publish a theme, or delete one. In practice the tool works on an unpublished copy, and publishing stays a step you take yourself in the admin, where you can review the result first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can a connected AI tool issue refunds or cancel orders?&lt;/strong&gt;&lt;br&gt;
No, and not even with write access. Shopify lists refunds, cancelling or capturing orders, marking orders as paid, processing returns, and creating or adjusting gift cards as actions that are blocked even when you approve write access. The connectors read your orders, up to 50 at a time, but don't change them, so order work stays in your admin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I connect one assistant to several Shopify stores?&lt;/strong&gt;&lt;br&gt;
Not at the same time. Shopify's authorizing-access page says that with the ChatGPT, Claude or Perplexity integration you can connect one store at a time, even if your stores are in the same organization. The action table on each connector page includes switching to another store you own, so multi-store owners work store by store rather than across stores at once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between these connectors and Sidekick?&lt;/strong&gt;&lt;br&gt;
Sidekick is the AI assistant inside your Shopify admin; the ChatGPT, Claude and Perplexity connectors work from inside those chat tools on a store you own. Each connector page says the plugin or connector can handle some tasks but doesn't replace your Shopify admin or Sidekick; only the ChatGPT and Claude pages add that it can help you start a store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can the Perplexity connector build a store?&lt;/strong&gt;&lt;br&gt;
No. Shopify's page for the Perplexity connector says it manages a store you already own, so you need a Shopify store before you connect it. Responses in Perplexity are text only, and for that reason you can't generate a storefront preview, claim a new store, or browse sample products from Perplexity; Shopify points you to the ChatGPT plugin or the Claude connector for that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I see a log of what the tool changed, or undo it?&lt;/strong&gt;&lt;br&gt;
Not through Shopify, as far as its pages go: none of the six Help Center pages in the connecting-AI-tools section read on September 14, 2026 describes a change log or an undo for a connected tool's actions. What they do say is that you're responsible for any incorrect change, that monitoring your store is your duty, and that issues with the tool itself go to OpenAI, Anthropic or Perplexity AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I reduce what a connected AI tool can access?&lt;/strong&gt;&lt;br&gt;
By uninstalling and reconnecting. Shopify's authorizing-access page says that to decrease the data access scope after you approve it, you have to uninstall the integration; there is no lower-the-scope setting. The other control is the staff account the tool acts through, since users who interact with the AI tool are limited by their own user permissions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does a store created from a ChatGPT or Claude preview get a free trial?&lt;/strong&gt;&lt;br&gt;
Yes. Shopify's setup page for stores created with an AI tool says a new store created this way starts on a free trial, currently 4 months as of September 2026, and that the trial begins when you claim the store, not when it was created. The tool isn't connected to the new store until you authorize access to it separately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is this the same as selling through ChatGPT?&lt;/strong&gt;&lt;br&gt;
No. These connectors are for you, working on a store you own from inside a chat. Shopify's Help Center section on connecting AI tools says that making your products discoverable to shoppers who use AI assistants is a different topic, covered under agentic storefronts, Selling on ChatGPT and the Agentic plan: the customer-facing side, with its own rules and costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do the connectors work with Shopify Plus or Shopify POS?&lt;/strong&gt;&lt;br&gt;
Shopify's pages don't say. None of the six Help Center pages in the connecting-AI-tools section read on September 13, 2026 (the three connector pages, considerations, authorizing-access and the index) mentions Shopify Plus or POS in the context of the connectors. If either is central to your store, confirm with Shopify Support before relying on a connector.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-chatgpt-claude-connectors/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;, where the article also has an interactive safety checklist.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article is AI-generated.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>ai</category>
      <category>mcp</category>
      <category>ecommerce</category>
    </item>
    <item>
      <title>Shopify Webhooks: Pick the Route, Then Create It</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Wed, 30 Sep 2026 07:24:03 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/shopify-webhooks-pick-the-route-then-create-it-267m</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/shopify-webhooks-pick-the-route-then-create-it-267m</guid>
      <description>&lt;p&gt;If you wire Shopify events into your own endpoint, a queue or a no-code tool, the interesting decisions are not in the admin form. They are in which route carries the event, what happens when your receiver starts failing, and which failures nobody tells you about. This write-up compares the three routes out of a store, walks through the four-field admin webhook, and lists what Shopify documents (and does not) about delivery and silent deletion.&lt;/p&gt;

&lt;p&gt;The original article has an interactive setup checklist; here it is a plain list.&lt;/p&gt;

&lt;h2&gt;
  
  
  The quick verdict
&lt;/h2&gt;

&lt;p&gt;Let the other side decide your route: a plain HTTPS address means an admin webhook, a need to filter the event first means Shopify Flow on Grow, Advanced or Plus, and a vendor with its own App Store listing means installing the app.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;Answer&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A vendor handed you an HTTPS address&lt;/td&gt;
&lt;td&gt;Create it in the admin&lt;/td&gt;
&lt;td&gt;Four fields in Settings &amp;gt; Notifications &amp;gt; Webhooks, on a page naming no plan requirement (read September 18, 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The event must be filtered before it leaves&lt;/td&gt;
&lt;td&gt;Shopify Flow, Send HTTP request&lt;/td&gt;
&lt;td&gt;Flow puts conditions and stored secrets in front of the call, on Grow, Advanced and Plus only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You need filtering on an entry tier&lt;/td&gt;
&lt;td&gt;A connector or app, filtering on their side&lt;/td&gt;
&lt;td&gt;Flow's action is out of reach below Grow; a connector applies the vendor's own filters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The destination has its own App Store listing&lt;/td&gt;
&lt;td&gt;Install the app instead&lt;/td&gt;
&lt;td&gt;Shopify emails the owner about a failed webhook only when an App Store or custom app created it — ask the vendor to confirm its connector does&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If a vendor handed you an HTTPS address, create the webhook yourself in Settings &amp;gt; Notifications &amp;gt; Webhooks: four fields, no code. If the event must be filtered before it leaves, use Shopify Flow's Send HTTP request, which is available only on the Grow, Advanced and Plus plans.&lt;/p&gt;

&lt;p&gt;You cannot change the event once the webhook exists, and a failing destination loses its subscription. Shopify emails the owner about that only when an App Store app or a custom app created the webhook, so put a recurring check in your calendar.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a webhook sends, and to whom
&lt;/h2&gt;

&lt;p&gt;A Shopify webhook is an outbound message: when the event you picked happens in your store, Shopify sends that record to an HTTPS address you typed in, as JSON or XML. Nothing polls and nobody signs in — the data arrives at whoever owns that address.&lt;/p&gt;

&lt;p&gt;Someone asks you to add a webhook — a fulfilment partner, an accountant, a SaaS vendor. What they want is a standing instruction in your admin: when the chosen event fires, Shopify posts the record to their server. The event comes from a closed menu, not a free-text field.&lt;/p&gt;

&lt;p&gt;The seventeen event categories in the Event menu: Cart, Checkout, Collection, Customer, Discount, Draft order, Fulfillment, Inventory, Location, Market, Order, Product, Refund, Shop, Tender, Theme and Transaction — the Supported webhook events section of Shopify's Creating webhooks page, read September 18, 2026.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you get is an attempt at delivery, not a guarantee&lt;/strong&gt;, and Shopify says so itself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Webhook delivery isn't always guaranteed, and your app can miss or mishandle events for other reasons, such as handler failures or downtime." — Shopify, &lt;a href="https://shopify.dev/docs/apps/build/webhooks" rel="noopener noreferrer"&gt;Webhooks — Shopify Dev Docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Admin webhook, Flow or a connector: pick the route first
&lt;/h2&gt;

&lt;p&gt;Three routes carry an event out of a Shopify store: a webhook you create in Settings &amp;gt; Notifications, Shopify Flow's Send HTTP request on Grow, Advanced and Plus, or an app that registers its own. Pick by what the other side gave you.&lt;/p&gt;

&lt;p&gt;The route decides who sets it up, whether the event is filtered first, and who hears when it breaks. Flow's Send HTTP request action is &lt;a href="https://help.shopify.com/en/manual/shopify-flow/reference/actions/send-http-request" rel="noopener noreferrer"&gt;only available to the Shopify Plus, Advanced, or Grow plans&lt;/a&gt;, so the entry tier leaves you the admin webhook and installed apps.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;Where it is created&lt;/th&gt;
&lt;th&gt;Plan boundary&lt;/th&gt;
&lt;th&gt;Conditions first?&lt;/th&gt;
&lt;th&gt;Failure email&lt;/th&gt;
&lt;th&gt;What Shopify documents about delivery&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Admin webhook&lt;/td&gt;
&lt;td&gt;Settings &amp;gt; Notifications &amp;gt; Webhooks&lt;/td&gt;
&lt;td&gt;None on the page documenting it&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No one&lt;/td&gt;
&lt;td&gt;Repeated non-200 replies delete the subscription automatically&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shopify Flow, Send HTTP request&lt;/td&gt;
&lt;td&gt;Inside a workflow&lt;/td&gt;
&lt;td&gt;Grow, Advanced, Plus&lt;/td&gt;
&lt;td&gt;Yes, plus stored secrets&lt;/td&gt;
&lt;td&gt;A workflow action, not a subscription&lt;/td&gt;
&lt;td&gt;Waits up to 30 seconds for a response code; on 4XX, 5XX or 429 you pick Retry for up to 24 hours, Fail or Ignore&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;App or connector&lt;/td&gt;
&lt;td&gt;Inside the app&lt;/td&gt;
&lt;td&gt;Whatever the vendor sets&lt;/td&gt;
&lt;td&gt;Vendor's own&lt;/td&gt;
&lt;td&gt;The store owner, when an App Store or custom app created it&lt;/td&gt;
&lt;td&gt;Not named on the listings; Zapier's own page marks each trigger Instant or Polling&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Source: Shopify Help Center and Shopify Dev Docs, read September 18, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The third row is the one merchants misread. &lt;a href="https://apps.shopify.com/zapier" rel="noopener noreferrer"&gt;Zapier&lt;/a&gt; and &lt;a href="https://apps.shopify.com/make" rel="noopener noreferrer"&gt;Make&lt;/a&gt; ship official App Store listings, and n8n documents a &lt;a href="https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.shopifytrigger/" rel="noopener noreferrer"&gt;Shopify Trigger node&lt;/a&gt;, so a connector is a real route.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The listings do not say how the connector learns your event happened&lt;/strong&gt; — by registering a subscription in your store, or by polling on a schedule. Zapier's own integration page does label each Shopify trigger Instant or Polling; for the others, ask the vendor, because the answer matters twice: polling adds delay you cannot see, and the failure email for app-created webhooks reaches you only if the connector created one. Then price &lt;a href="https://shopify.ecom-store.pro/blog/shopify-flow-vs-zapier-vs-n8n/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution#webhook-or-poll" rel="noopener noreferrer"&gt;webhook against poll&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you create a webhook in Shopify?
&lt;/h2&gt;

&lt;p&gt;From your Shopify admin go to Settings &amp;gt; Notifications, click Webhooks, then Create webhook, and fill four fields: the event, the format, the destination URL and the webhook API version. Save it, then use Send test and verify at the URL that the data arrived.&lt;/p&gt;

&lt;p&gt;None of the four is cosmetic: Shopify lets you edit a webhook after it is created but never its event, and the receiver depends on all four.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;What you choose&lt;/th&gt;
&lt;th&gt;What it commits you to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Event&lt;/td&gt;
&lt;td&gt;One of 17 categories&lt;/td&gt;
&lt;td&gt;Shopify states you cannot change it later — switching means deleting this subscription and building another&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Format&lt;/td&gt;
&lt;td&gt;JSON or XML&lt;/td&gt;
&lt;td&gt;The receiver has to parse what you picked; Shopify's webhook API resource lists JSON as the default&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;URL&lt;/td&gt;
&lt;td&gt;The HTTPS address for the data&lt;/td&gt;
&lt;td&gt;Everything the event carries leaves your store for it, and five kinds of address are refused&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhook API version&lt;/td&gt;
&lt;td&gt;A quarterly version&lt;/td&gt;
&lt;td&gt;The payload follows that version, and each stable version is supported for at least 12 months&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Source: Creating webhooks, Shopify Help Center, read September 18, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Five kinds of address Shopify refuses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Localhost.&lt;/li&gt;
&lt;li&gt;Any URL ending in the word "internal", such as example.com/internal.&lt;/li&gt;
&lt;li&gt;Any URL from a custom domain attached to the store.&lt;/li&gt;
&lt;li&gt;"Fake" domains, such as &lt;a href="http://www.example.com" rel="noopener noreferrer"&gt;www.example.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Shopify domains, such as shopify.com and myshopify.com.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Send test answers one narrow question: did a sample reach the address. Shopify's steps end with checking that at the URL itself and say nothing about the receiver keeping it, so confirm that before you call the integration live.&lt;/p&gt;

&lt;h3&gt;
  
  
  The signature your receiver checks
&lt;/h3&gt;

&lt;p&gt;Anyone who learns your address can post to it, so the receiver should verify a delivery really came from your store: Shopify signs webhooks with an ID unique to your shop, while the HMAC check in its &lt;a href="https://shopify.dev/docs/apps/build/webhooks/verify-deliveries" rel="noopener noreferrer"&gt;developer documentation&lt;/a&gt; is written for apps and uses the app's client secret. Neither page gives a verification recipe for a webhook created in the admin, so ask whoever builds the endpoint how they will confirm a delivery came from your store.&lt;/p&gt;

&lt;h3&gt;
  
  
  The API version you pick has an expiry
&lt;/h3&gt;

&lt;p&gt;The Webhook API version is not permanent scenery. Shopify releases a new version every three months and supports each stable one for at least twelve months, payloads follow the version you chose, and individual event topics can be dropped from later versions.&lt;/p&gt;

&lt;p&gt;Shopify releases a new API version every three months, on the first day of the quarter, and supports each stable version for at least twelve months, with at least nine months of overlap, per its own &lt;a href="https://shopify.dev/docs/api/usage/versioning" rel="noopener noreferrer"&gt;versioning documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When the version you picked becomes inaccessible, Shopify falls forward — its versioning page says so for webhooks specifically — and webhooks include an &lt;code&gt;X-Shopify-Api-Version&lt;/code&gt; header to confirm which version was used. The page does not name the admin field, so treat this as the general rule and have the receiver read that header.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Topics themselves disappear.&lt;/strong&gt; Shopify removed the &lt;code&gt;checkout_and_accounts_configurations/update&lt;/code&gt; webhook on January 1, 2026, announced in a &lt;a href="https://shopify.dev/changelog/deprecation-of-checkoutandaccountsconfigurationsupdate-webhook" rel="noopener noreferrer"&gt;changelog post&lt;/a&gt; the previous August — so a webhook set and forgotten deserves a look.&lt;/p&gt;

&lt;h2&gt;
  
  
  When delivery fails: deleted without an email
&lt;/h2&gt;

&lt;p&gt;A destination that repeatedly answers with anything other than 200 loses its subscription, and Shopify deletes it from the admin automatically. The failure email goes to the store owner only for webhooks an App Store or custom app created, so one you made stops silently.&lt;/p&gt;

&lt;p&gt;Shopify's page documents no banner, alert or log for a deleted subscription: it is gone from Settings &amp;gt; Notifications, and the orders that reached your accountant stop reaching them. There is a guide to &lt;a href="https://shopify.ecom-store.pro/blog/shopify-webhook-not-working/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution#admin-webhook" rel="noopener noreferrer"&gt;finding the delivery log route by route&lt;/a&gt; that starts there.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If the webhook destination repeatedly returns a non-200 status response, then the webhook subscription is automatically deleted from your Shopify admin." — Shopify, &lt;a href="https://help.shopify.com/en/manual/fulfillment/setup/notifications/webhooks" rel="noopener noreferrer"&gt;Creating webhooks — Shopify Help Center&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether an email reaches you depends on who created the webhook, not on how badly it failed: Shopify sends one only when an App Store app or a custom app created the subscription.&lt;/p&gt;

&lt;p&gt;Shopify publishes those delivery numbers only on a &lt;a href="https://shopify.dev/docs/apps/build/webhooks/troubleshoot" rel="noopener noreferrer"&gt;page addressed to apps&lt;/a&gt;, and no page we have found extends them to a webhook created in Settings &amp;gt; Notifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So the defence is a habit, not a number.&lt;/strong&gt; Compare what reached the other side with what Shopify recorded, on a schedule — the reconciliation loop behind any custom ERP integration.&lt;/p&gt;

&lt;p&gt;What we looked for and did not find: every absence here rests on one reading, done September 18, 2026 — Shopify's Creating webhooks page, its Send HTTP request reference, the developer pages on building and troubleshooting webhooks, the Admin API webhook resource, the API versioning page, the Zapier and Make App Store listings, and n8n's Shopify Trigger documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Customer data on someone else's URL
&lt;/h2&gt;

&lt;p&gt;The payload is the record, not a notification: a customer or order event carries the name, email, phone and full address. Once it reaches the URL you typed, another party holds it, and the pages we read do not extend Shopify's protected customer data rules to a webhook a merchant creates.&lt;/p&gt;

&lt;p&gt;Shopify's sample payload for a new customer lists first and last name, email, phone, currency and the full default address — the record itself, not a ping saying a customer was created. The sample for a new order carries the same customer name, email and phone, plus the billing and shipping addresses.&lt;/p&gt;

&lt;p&gt;The approval regime that covers apps does not obviously cover you: those requirements are written for apps and the Admin API, and no page we have found addresses a webhook a merchant creates.&lt;/p&gt;

&lt;p&gt;So the checks before you save that address are yours:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who holds the data once it lands.&lt;/li&gt;
&lt;li&gt;Whether the address is access-controlled, not a catch-all.&lt;/li&gt;
&lt;li&gt;What your privacy policy promises about sharing.&lt;/li&gt;
&lt;li&gt;How you switch it off, which is deleting the subscription.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Erasure is the other half: when a customer asks you to delete their data, the copy on someone else's server is yours to chase, and Shopify's side of it stops at tools and notices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set it up so you notice when it dies
&lt;/h2&gt;

&lt;p&gt;Shopify's page names nothing that tells you a webhook died, so build the telling into your own routine: agree the event and address first, test after you create it, write down what you made, and re-open the list on a schedule. Only the last step repeats.&lt;/p&gt;

&lt;p&gt;Step one happens before you touch the admin, two and three on the day you create the webhook, and the last two keep it from disappearing unnoticed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Settle the event, the format and the address.&lt;/strong&gt; Get the event, the format and the exact HTTPS address in writing, then check the address against the blocked list above.

&lt;ul&gt;
&lt;li&gt;The event name is written down, not described.&lt;/li&gt;
&lt;li&gt;The address is none of the five blocked kinds.&lt;/li&gt;
&lt;li&gt;You can name who holds the data there, and your policy covers it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create the webhook and save it.&lt;/strong&gt; In Settings &amp;gt; Notifications &amp;gt; Webhooks, click Create webhook and fill the four fields.

&lt;ul&gt;
&lt;li&gt;The event is the one you agreed, since it cannot change later.&lt;/li&gt;
&lt;li&gt;The API version is the one the receiver was built against.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Send a test, then confirm it was stored.&lt;/strong&gt; Send test sends a sample to the address; confirm on the receiving side that it arrived and was kept.

&lt;ul&gt;
&lt;li&gt;The test was sent from the admin.&lt;/li&gt;
&lt;li&gt;Someone confirmed the record arrived and was saved.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write down what you created.&lt;/strong&gt; Record the event, address, API version and date, because a subscription created here is not returned in API calls.

&lt;ul&gt;
&lt;li&gt;Those four details live outside Shopify.&lt;/li&gt;
&lt;li&gt;The receiving side holds the same record.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Put a recurring check in your calendar.&lt;/strong&gt; Re-open the Webhooks list on a schedule and confirm the subscription is still listed, because a failing one goes without an email.

&lt;ul&gt;
&lt;li&gt;A repeating reminder exists.&lt;/li&gt;
&lt;li&gt;You know what the list should contain.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;Creating a Shopify webhook is four fields in the admin, and the hard part is everything around it: the route the other side forces on you, the event you cannot change later, the customer data that leaves with every delivery, and the deletion nobody emails you about.&lt;/p&gt;

&lt;p&gt;Shopify gives merchants a code-free way to push events out of a store, then documents the limits honestly: delivery is not guaranteed, a failing destination loses its subscription, and the email is reserved for app-created webhooks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create it yourself, but never leave it unwatched.&lt;/strong&gt; An address you were handed means the admin route and four fields; an event that needs filtering first means Flow, on Grow, Advanced or Plus. Either way, put a recurring check in the calendar — Shopify's page documents no alert for a deleted webhook.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Do I need a developer to create a webhook in Shopify?&lt;/strong&gt;&lt;br&gt;
Not to create one. From your Shopify admin you go to Settings &amp;gt; Notifications, click Webhooks, then Create webhook, and fill four fields: the event, the format, the destination URL and the webhook API version. The developer work sits on the other end, where somebody has to run the address that receives the data and confirm each delivery really came from your store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which Shopify plan do I need for webhooks?&lt;/strong&gt;&lt;br&gt;
The Help Center page documenting Settings &amp;gt; Notifications &amp;gt; Webhooks walks through the whole procedure without naming a plan requirement, read on September 18, 2026. What does carry a plan boundary is Shopify Flow's Send HTTP request action, which Shopify states is available only to the Shopify Plus, Advanced and Grow plans.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did my webhook disappear from Settings, Notifications?&lt;/strong&gt;&lt;br&gt;
Because the destination kept failing. Shopify states that if the webhook destination repeatedly returns a non-200 status response, the subscription is automatically deleted from your admin. Nothing is restored for you. Once the receiving address answers correctly again, you create the webhook a second time and send a test before trusting it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I change the event after the webhook is created?&lt;/strong&gt;&lt;br&gt;
No. Shopify's page states plainly that you cannot change the webhook event after the webhook is created. Moving from order creation to order fulfilment, for example, means deleting that subscription and creating another one with the new event, the same address and the same API version. Warn the receiving side before you do it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Shopify email me when a webhook stops working?&lt;/strong&gt;&lt;br&gt;
Only for some webhooks. Shopify sends an email to the store owner's address when a webhook fails, and states that the email is sent only when the webhook was created by an app from the Shopify App Store or by a custom app. One you created yourself in Settings &amp;gt; Notifications falls outside that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSON or XML: does the choice matter?&lt;/strong&gt;&lt;br&gt;
It matters to whoever receives the data rather than to your store. The Format menu offers exactly two choices, JSON or XML, and Shopify's webhook API resource page lists JSON as the default value. Ask the receiving side which one its endpoint parses, because changing your mind later means editing the webhook again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does the Webhook API version field actually do?&lt;/strong&gt;&lt;br&gt;
It fixes the shape of the data you receive. Shopify versions webhook payloads the same way as API responses, releases a new version every three months, and supports each stable version for a minimum of 12 months with at least nine months of overlap. Pick the version the receiving side was built against.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is Shopify Flow's Send HTTP request the same thing as a webhook?&lt;/strong&gt;&lt;br&gt;
No. It is an action inside a Flow workflow rather than a subscription in Settings &amp;gt; Notifications, so you can put conditions in front of it and keep secrets in Flow settings. Flow waits a maximum of 30 seconds for a response code, and on an error you choose Retry for up to 24 hours, Fail or Ignore.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will webhooks created by an app show up in the same list?&lt;/strong&gt;&lt;br&gt;
Shopify documents only the opposite direction: a subscription you create through the admin is not returned in API calls, because it belongs to the shop rather than to an app. No page we have found states whether the admin list shows app-created subscriptions, so treat that list as the record of what you made there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I test a webhook before I rely on it?&lt;/strong&gt;&lt;br&gt;
Use Send test. Shopify describes it as a way to check that the event information you want is being sent to the correct URL, and its steps end with verifying at that URL that the notification works. A received test proves the address is reachable, not that anything was kept, so confirm on the receiving side that the record actually arrived.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-webhooks/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article is AI-generated.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>webhooks</category>
      <category>api</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shopify Plus SCIM: what Okta, OneLogin or Entra can (and can't) do to your Shopify users</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Thu, 17 Sep 2026 14:20:46 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/shopify-plus-scim-what-okta-onelogin-or-entra-can-and-cant-do-to-your-shopify-users-14d0</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/shopify-plus-scim-what-okta-onelogin-or-entra-can-and-cant-do-to-your-shopify-users-14d0</guid>
      <description>&lt;h1&gt;
  
  
  Shopify Plus SCIM: what Okta, OneLogin or Entra can (and can't) do to your Shopify users
&lt;/h1&gt;

&lt;p&gt;If you are the admin wiring Shopify into your identity provider, "does Shopify support SCIM" is not really the question. The question is what happens on the Shopify side when you push a create, a group change or a deactivation — and what happens to the account when someone leaves. This post walks that mapping using only what Shopify's own help pages say: the SCIM, advanced security features, verify-domain and SAML pages, read September 14, 2026. Where Shopify's wording is conditional, it stays conditional here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Short answer: yes, on Shopify Plus only
&lt;/h2&gt;

&lt;p&gt;Shopify's SCIM page is explicit: "SCIM user management is available only for organizations on the Shopify Plus plan." SCIM is one of the &lt;a href="https://help.shopify.com/en/manual/your-account/users/security/advanced-security-features" rel="noopener noreferrer"&gt;additional security settings&lt;/a&gt; a Plus organization adds from the &lt;strong&gt;Users &amp;gt; Security&lt;/strong&gt; section of its Shopify admin.&lt;/p&gt;

&lt;p&gt;Inside that organization, the reach stops at your domain: "You can only manage users who are associated with a domain that you've verified for your organization." That verified domain is not a detail — it is the first link in the chain below.&lt;/p&gt;

&lt;h2&gt;
  
  
  What your identity provider can do through SCIM
&lt;/h2&gt;

&lt;p&gt;Once you give the SCIM API token to your identity provider, Shopify lists three actions you can take through it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create users&lt;/li&gt;
&lt;li&gt;Assign or update groups&lt;/li&gt;
&lt;li&gt;Deactivate users&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing to build into your joiner flow: users created through SCIM &lt;strong&gt;don't receive an invitation email&lt;/strong&gt;. The user must log in through the identity provider to activate the account, so plan to tell new hires about it yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  The chain before you can generate a token
&lt;/h2&gt;

&lt;p&gt;SCIM is the last step of a chain, and Shopify documents each step on its side as available only on the Shopify Plus plan:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://help.shopify.com/en/manual/your-account/users/security/advanced-security-features/verify-domain" rel="noopener noreferrer"&gt;Verify a domain&lt;/a&gt; for your organization.&lt;/li&gt;
&lt;li&gt;Set up &lt;a href="https://help.shopify.com/en/manual/your-account/users/security/advanced-security-features/saml" rel="noopener noreferrer"&gt;SAML authentication&lt;/a&gt; for the organization.&lt;/li&gt;
&lt;li&gt;Generate the SCIM API token, then give it to your identity provider.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In other words: a verified domain and SAML authentication come first; both are Plus-only, like generating the SCIM token.&lt;/p&gt;

&lt;h2&gt;
  
  
  Provider setup: Okta, OneLogin, Entra — and everyone else
&lt;/h2&gt;

&lt;p&gt;On the provider side, Shopify's &lt;a href="https://help.shopify.com/en/manual/your-account/users/security/advanced-security-features/scim" rel="noopener noreferrer"&gt;SCIM page&lt;/a&gt; carries configuration steps for Okta, OneLogin and Entra, each starting in the Shopify Plus app inside that provider.&lt;/p&gt;

&lt;p&gt;With any other provider you might need a base URL as well as the token. If it asks for one, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://shopifyscim.com/scim/v2/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Offboarding: what a removal in your IdP actually does in Shopify
&lt;/h2&gt;

&lt;p&gt;Does removing someone in your identity provider delete them from Shopify? Not necessarily — the outcome depends on what you do in the provider and on whose account it is.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;In your identity provider&lt;/th&gt;
&lt;th&gt;In your Shopify organization&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Remove an active user's access&lt;/td&gt;
&lt;td&gt;The user is suspended in your organization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Permanently delete a user&lt;/td&gt;
&lt;td&gt;They might be deleted, depending on your identity provider setup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Remove a store owner or organization owner&lt;/td&gt;
&lt;td&gt;Not possible through an identity service provider&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Read the middle row carefully. Suspension is the outcome Shopify states for an active user; deletion is a "might", and it hinges on how your own provider is set up. So plan offboarding around suspension, and &lt;strong&gt;check how your own provider handles a permanent delete&lt;/strong&gt; before you count on the account disappearing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Owners stay on your manual list
&lt;/h3&gt;

&lt;p&gt;Store owners and organization owners can't be removed through your identity provider. Shopify says both types of ownership must be transferred before the user can be removed — so keep owner accounts on your own, manual offboarding list rather than expecting the IdP to handle them.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 14-day caveat
&lt;/h3&gt;

&lt;p&gt;Shopify's SAML page adds a caveat about sessions: "If you remove a user from the Shopify application in your identity provider, then they can still access Shopify for up to 14 days." If your offboarding runbook treats "removed from the Shopify application in the IdP" as "locked out of Shopify", that line is the one to correct: per Shopify, the user can still access Shopify for up to 14 days.&lt;/p&gt;

&lt;p&gt;Whether a departing account should be suspended or removed at all is a decision of its own, separate from what SCIM can do.&lt;/p&gt;

&lt;h2&gt;
  
  
  SAML enforcement: Required is your choice, and it reaches wide
&lt;/h2&gt;

&lt;p&gt;SAML itself is the condition for SCIM; its &lt;strong&gt;Required&lt;/strong&gt; enforcement level is your choice. Under it, "All users with email addresses matching your domain must use SAML to log in" — store owners and outside users included. That setting also replaces all individual security requirements for your users.&lt;/p&gt;

&lt;p&gt;For the admin, that reach is the point. If you want every account with an email address matching your domain to log in through SAML, Required does that, store owners included. Outside users whose email addresses match your domain fall under it too.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Shopify's pages don't say
&lt;/h2&gt;

&lt;p&gt;No Shopify page we have read — the SCIM, advanced security features, verify-domain and SAML help pages, as of September 14, 2026 — says whether SCIM also covers POS-only staff. That is an absence, not an answer: don't read it as "POS staff are excluded", and don't read it as "they are included" either. If POS-only accounts are part of your directory, test it in your own organization before you promise it to anyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Admin checklist
&lt;/h2&gt;

&lt;p&gt;Pulling the above into the order you will actually hit it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plan gate.&lt;/strong&gt; SCIM, SAML and domain verification are each documented by Shopify as Plus-only.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chain.&lt;/strong&gt; Verify a domain → set up SAML → generate the SCIM API token → hand it to the IdP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provider.&lt;/strong&gt; Okta, OneLogin and Entra have documented steps, starting in the Shopify Plus app inside the provider; other providers might need the base URL above.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope.&lt;/strong&gt; Only users associated with a domain you've verified.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actions.&lt;/strong&gt; Create users, assign or update groups, deactivate users — and no invitation email on create; the user activates by logging in through the IdP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leavers.&lt;/strong&gt; Removing an active user's access suspends them; a permanent delete might delete them, depending on your provider setup; owners can't be removed through the IdP, and both types of ownership must be transferred first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sessions.&lt;/strong&gt; If you remove a user from the Shopify application in your identity provider, they can still access Shopify for up to 14 days, per Shopify's SAML page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The FAQ this post syndicates, with each claim tied to its Shopify source, is at &lt;a href="https://shopify.ecom-store.pro/faq/does-shopify-plus-support-scim-user-provisioning/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=distribution" rel="noopener noreferrer"&gt;Does Shopify Plus support SCIM user provisioning?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Our content is AI-generated and fact-checked against official Shopify sources.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>security</category>
      <category>devops</category>
      <category>webdev</category>
    </item>
    <item>
      <title>A Shopify Mutation That Returns Success and Changes Nothing</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Fri, 21 Aug 2026 20:28:20 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/a-shopify-mutation-that-returns-success-and-changes-nothing-1epa</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/a-shopify-mutation-that-returns-success-and-changes-nothing-1epa</guid>
      <description>&lt;p&gt;There is a specific failure mode that costs more than a crash, because nothing in your logs flags it: a GraphQL mutation returns without errors, &lt;code&gt;userErrors&lt;/code&gt; is empty, your job marks the sync as done — and the merchant's live shipping settings are exactly what they were before.&lt;/p&gt;

&lt;p&gt;That is not a hypothetical. It is the documented behaviour of Shopify's merchant-owned delivery profile APIs on any shop that has moved to market-driven shipping, and it has been in effect since August 1, 2026.&lt;/p&gt;

&lt;p&gt;If you maintain an app, a custom integration, or one of those quiet client scripts that keeps a rate table in sync, this is a short read with one action at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  The sentence that matters
&lt;/h2&gt;

&lt;p&gt;From &lt;a href="https://shopify.dev/changelog/merchant-owned-delivery-profile-apis-are-deprecated-for-market-driven-shipping" rel="noopener noreferrer"&gt;Shopify's developer changelog&lt;/a&gt;, on the deprecation of merchant-owned delivery profile APIs:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When a shop uses market-driven shipping, the legacy delivery profile fields and mutations in the Admin GraphQL API no longer represent the shop's live merchant-owned shipping configuration. Reads may return a stale snapshot of the legacy configuration, and writes may succeed without errors but will not update the merchant's live shipping settings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Read that as two separate bugs, because they fail differently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The read is a lie with a timestamp.&lt;/strong&gt; You query &lt;code&gt;deliveryProfiles&lt;/code&gt;, you get a well-formed response, and it describes a configuration that is no longer the one the checkout uses. Any logic that diffs "what we think the merchant has" against "what we want them to have" is now diffing against a ghost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The write is worse, because it is silent.&lt;/strong&gt; No error, no &lt;code&gt;userErrors&lt;/code&gt; entry, no non-200. The mutation succeeds. Whatever safety net you built around failures — retries, alerting, a dead-letter queue — is wired to a signal that never fires.&lt;/p&gt;

&lt;p&gt;Both of these are trigger-free from your side. Nothing changes in your code, your API version, or your scopes. The shop moves, and your integration starts being wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  The date on the page is not the date it took effect
&lt;/h2&gt;

&lt;p&gt;Small thing, and it will bite anyone who audits by scanning changelog headers.&lt;/p&gt;

&lt;p&gt;The changelog entry displays &lt;strong&gt;July 1, 2026&lt;/strong&gt; — that is &lt;code&gt;postedAt&lt;/code&gt;. The page's own metadata carries &lt;code&gt;effectiveAt&lt;/code&gt; of &lt;strong&gt;August 1, 2026, 12:00 ET&lt;/strong&gt;, with &lt;code&gt;effectiveApiVersion: 2026-07&lt;/code&gt;. Posted in July, effective in August.&lt;/p&gt;

&lt;p&gt;If your process is "grep the changelog for dates in our maintenance window", the header date is the one you will catch, and it is a month early. Worth knowing that Shopify publishes both.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exactly which APIs, and which are fine
&lt;/h2&gt;

&lt;p&gt;The changelog names the affected surface explicitly. Merchant-owned usage of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;deliveryProfile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfiles&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfilesCount&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfileLocationGroup&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfileLocationGroups&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfileCreate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfileUpdate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deliveryProfileRemove&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the carve-out, which is the half that keeps this from being a panic:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;App-owned delivery profiles aren't affected and continue to function as before.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the question to ask about your own code is not "do we touch delivery profiles" but "do we touch the &lt;em&gt;merchant's&lt;/em&gt; delivery profiles". A carrier-service app that owns its profiles is in a different position from a script that edits the rate table the merchant built by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to tell which model a shop is on
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://shopify.dev/docs/apps/build/orders-fulfillment/market-driven-shipping/upgrade-your-app" rel="noopener noreferrer"&gt;Shopify's upgrade guide&lt;/a&gt; gives you a flag rather than making you infer it. The &lt;code&gt;marketDrivenShipping&lt;/code&gt; field on &lt;code&gt;ShopFeatures&lt;/code&gt; tells you which model the merchant is on, and the read path for that needs the &lt;code&gt;read_markets&lt;/code&gt; scope (&lt;code&gt;read_markets&lt;/code&gt; plus &lt;code&gt;write_markets&lt;/code&gt; if you write). Branch on it: for shops on the new model, read from the Markets APIs; for shops still on the legacy one, keep reading &lt;code&gt;deliveryProfiles&lt;/code&gt;. Once every merchant has moved — July 2027 — the legacy branch can go.&lt;/p&gt;

&lt;p&gt;There is also a path with no branching at all, which is the one to look at first if rates are all you need: &lt;strong&gt;Contextual Product Feeds&lt;/strong&gt; return rate information from both the merchant's market rates and app-owned delivery profiles in one response. The guide's own argument for it is that there is nothing to unwind later, because the feed behaves the same on both models.&lt;/p&gt;

&lt;p&gt;The changelog names three destinations depending on what you are actually doing: Contextual Product Feeds, app-owned delivery profiles, or the Markets APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The window, and why there is no date for a given shop
&lt;/h2&gt;

&lt;p&gt;Two dates are published in &lt;a href="https://shopify.dev/changelog/market-driven-shipping-now-available-in-feature-preview" rel="noopener noreferrer"&gt;one changelog sentence&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Market-driven shipping will start rolling out to merchants on October 1, 2026, and all merchants will be on it by July 1, 2027.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That bracket is the whole schedule. The rollout runs gradually over an extended period, so stores are not all upgraded at the same time, and no page we found publishes a per-store date. Plan against the window.&lt;/p&gt;

&lt;p&gt;Two consequences for app developers specifically, from the upgrade guide's own timeline. From &lt;strong&gt;October 1, 2026&lt;/strong&gt;, new installs see a compatibility warning if your app has not been upgraded, and any merchant who opts in manually will hit breakage. Submitting Shopify's compatibility form clears that warning and lets Shopify move merchants on your app automatically once you are ready — Shopify also tries to detect compatibility on its own, but the form is the deterministic route.&lt;/p&gt;

&lt;p&gt;You can test before any of that: create a development store with the &lt;a href="https://shopify.dev/docs/apps/build/orders-fulfillment/market-driven-shipping/feature-preview" rel="noopener noreferrer"&gt;Market-driven shipping feature preview&lt;/a&gt; enabled and run your read and write paths against it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the migration does on the merchant's side
&lt;/h2&gt;

&lt;p&gt;Even if your integration never touches shipping, the merchant's setup changes shape underneath it — and support tickets land on whoever built the store. The short inventory, from Shopify's Help Center page on &lt;a href="https://help.shopify.com/en/manual/fulfillment/setup/shipping-options/whats-changing-with-shipping" rel="noopener noreferrer"&gt;upgrading from shipping profiles to shipping options by market&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The hierarchy inverts.&lt;/strong&gt; Today merchants configure delivery profiles, then location groups, zones and rates inside them. Under market-driven shipping, shipping options attach directly to markets, and each option carries rate variations by product and location condition. The market becomes the container.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rates can no longer point at individual products or variants.&lt;/strong&gt; To price a specific set of variants, they have to be grouped into a collection. Shopify's stated reason is maintainability: collection membership shifts on its own, so a rate follows the catalogue instead of needing to be re-pointed. Existing groupings are converted for you — anything built afterwards is built on collections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Same-named rates merge, and the highest one wins.&lt;/strong&gt; During the upgrade, rates sharing a shipping option name are consolidated into one option, and when more than one rate in that option matches a cart, only the highest matching rate is charged rather than the rates adding up. That becomes the standing rule: highest price wins &lt;em&gt;within&lt;/em&gt; a shipping option, prices add &lt;em&gt;across&lt;/em&gt; options. Rate names stopped being cosmetic — the name decides the grouping.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New collections appear that nobody created.&lt;/strong&gt; Product groupings from shipping profiles arrive as collections prefixed &lt;code&gt;[Shipping]&lt;/code&gt;, automatically assigned to the right product conditions. They are unpublished, so customers never see them. If you have tooling that reconciles collections, teach it about that prefix before someone "cleans up" the store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two settings change themselves.&lt;/strong&gt; Split shipping is always on afterwards — if the merchant had it off, it is on, and an order can arrive at checkout as two shipments with separate delivery times. And the Markets permission is not granted automatically and is not part of existing staff roles, so whoever manages shipping needs it added deliberately. Expect at least one "I can't open shipping settings any more" message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The opt-out window destroys work.&lt;/strong&gt; Switching back to shipping profiles restores the previous setup and permanently removes every shipping change made after the upgrade, along with the collections and sub-region markets the upgrade created. After the window closes, switching back is not possible. So the window is time to test, not time to build.&lt;/p&gt;

&lt;h2&gt;
  
  
  The compatibility list that does not exist
&lt;/h2&gt;

&lt;p&gt;The question every merchant asks first is whether their shipping apps are compatible. As of our reading in August 2026, no Shopify page we found publishes a list of apps that are or are not compatible with shipping options by market — not the upgrading page, not the other pages in the shipping-options section, not the Markets manual, not the feature preview docs.&lt;/p&gt;

&lt;p&gt;What exists instead is per-store: Shopify surfaces incompatibility inside the merchant's own admin, and each vendor answers for its own app. Which is also why stores using rate-providing apps may be upgraded later — if an incompatible app provides rates and they do not appear at checkout, customers cannot complete orders. Delaying those stores is how that outcome is avoided by default.&lt;/p&gt;

&lt;p&gt;The distinction that decides whether this is about a given app is narrow: does it calculate or return a rate at checkout? That is a question for the vendor, not something you can read off the app's name.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Find every place your code touches &lt;code&gt;deliveryProfile*&lt;/code&gt; for &lt;em&gt;merchant-owned&lt;/em&gt; configuration. App-owned profiles are fine.&lt;/li&gt;
&lt;li&gt;Add a branch on &lt;code&gt;marketDrivenShipping&lt;/code&gt; from &lt;code&gt;ShopFeatures&lt;/code&gt;, or move to Contextual Product Feeds and skip the branch.&lt;/li&gt;
&lt;li&gt;Check your scopes: &lt;code&gt;read_markets&lt;/code&gt;, plus &lt;code&gt;write_markets&lt;/code&gt; if you write.&lt;/li&gt;
&lt;li&gt;Stop trusting a successful mutation as proof of a saved setting on upgraded shops — read back and verify, at least until your migration lands.&lt;/li&gt;
&lt;li&gt;Test on a dev store with the Market-driven shipping feature preview before October 1, 2026.&lt;/li&gt;
&lt;li&gt;If you ship a public app that returns rates, submit the compatibility form so your merchants are not held back or warned at install.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The merchant-facing version of this — what changes in the admin, the pre-upgrade audit as a tickable checklist, and a routing quiz for which upgrade path fits a given store — is on the canonical article: &lt;a href="https://shopify.ecom-store.pro/blog/shopify-market-driven-shipping/" rel="noopener noreferrer"&gt;Shopify Shipping Options by Market: the 2026 migration&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Our content is AI-generated and fact-checked against official Shopify sources. Every claim above was re-verified against shopify.dev and help.shopify.com on August 21, 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>api</category>
      <category>graphql</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Same Shopify Workflow Is 1,800 Zapier Tasks, 4,680 Make Operations and 1,000 n8n Executions</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Thu, 06 Aug 2026 12:04:26 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/the-same-shopify-workflow-is-1800-zapier-tasks-4680-make-operations-and-1000-n8n-executions-1l0l</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/the-same-shopify-workflow-is-1800-zapier-tasks-4680-make-operations-and-1000-n8n-executions-1l0l</guid>
      <description>&lt;p&gt;Somebody asks what it will cost to automate a piece of their Shopify store, and the answer arrives as three monthly prices sitting next to each other. That comparison is broken before it starts, because the three vendors are not selling the same unit. Zapier bills a task. Make bills an operation. n8n bills an execution. Those three words describe three different things, and the gap between them is not a rounding error — on one ordinary workflow it is more than four times.&lt;/p&gt;

&lt;p&gt;Here is that workflow, then the four rules that produce the spread, then the parts of Shopify Flow that decide whether you need an external layer at all.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A format note: the canonical version of this article carries an interactive calculator that converts your own workflow shape into all four vendors' units, plus a routing quiz. Neither survives a plain markdown feed, so the arithmetic and the routing logic are written out as text below.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One workflow, three counts
&lt;/h2&gt;

&lt;p&gt;Take a shape most stores would recognise. Something happens 1,000 times a month. A filter throws away 40% of those as irrelevant, so 600 survive. Each of the 600 runs three action steps. The tool checks Shopify every 15 minutes, which over a 30-day month is 2,880 checks.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;th&gt;How it got there&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Zapier&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1,800 tasks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;600 surviving runs × 3 action steps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Make&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4,680 operations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2,880 trigger checks + 1,800 module runs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;n8n&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1,000 executions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;one per workflow run; steps are not counted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shopify Flow&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;nothing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;no billable unit is published — but only if the work never leaves Shopify, which this one does&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Notice what did the damage, because it is not what people expect. The filter is free everywhere, so it is not the culprit. The three action steps are free on n8n and charged three times over on the other two. And the 2,880 checks — the same checks, on the same schedule — are worth nothing on Zapier and n8n and 2,880 operations on Make.&lt;/p&gt;

&lt;p&gt;Then change exactly one thing. &lt;strong&gt;Poll every 5 minutes instead of every 15&lt;/strong&gt;, and the checks go from 2,880 to 8,640 a month. Zapier still bills 1,800 tasks. n8n still bills 1,000 executions. Make goes to &lt;strong&gt;10,440 operations&lt;/strong&gt;, past the only allowance its published price covers. Same work, same result for the store, and one of the three vendors has just charged you for being impatient.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four rules that produce it
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;One billable unit is…&lt;/th&gt;
&lt;th&gt;What is free&lt;/th&gt;
&lt;th&gt;What surprises people&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shopify Flow&lt;/td&gt;
&lt;td&gt;Nothing — it is a free app on the four plans that carry it&lt;/td&gt;
&lt;td&gt;Everything on those plans&lt;/td&gt;
&lt;td&gt;No run allowance is published either, so there is nothing to run out of and nothing to plan against&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zapier&lt;/td&gt;
&lt;td&gt;One action step that completed successfully — Zapier notes some apps or actions may use more than one&lt;/td&gt;
&lt;td&gt;Triggers, Filter and Paths steps, steps a filter skipped, and polling — always&lt;/td&gt;
&lt;td&gt;Step count, not run count, moves the bill: doubling the actions in a Zap at least doubles the invoice at identical volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Make&lt;/td&gt;
&lt;td&gt;One module run&lt;/td&gt;
&lt;td&gt;Nothing that runs. A trigger module costs one operation per check&lt;/td&gt;
&lt;td&gt;A poll that finds nothing still bills&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;n8n&lt;/td&gt;
&lt;td&gt;One whole workflow run, whatever it contains&lt;/td&gt;
&lt;td&gt;Polls that return nothing, manual runs from the editor, sub-workflow calls&lt;/td&gt;
&lt;td&gt;Node count is free — a twenty-node workflow and a two-node workflow bill identically&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each of those is the vendor's own wording. Zapier's is the plainest: &lt;a href="https://zapier.com/blog/what-is-a-task-in-zapier/" rel="noopener noreferrer"&gt;"A task is anything Zapier successfully completes on your behalf."&lt;/a&gt; Make's diverges at exactly one point, and it is the expensive one — its help centre states that a trigger module &lt;a href="https://help.make.com/operations" rel="noopener noreferrer"&gt;costs one operation per check, regardless of the number of bundles returned&lt;/a&gt;, which includes checks that return nothing at all. &lt;strong&gt;Make charges you for looking.&lt;/strong&gt; Zapier and n8n do not, and n8n writes the opposite rule down explicitly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Polling nodes (like Google Drive Trigger): Count one execution only when new data is found. Polls that return no results don't count as an execution.&lt;/p&gt;

&lt;p&gt;— &lt;a href="https://docs.n8n.io/build/understand-workflows/understand-executions" rel="noopener noreferrer"&gt;n8n, "Understand executions"&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Now put prices on those counts — carefully
&lt;/h2&gt;

&lt;p&gt;1,800 tasks lands on the 2,000-task step of Zapier's Professional ladder: $49 a month billed annually, $73.50 billed monthly. 1,000 executions sits inside n8n Cloud Starter at $20 a month billed annually or $24 month to month, which covers 2,500 executions. 4,680 operations sits under Make's $12-a-month Core price. All three verified on each vendor's own pricing page, 28 July – 1 August 2026.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two of those three are rungs on a ladder. One is a floor.&lt;/strong&gt; Zapier publishes an 18-step task ladder in both billing cycles, from 750 tasks up to two million. n8n publishes two tiers in two cycles. Make publishes a single usage slider that moves quota and price together, and the $12, $21 and $38 figures are all prices &lt;em&gt;at the lowest position of that slider&lt;/em&gt;, labelled "10,000 credits/mo". Above that position Make publishes nothing, and no annual dollar figure appears for any tier. So "4,680 operations for $12" is an entry price sitting next to a count, not a quote — and any comparison chart that plots Make against rising volume is drawing a line somebody made up.&lt;/p&gt;

&lt;p&gt;Two more things worth carrying out of the price section:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zapier's billing-cycle gap is 50%, not the 15–20% most SaaS charges&lt;/strong&gt; — on every step up to 100,000 tasks. Any Zapier figure quoted without naming the cycle is potentially half the real number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The unit counts are not a ranking either.&lt;/strong&gt; n8n produces the smallest number and is not the cheapest line; Make produces the largest and has the lowest published entry. The unit does not tell you who is cheaper today. It tells you which way your bill moves when your workflow changes shape.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Before any of that: where Shopify Flow stops
&lt;/h2&gt;

&lt;p&gt;Flow is the layer people skip, and it is free on Basic, Grow, Advanced and Plus — Shopify publishes that list twice, on the Help Center and on its Flow marketing page, and Starter appears in neither. It reacts to events in the store and its connected apps, and it has a clock trigger. If a workflow starts and ends inside Shopify, no meter ever starts.&lt;/p&gt;

&lt;p&gt;Two plan gates sit &lt;em&gt;inside&lt;/em&gt; the app your plan already includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Send HTTP Request&lt;/strong&gt; — the one built-in action that talks to anything outside Shopify — &lt;a href="https://help.shopify.com/en/manual/shopify-flow/reference/actions/send-http-request" rel="noopener noreferrer"&gt;is available only on the Plus, Advanced or Grow plans&lt;/a&gt;. On Basic it is not offered. At US list on monthly billing that gate costs $66 a month to clear by upgrading Basic to Grow, and it buys everything else Grow carries, not just the action.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tasks built by custom partner apps&lt;/strong&gt; need Plus. That one affects a single capability, and it is the reason a bespoke build sometimes wants Plus underneath it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Four more limits are not plan gates at all — no tier above yours removes them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flow sends no general customer email.&lt;/strong&gt; The only general email action is &lt;em&gt;Send internal email&lt;/em&gt;, and Shopify's guidance on the action's own page is blunt: &lt;a href="https://help.shopify.com/en/manual/shopify-flow/reference/actions/send-email" rel="noopener noreferrer"&gt;"the Send internal email action is best used to send emails to staff. To automate emails to customers, create a marketing automation."&lt;/a&gt; Four named actions do reach customers — B2B access, draft order invoice, order invoice, payment reminder — and that is the documented list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No built-in trigger starts Flow from outside Shopify.&lt;/strong&gt; It starts on store and app events, or on the clock. An installed app can register its own triggers; the plan cannot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Send HTTP Request has no published payload or body-size limit.&lt;/strong&gt; We fetched the full action page and found none, which means the limit is untested rather than generous. What the page does document: Flow waits up to 30 seconds for a response code, then closes the connection and retries, and 4XX, 5XX and 429 responses can be set to Retry for up to 24 hours, Fail, or Ignore.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;There is no published run allowance.&lt;/strong&gt; This is the most-asked question about Flow with no published answer. Shopify instead says usage limits follow the &lt;a href="https://shopify.dev/docs/api/usage/limits" rel="noopener noreferrer"&gt;Admin API rate limits&lt;/a&gt; of your plan — &lt;a href="https://help.shopify.com/en/manual/shopify-flow" rel="noopener noreferrer"&gt;"Stores are given different usage limits in Shopify Flow according to the API limits governed by their plan."&lt;/a&gt; Those buckets are 100 points/second Standard, 200 Advanced, 1,000 Plus, 2,000 Shopify for enterprise. That is a ceiling on how &lt;em&gt;hard&lt;/em&gt; the store can be worked, not on how many workflows you may own — and it is the closest thing to a planning figure that exists.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One naming collision does real damage here: marketing platforms call their email and SMS sequences &lt;em&gt;flows&lt;/em&gt;, and a Klaviyo flow has nothing to do with Shopify Flow. If the automation you are picturing sends a series of emails to a customer, you are shopping on the wrong layer entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reach is two questions, not one
&lt;/h2&gt;

&lt;p&gt;How much of Shopify a tool can touch, and how it finds out something happened, are separate — and the second one decides both your bill and your latency.&lt;/p&gt;

&lt;p&gt;On catalogue, counted on each vendor's own reference pages (Shopify and Make in July 2026, Zapier on 4 August 2026): &lt;strong&gt;Flow, 83 triggers and 109 actions&lt;/strong&gt; before anything an installed app adds. &lt;strong&gt;Zapier, 59 Shopify items&lt;/strong&gt; — 20 triggers plus 39 actions. &lt;strong&gt;Make, 27 modules&lt;/strong&gt; — 4 triggers, 18 actions, 5 search. &lt;strong&gt;n8n, two built-in nodes&lt;/strong&gt; — a Shopify app node with 10 operations across orders and products, plus a separate Shopify Trigger node whose docs page links usage templates rather than enumerating the events it supports, so confirm your event before you plan around it.&lt;/p&gt;

&lt;p&gt;On mechanism, there are exactly two ways for anything outside Shopify to learn that an order arrived, and Shopify is unusually direct about the limits of the first:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Webhook delivery isn't always guaranteed, and your app can miss or mishandle events for other reasons, such as handler failures or downtime.&lt;/p&gt;

&lt;p&gt;— &lt;a href="https://shopify.dev/docs/apps/build/webhooks" rel="noopener noreferrer"&gt;Shopify, "Webhooks"&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Shopify's own advice to app builders is to run reconciliation jobs that periodically re-fetch, and that applies just as squarely to a Zap or a scenario. &lt;strong&gt;Any workflow that moves money, stock or fulfilment needs a second, slower workflow that checks the first one's work&lt;/strong&gt; — a nightly sweep re-reading yesterday's orders. That sweep is a second workflow with its own unit count on whichever layer runs it, and it is the one most people forget to model at all.&lt;/p&gt;

&lt;p&gt;Polling is the alternative, and it always lags by its own interval. The only lever that shortens the lag is polling more often — which costs operations on Make and nothing on Zapier and n8n. &lt;strong&gt;Speed is a paid upgrade on exactly one of the three.&lt;/strong&gt; There are floors, too: Make's own comparison table puts the minimum scenario interval at 15 minutes on the free plan and 1 minute on Core, Pro and Teams; Shopify Flow's clock is documented down to a smallest repeat interval of 10 minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is self-hosted n8n really free?
&lt;/h2&gt;

&lt;p&gt;The licence is. The running of it is not, and no vendor publishes that number — which is why the honest answer is a list of components rather than a total.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The software: nothing.&lt;/strong&gt; A standard self-hosted version is on GitHub.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The server: your number, not ours.&lt;/strong&gt; n8n's docs name an instance class rather than a price — a Hetzner CPX11 (2 shared vCPU, 2 GB RAM, 40 GB SSD) described as enough for most usage levels. Its monthly price is not published anywhere a tool can read it; we tried five independent methods on 28 July 2026, including Hetzner's own public cloud pricing endpoint and the Wayback Machine, and the server-rendered HTML ships a placeholder where the number belongs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upkeep: hours × your rate.&lt;/strong&gt; Updates, backups you have actually restored from once, and monitoring that tells you before your merchants do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The 2 a.m. question.&lt;/strong&gt; Who is on the hook when a workflow stops silently during a sale. On a hosted plan that is the vendor; here it is a person you employ or are.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And one licence detail that matters if you build for clients rather than for yourself. Plenty of write-ups call n8n open source. n8n does not:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Although n8n's source code is available under the Sustainable Use License, according to the Open Source Initiative (OSI), open source licenses can't include limitations on use, so we do not call ourselves open source.&lt;/p&gt;

&lt;p&gt;— &lt;a href="https://docs.n8n.io/privacy-and-security/sustainable-use-license" rel="noopener noreferrer"&gt;n8n, "Sustainable Use License"&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The licence permits use or modification for your own internal business purposes, or non-commercial and personal use, and permits distribution only free of charge for non-commercial purposes. Automating your own store is squarely internal business use. Hosting it for clients and reselling it is the example n8n itself names as not allowed. The word for this model is &lt;em&gt;fair-code&lt;/em&gt; — source-available with restricted commercial use.&lt;/p&gt;

&lt;h2&gt;
  
  
  The exit is the price nobody quotes
&lt;/h2&gt;

&lt;p&gt;On the import and export pages we read — each vendor's own, 28 July 2026 — &lt;strong&gt;no vendor documents a path that moves workflows to either of the others&lt;/strong&gt;. Each reads only its own format. n8n describes saving workflows as JSON and importing JSON files into your n8n library, and nothing on that page or its siblings mentions another platform's format. The picture is the same in every direction.&lt;/p&gt;

&lt;p&gt;So a tool at Make's $12 slider floor that takes three weeks to leave is not cheaper than Zapier's $49 annual-billing step that takes three weeks to leave. The subscription difference is rounding next to the rebuild. Two practical consequences: keep a written description of what each workflow does, independent of the tool that runs it, so a rebuild is a translation rather than an archaeology project. And weight the first choice toward the unit that fits your workflow shape, because that is the thing you cannot renegotiate later without paying for it twice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five things nobody publishes
&lt;/h2&gt;

&lt;p&gt;Every gap below is a verified absence rather than an assumption — we went looking, and this is what was not there. Listing them is the honest alternative to filling them in:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Any Make price above the lowest position of its usage slider, and any annual dollar figure per tier (checked 28 July and again 1 August 2026 by capturing the pricing page's raw HTML in full).&lt;/li&gt;
&lt;li&gt;The monthly price of the Hetzner CPX11 instance n8n's docs recommend (five methods, 28 July 2026).&lt;/li&gt;
&lt;li&gt;A run allowance for Shopify Flow (the Flow hub plus its getting-started, create, manage and reference pages, the Send HTTP Request page, and shopify.com/flow — 28 July 2026).&lt;/li&gt;
&lt;li&gt;A payload or body-size limit for Send HTTP Request.&lt;/li&gt;
&lt;li&gt;A documented migration path between Zapier, Make and n8n.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;The decision is smaller than it looks once the two halves are separated. Put everything that stays inside Shopify on Flow, where it costs nothing beyond the plan you already pay for — on most stores that is the majority of the list. Then take what is left, work out its real unit count on each layer, and buy the one whose unit is kindest to your shape. A workflow with many action steps and few runs punishes Zapier and Make. A workflow that polls frequently punishes Make specifically. A workflow with enormous volume and someone already running servers argues for n8n on your own hardware, provided you count the hours honestly.&lt;/p&gt;

&lt;p&gt;The sorting is what saves the money. The vendor choice only decides how much.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-flow-vs-zapier-vs-n8n/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;, where the same comparison carries an interactive unit-cost calculator. All prices and counts were verified against each vendor's own pages between 28 July and 4 August 2026; check them before you commit, because they move. Our content is AI-generated and fact-checked against official Shopify and vendor documentation.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>automation</category>
      <category>webdev</category>
      <category>api</category>
    </item>
    <item>
      <title>Shopify's REST Admin API Has Been Legacy for Two Years and Still Has No Removal Date</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Wed, 05 Aug 2026 17:15:49 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/shopifys-rest-admin-api-has-been-legacy-for-two-years-and-still-has-no-removal-date-11d0</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/shopifys-rest-admin-api-has-been-legacy-for-two-years-and-still-has-no-removal-date-11d0</guid>
      <description>&lt;p&gt;Every few weeks a client forwards me the same kind of link: an article, a thread, a vendor page, all saying some version of &lt;em&gt;migrate off Shopify's REST Admin API before it's too late&lt;/em&gt;. The client wants to know what it will cost them. And the honest first answer, most of the time, is a question back: what exactly is connected to your store?&lt;/p&gt;

&lt;p&gt;Because when you go read what Shopify actually published, the urgency in the search results is not coming from the record. The record is short, it is public, and it contains one status change, three narrow deadlines aimed mostly at app vendors, an explicit carve-out — and, nearly two years on, no date for switching anything off.&lt;/p&gt;

&lt;p&gt;This is that record, with the sentence-level receipts, plus the parts that genuinely do force a migration. It is written for the person who has to answer "so do we budget for this or not" and wants to be able to defend the answer.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A format note: the canonical version of this article carries an interactive routing quiz and a tickable integration inventory, neither of which survives a plain markdown feed. Below I have written out the same routing logic and the same steps as text.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The published record — and the row that does the most work
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What Shopify published&lt;/th&gt;
&lt;th&gt;When&lt;/th&gt;
&lt;th&gt;Who it applied to&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;The REST Admin API is a legacy API&lt;/td&gt;
&lt;td&gt;October 1, 2024&lt;/td&gt;
&lt;td&gt;The whole REST Admin API, no carve-out by app type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Public apps had to move to the new GraphQL product APIs&lt;/td&gt;
&lt;td&gt;February 1, 2025&lt;/td&gt;
&lt;td&gt;Public apps in the App Store, product and variant endpoints only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom apps on the &lt;em&gt;existing&lt;/em&gt; GraphQL product APIs had to move&lt;/td&gt;
&lt;td&gt;April 1, 2025&lt;/td&gt;
&lt;td&gt;Custom apps already on the older GraphQL product fields — not custom apps on REST&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New public apps submitted to the App Store must use GraphQL only&lt;/td&gt;
&lt;td&gt;April 1, 2025&lt;/td&gt;
&lt;td&gt;Submissions on or after that date; already-listed apps not covered&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;A general removal or shutdown date for the REST Admin API&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Not published&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Would apply to everyone — which is why its absence matters&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Rows 1–4 come from &lt;a href="https://shopify.dev/docs/api/admin-rest/usage/versioning" rel="noopener noreferrer"&gt;Shopify's Admin REST versioning documentation&lt;/a&gt;, the &lt;a href="https://shopify.dev/changelog/deprecation-timelines-related-to-new-graphql-product-apis" rel="noopener noreferrer"&gt;product APIs deprecation changelog&lt;/a&gt; and the &lt;a href="https://shopify.dev/changelog/starting-april-2025-new-public-apps-submitted-to-shopify-app-store-must-use-graphql" rel="noopener noreferrer"&gt;GraphQL-only submissions changelog&lt;/a&gt;. Row 5 is an absence, checked in August 2026 — more on how we checked it below.&lt;/p&gt;

&lt;p&gt;Reading those four announcements as one countdown is the mistake almost every write-up on this topic makes. They have different audiences and only two of them ever pointed at a merchant's own code.&lt;/p&gt;

&lt;h2&gt;
  
  
  "Legacy" is a status. "Removed" is an event.
&lt;/h2&gt;

&lt;p&gt;This distinction is the whole article. Shopify's versioning doc puts the status in the plainest possible terms:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The REST Admin API is a legacy API as of October 1, 2024.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Read what that sentence does and does not do. It applies to the whole REST Admin API with no carve-out by app type, so nobody gets to claim their integration is exempt from the status. And then it stops. It names no consequence, no deadline and no removal — which is exactly why it has survived unchanged for as long as it has.&lt;/p&gt;

&lt;p&gt;A status describes where something sits in a lifecycle. An event has a date attached and something stops working on it. Shopify assigned the status. It has not announced the event.&lt;/p&gt;

&lt;h3&gt;
  
  
  What we looked for and did not find
&lt;/h3&gt;

&lt;p&gt;An absence is a weaker claim than a fact, so here is the reading behind it, done in August 2026. The pages: the Admin REST versioning doc, the REST Admin API landing page, the changelog entry on the new GraphQL product APIs, the general API versioning page, the &lt;a href="https://shopify.dev/docs/api/admin-rest/latest/resources/deprecated-api-calls" rel="noopener noreferrer"&gt;deprecated API calls reference&lt;/a&gt; and the changelog's deprecation feed. Plus the Help Center's apps, managing apps and custom apps pages.&lt;/p&gt;

&lt;p&gt;On those pages: no removal or shutdown date for the REST Admin API; no merchant-facing explanation of the API's status anywhere in the Help Center (two likely URLs redirect to the developer site instead); and no statement that organisations created after some date may only use GraphQL for custom apps.&lt;/p&gt;

&lt;p&gt;What &lt;em&gt;does&lt;/em&gt; exist is much narrower — individual deprecated calls can carry their own migration deadline, field by field, surfaced in the API response. That is a mechanism for retiring specific endpoints on their own schedules. It is not a plan to switch off an API.&lt;/p&gt;

&lt;p&gt;We cannot say Shopify will never publish a removal date. We can say we looked where such a date would live and it is not there. When it appears, the top of this article changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The carve-out most coverage leaves out
&lt;/h2&gt;

&lt;p&gt;In the same changelog entry that set the February and April deadlines, Shopify wrote this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Custom apps built on REST that do not need to support more than 100 variants can continue to use the deprecated REST product APIs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Two conditions are bolted to that permission: it covers &lt;strong&gt;custom&lt;/strong&gt; apps, not public ones, and it covers the &lt;strong&gt;product and variant endpoints&lt;/strong&gt; specifically, not the REST Admin API as a whole. Within those bounds the arrangement is open-ended — no expiry is attached to it, and none has been published since.&lt;/p&gt;

&lt;p&gt;The permission is real. So is its price, from the same entry: any merchant using custom apps built with those deprecated APIs &lt;em&gt;will not be able to increase their variant limit past 100&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So the carve-out holds until the catalog needs it not to. At that point the migration stops being optional without any date being involved. That is the single most useful thing to tell a client: your deadline is not on Shopify's calendar, it is in your product data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Three numbers, three different things
&lt;/h3&gt;

&lt;p&gt;This area is a minefield of numbers that look like they belong together and do not.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;100&lt;/strong&gt; — the threshold in the REST carve-out. Custom apps "that do not need to support more than 100 variants", and merchants on those apps cannot raise a variant limit past it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2,048&lt;/strong&gt; — the number of variants a Shopify product can carry on the platform itself, raised from a historical limit of 100 in October 2025. That is a product limit, not an API one — though the same changelog warns that merchants whose apps are not on the in-support GraphQL product APIs may see a downgraded or broken experience above 100 variants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Up to 2000 variants"&lt;/strong&gt; — a figure the text of that changelog entry never states. It survives only inside the &lt;em&gt;web address&lt;/em&gt; of the companion entry it links to, whose own title now reads 2048.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three numbers about two different things, and the gap between the last two is a wrinkle in Shopify's own text rather than something you can resolve. Quote whichever one applies to the question in front of you and do not do arithmetic between them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The only deadline that actually exists
&lt;/h2&gt;

&lt;p&gt;If you want a real clock in this topic, it is not REST-specific at all. It is the versioning policy, and it applies to every Admin API client, GraphQL included.&lt;/p&gt;

&lt;p&gt;Shopify ships a new API version at the start of each quarter. Each stable version is supported for a minimum of 12 months, with at least nine months of overlap between two consecutive stable versions. That rolling window is the genuine timetable.&lt;/p&gt;

&lt;p&gt;What happens at the end of it is the part that surprises people:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Shopify falls forward and responds to your request with the same behaviour as the oldest supported stable version.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nothing errors. Your integration keeps working — against slightly different rules than the ones it was written for. Which is why, in this topic, the realistic symptom is a quiet change in a familiar report rather than an outage, and why "it still works" is not evidence that a version is current.&lt;/p&gt;

&lt;p&gt;An alert does exist, but it is late and it lives in the merchant's admin: Shopify's Help Center says a notification is shown in the Shopify admin when an app in the store uses an unsupported API.&lt;/p&gt;

&lt;h2&gt;
  
  
  The consequences Shopify names, and who they reach
&lt;/h2&gt;

&lt;p&gt;Shopify names delisting from the App Store for a public app or sales channel that keeps calling unsupported resources after the upgrade deadline. For an app publisher that is severe. For a custom app it is not applicable at all — there is no listing to remove.&lt;/p&gt;

&lt;p&gt;But "no listing" is not the same as "no consequence". The same versioning page says that for unsupported resources after the upgrade deadline, users are blocked from installing the app for a minimum of seven days, and they see warnings in the Shopify admin until seven days after the last detected use of unsupported resources.&lt;/p&gt;

&lt;p&gt;Note the condition on all of it: &lt;em&gt;unsupported resources after the upgrade deadline&lt;/em&gt;. That is a different thing from the REST carve-out, and conflating the two is how "REST apps are at risk" gets manufactured out of a versioning page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three deprecations this is not
&lt;/h2&gt;

&lt;p&gt;Search results blur four separate stories into one, and each mix-up sends someone somewhere unproductive.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mixed up with&lt;/th&gt;
&lt;th&gt;What it actually is&lt;/th&gt;
&lt;th&gt;Whose problem&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;The Storefront API&lt;/td&gt;
&lt;td&gt;A separate API for building shop fronts. &lt;a href="https://shopify.dev/docs/api/storefront" rel="noopener noreferrer"&gt;Shopify's docs&lt;/a&gt; say it plainly: "The Storefront API is available only in GraphQL. There's no REST API for storefronts."&lt;/td&gt;
&lt;td&gt;Headless merchants — meaning this deprecation never touched them&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The Customer Account API&lt;/td&gt;
&lt;td&gt;The interface behind customer login and account pages, with its own deprecation story on its own timetable&lt;/td&gt;
&lt;td&gt;Stores still on legacy customer accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shopify Scripts and Functions&lt;/td&gt;
&lt;td&gt;Checkout logic — discounts, shipping, payment rules. Different technology, different dates, not part of the Admin API&lt;/td&gt;
&lt;td&gt;Plus stores that ran Scripts at checkout&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The first row is worth a second read if you run headless. There was never a REST version of the Storefront API, so a headless storefront had nothing to migrate. Advice telling you otherwise is describing a different API.&lt;/p&gt;

&lt;p&gt;Also worth flattening a naming problem while we are here: if a handover document or invoice says &lt;strong&gt;private app&lt;/strong&gt;, that is the old name for what Shopify now calls a &lt;a href="https://help.shopify.com/en/manual/apps/about-apps" rel="noopener noreferrer"&gt;custom app&lt;/a&gt;. Same thing. It matters because every boundary in this topic is drawn between public apps and custom apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five triggers that turn this into a bill
&lt;/h2&gt;

&lt;p&gt;Once you accept there is no removal date, the question changes shape. It stops being "when is the deadline" and becomes "what would make this urgent for us" — and that has five concrete answers, none of them a date.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Trigger&lt;/th&gt;
&lt;th&gt;What you would notice&lt;/th&gt;
&lt;th&gt;What it forces&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A product needs more than 100 variants&lt;/td&gt;
&lt;td&gt;You cannot raise the variant limit on that product&lt;/td&gt;
&lt;td&gt;Moving the product-writing path off the deprecated REST endpoints&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New Shopify work is being commissioned&lt;/td&gt;
&lt;td&gt;A quote lands for a rebuild, integration or new app&lt;/td&gt;
&lt;td&gt;Building on GraphQL, and pricing the old integration inside that scope&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You want a capability the old endpoints never got&lt;/td&gt;
&lt;td&gt;What you asked for is not available the way the integration works today&lt;/td&gt;
&lt;td&gt;Migrating before the capability can ship — the deprecated product APIs are in maintenance mode, new features go only to the new GraphQL product APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The pinned API version ages out of support&lt;/td&gt;
&lt;td&gt;Behaviour shifts with no error and no announcement&lt;/td&gt;
&lt;td&gt;Raising the version, which for product calls can mean moving to GraphQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You publish a public app yourself&lt;/td&gt;
&lt;td&gt;An upgrade deadline lands on your App Store listing&lt;/td&gt;
&lt;td&gt;Upgrading, or losing the listing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Everything else is a planning decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a deliberate wait looks like
&lt;/h2&gt;

&lt;p&gt;Waiting is a legitimate engineering answer here. It is only a &lt;em&gt;decision&lt;/em&gt; when three things are true, and the difference between a decision and a gap is what shows up in the retro.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A name.&lt;/strong&gt; One person who owns the question. An unowned wait is indistinguishable from having forgotten about it, right up until it is not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A channel.&lt;/strong&gt; Shopify's own guidance to developers is to follow the developer changelog for breaking changes. That is where a removal date would appear. The merchant-facing signal — the admin notification — only fires once an app is already on an unsupported API, so it is a smoke alarm, not a calendar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A written trigger list.&lt;/strong&gt; The table above, plus one external event: Shopify publishing a removal date. If that happens this becomes a scheduling problem instead of a judgement call.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is precedent for how these run: legacy customer accounts were deprecated with no sunset date announced either, and the stores that treated the announcement as the moment to plan came out ahead of the ones that waited for a date.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs, and the one number anybody publishes
&lt;/h2&gt;

&lt;p&gt;Exactly one public figure exists for this work, and it deserves to be quoted with its provenance attached rather than passed around as a benchmark. UK agency No7 Software &lt;a href="https://no7software.co.uk/blog/shopify-graphql-query-cost-production-throttling" rel="noopener noreferrer"&gt;published in May 2026&lt;/a&gt; that migrating a legacy custom app from REST to GraphQL typically costs between £15,000 and £40,000, depending on complexity. One vendor, one complexity class, one date.&lt;/p&gt;

&lt;p&gt;No agency page we read puts a per-complexity ladder on this work — nothing separating a nightly sync from a mid-sized custom app from a heavy continuous integration — and none attaches a timeline. We are not going to invent the missing figures. If a quote you receive lands well outside that range, the range is the weaker evidence.&lt;/p&gt;

&lt;p&gt;The more useful part of that agency's post is where it says the money goes, because it is not the obvious place: the primary engineering expense is not rewriting queries but re-architecting the queueing system to handle &lt;strong&gt;calculated query costs&lt;/strong&gt; instead of simple request counting.&lt;/p&gt;

&lt;p&gt;That is the agency's characterisation, not Shopify's — and it tells you which integrations the big number is really about. A nightly script touching a few hundred products has no queueing system to re-architect. A continuous sync moving thousands of records does. If your migration estimate is dominated by query rewriting, either the integration is small or somebody has not looked at the throughput yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do this week
&lt;/h2&gt;

&lt;p&gt;If you maintain Shopify integrations for other people, the deliverable that beats a migration quote right now is an inventory. Six steps, most of them a spreadsheet and a few messages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;List every system that touches Shopify data other than the theme and App Store apps the merchant installed themselves.&lt;/li&gt;
&lt;li&gt;Put a name against each one — who built it, and who is on the hook today. Those are often different people. Flag every line where the honest answer is &lt;em&gt;nobody&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Mark which ones write products and variants, and check whether any product needs more than 100 variants.&lt;/li&gt;
&lt;li&gt;Ask, per integration, which Admin API version it pins and when that was last raised.&lt;/li&gt;
&lt;li&gt;Ask, per integration, whether it calls REST product or variant endpoints, and whether any of its calls come back flagged with a migration deadline.&lt;/li&gt;
&lt;li&gt;Record one decision per line: wait with a named watcher, fold into work already being paid for, or budget it now.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Steps 4 and 5 are the ones a merchant cannot answer alone. Shopify's &lt;a href="https://shopify.dev/changelog/get-insights-into-api-updates-that-affect-your-apps-with-our-new-api-health-report" rel="noopener noreferrer"&gt;API Health report&lt;/a&gt; "on the Partner dashboard shows the deprecated API calls your apps are making, along with documentation and timelines" — which lives in the &lt;em&gt;developer's&lt;/em&gt; dashboard, not the store admin. If you are the developer, sending that output unprompted is a five-minute answer to a question your client has been reading scary articles about.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;Shopify labelled the REST Admin API legacy on October 1, 2024, published narrow deadlines aimed largely at app vendors, wrote an explicit carve-out for custom apps on REST, and has not published a removal date. Unless a catalog is pushing past 100 variants, a new build is being scoped, or the pinned version is aging out, this is a planning question rather than a bill.&lt;/p&gt;

&lt;p&gt;Which is a less exciting conclusion than "migrate now" — and considerably easier to defend when someone asks where the deadline is written down.&lt;/p&gt;




&lt;p&gt;The full version of this article, with the routing quiz and the tickable inventory, is on our site: &lt;a href="https://shopify.ecom-store.pro/blog/shopify-rest-to-graphql-migration/" rel="noopener noreferrer"&gt;Shopify REST API to GraphQL: Do You Need to Pay Now?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: this article was created with the help of AI.&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>api</category>
      <category>graphql</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shopify's Non-Plus Checkout Deadline: What Breaks on August 26, and the Order to Fix It</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Fri, 31 Jul 2026 14:38:44 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/shopifys-non-plus-checkout-deadline-what-breaks-on-august-26-and-the-order-to-fix-it-c7c</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/shopifys-non-plus-checkout-deadline-what-breaks-on-august-26-and-the-order-to-fix-it-c7c</guid>
      <description>&lt;p&gt;There is a deadline sitting in the Shopify admin of every Basic, Grow, and Advanced store that still customizes its post-checkout pages, and as I write this at the end of July 2026 it is under four weeks away: &lt;strong&gt;August 26, 2026&lt;/strong&gt;. Shopify's own wording is unambiguous — "If you're on a non-Plus plan, then you have until August 26, 2026 to upgrade and replace your Thank you and Order status pages," and if you don't, &lt;a href="https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/upgrade-thank-you-order-status/upgrade-guide" rel="noopener noreferrer"&gt;those pages get auto-upgraded for you&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you build or maintain Shopify stores for clients, this is the month that matters. Not because the migration is hard — for most stores it genuinely isn't — but because the failure mode is silent. Nothing throws. Nothing 500s. A field that used to run JavaScript stops running JavaScript, and the first symptom is a conversion column in an ad platform that quietly goes soft weeks later.&lt;/p&gt;

&lt;p&gt;The single biggest source of confusion here is that almost every article on the topic mixes up two different audiences with two different deadlines. So before anything else: which side of the line is the store on?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;One format note: the canonical version of this article carries an interactive decision quiz and a tickable migration checklist, neither of which survives a plain markdown feed. Below I have written out the same routing logic and the same steps as text, and linked to the interactive versions.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Two deadlines, two completely different stories
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;You are on&lt;/th&gt;
&lt;th&gt;Had checkout.liquid?&lt;/th&gt;
&lt;th&gt;Thank you / Order status deadline&lt;/th&gt;
&lt;th&gt;Status as of July 2026&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shopify Plus&lt;/td&gt;
&lt;td&gt;Yes — it was a Plus-only file&lt;/td&gt;
&lt;td&gt;August 28, 2025&lt;/td&gt;
&lt;td&gt;Passed. Automatic upgrades began January 2026; customizations were lost.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Basic, Grow, or Advanced&lt;/td&gt;
&lt;td&gt;No — never had access&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;August 26, 2026&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Still ahead. Additional scripts and script-tag apps keep working until then.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No checkout customization at all&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;Auto-upgrade only&lt;/td&gt;
&lt;td&gt;Likely fine either way — confirm in the admin and move on.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Sources: &lt;a href="https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/upgrade-thank-you-order-status/plus-upgrade-guide" rel="noopener noreferrer"&gt;Shopify Help Center — Plus upgrade guide&lt;/a&gt; and &lt;a href="https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/upgrade-thank-you-order-status/upgrade-guide" rel="noopener noreferrer"&gt;upgrade guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The detail most write-ups get wrong
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;checkout.liquid&lt;/code&gt; was &lt;strong&gt;only ever available to Shopify Plus stores.&lt;/strong&gt; Shopify's own theme docs put it plainly: &lt;a href="https://shopify.dev/docs/storefronts/themes/architecture/layouts/checkout-liquid" rel="noopener noreferrer"&gt;"If your store isn't on Shopify Plus, then you can customize your checkout pages in the theme editor."&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So if your client is on Basic, Grow, or Advanced, they are not "migrating off checkout.liquid." They never had it. Their exposure is somewhere else entirely: the &lt;strong&gt;additional scripts&lt;/strong&gt; field and any installed app that injects &lt;strong&gt;script tags&lt;/strong&gt; on the Thank you and Order status pages. That is the inventory to audit — not a theme file that was never in the repo.&lt;/p&gt;

&lt;p&gt;This matters practically, because if you go looking for &lt;code&gt;checkout.liquid&lt;/code&gt; in a non-Plus store's theme, find nothing, and conclude the store is unaffected, you have just cleared a store that is fully affected.&lt;/p&gt;

&lt;h2&gt;
  
  
  The actual timeline, with the official post for each event
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;What happened&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Feb 13, 2023&lt;/td&gt;
&lt;td&gt;Checkout extensibility launches for Plus on the Information, Shipping, and Payment pages.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;May 21, 2024&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://shopify.dev/changelog/new-checkout-functionality-for-merchants-on-basic-shopify-and-advanced-plans" rel="noopener noreferrer"&gt;UI extensions and web pixels on Thank you / Order status open to Basic, Shopify, and Advanced plans&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aug 13, 2024&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://shopify.dev/changelog/checkout-liquid-will-no-longer-work-for-in-checkout-pages-starting-august-13-2024" rel="noopener noreferrer"&gt;checkout.liquid stops working for in-checkout pages&lt;/a&gt; — Information, Shipping, Payment — for any store.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aug 28, 2025&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Plus deadline: checkout.liquid, additional scripts, and script tags sunset for Thank you and Order status.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jan 2026&lt;/td&gt;
&lt;td&gt;Plus stores auto-upgraded; customizations using additional scripts, script-tag apps, or checkout.liquid on those two pages are lost.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apr–Jun 2026&lt;/td&gt;
&lt;td&gt;Separate track: &lt;a href="https://shopify.dev/changelog/shopify-scripts-will-be-deprecated-on-june-30-2026" rel="noopener noreferrer"&gt;Shopify Scripts&lt;/a&gt; — editing ended April 15, 2026, and all Scripts ceased to execute on June 30, 2026. Both dates are behind us.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aug 26, 2026&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Non-Plus deadline for Thank you and Order status.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two of these are worth flagging for anyone doing client work right now. First, the in-checkout steps have been off &lt;code&gt;checkout.liquid&lt;/code&gt; since &lt;strong&gt;August 2024&lt;/strong&gt; — that is two years of "unsupported," not a pending change. Second, Shopify Scripts is a genuinely separate sunset that already fired on June 30, 2026; if a store's discount or shipping logic went strange this summer, that is a different rabbit hole (we cover it in a &lt;a href="https://shopify.ecom-store.pro/blog/shopify-scripts-to-functions-migration/" rel="noopener noreferrer"&gt;separate Scripts-to-Functions guide&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  What "breaks" actually means
&lt;/h2&gt;

&lt;p&gt;For the three in-checkout steps, breakage is total and already historical: &lt;code&gt;checkout.liquid&lt;/code&gt; is, in Shopify's present-tense wording, &lt;a href="https://shopify.dev/docs/storefronts/themes/architecture/layouts/checkout-liquid" rel="noopener noreferrer"&gt;"now unsupported for the Information, Shipping, and Payment checkout steps."&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the post-checkout pages the failure is quieter and, for a developer inheriting a store, much nastier. On a legacy checkout the additional scripts field goes &lt;strong&gt;read-only&lt;/strong&gt; — visible, populated, apparently fine. Then at the deadline the scripts in it simply stop firing. As one agency writing about the 2026 migration describes it: "every script in that field stops firing. No warning popup, no gradual sunset."&lt;/p&gt;

&lt;p&gt;Shopify's own help page is the formal version of the same thing: &lt;a href="https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/upgrade-thank-you-order-status/additional-scripts" rel="noopener noreferrer"&gt;"Additional scripts for tracking and analytics and page customizations aren't supported on the new Thank you and Order status pages."&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The part that costs real money: analytics
&lt;/h3&gt;

&lt;p&gt;This is where the silent failure turns expensive. Tracking that lived in additional scripts stops the moment a shopper enters the new checkout — middle-funnel events like &lt;code&gt;begin_checkout&lt;/code&gt; and &lt;code&gt;add_payment_info&lt;/code&gt; disappear from the stream. And because Shopify stopped passing personally identifiable data (email, phone, name) to legacy tracking scripts, platforms like Meta lose the fields they used to match conversions on.&lt;/p&gt;

&lt;p&gt;One analytics team that audits these migrations (QE Retail) reports that the gap between Shopify's order counts and ad-platform-reported conversions can hit 30% or higher, and estimates that high-volume stores lose 15% to 20% of revenue into that reporting gap. Treat that as one team's findings rather than an industry benchmark — but the direction is not really in dispute, and the diagnostic signature is distinctive: orders in the admin look normal, the ad platforms report fewer and fewer of them.&lt;/p&gt;

&lt;p&gt;The replacement channel is the &lt;a href="https://shopify.dev/docs/api/web-pixels-api" rel="noopener noreferrer"&gt;Web Pixels API&lt;/a&gt;, which Shopify describes as giving "access to a set of controlled APIs for accessing browser APIs and subscribing to customer events, within one of our Lax or Strict sandboxes." If you are rewiring GTM, GA4, and ad pixels the new way, that rewrite is its own project — we walk it end to end in the &lt;a href="https://shopify.ecom-store.pro/blog/google-tag-manager-shopify/" rel="noopener noreferrer"&gt;Google Tag Manager on Shopify guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The replacement stack: five tools, not one
&lt;/h2&gt;

&lt;p&gt;There is no single successor to &lt;code&gt;checkout.liquid&lt;/code&gt;. There is a toolkit, and picking the wrong piece is the most common scoping mistake:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Checkout UI extensions&lt;/strong&gt; — fields, banners, messaging, and content on checkout and post-checkout pages, running in an isolated sandbox instead of your theme.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopify Functions&lt;/strong&gt; — back-end logic for discounts, shipping, payment, and validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Pixels API&lt;/strong&gt; — the sandboxed replacement for tracking scripts; subscribes to customer events.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post-purchase extensions&lt;/strong&gt; — &lt;a href="https://shopify.dev/docs/api/checkout-extensions" rel="noopener noreferrer"&gt;new UI and functionality on the post-purchase page&lt;/a&gt;, the offer screen shown immediately after payment and before the Thank you page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thank you and Order status extensions&lt;/strong&gt; — the two post-checkout pages non-Plus stores are migrating right now.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Branding — colors, fonts, logos — is configured in the checkout editor. There is no separately named branding-API product to buy, and the URL commonly cited for one returns a 404.&lt;/p&gt;

&lt;h3&gt;
  
  
  The plan gate, precisely
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Surface / tool&lt;/th&gt;
&lt;th&gt;Plan needed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;UI extensions — Information, Shipping, Payment&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.dev/docs/api/checkout-ui-extensions/latest" rel="noopener noreferrer"&gt;Shopify Plus only&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI extensions — Thank you &amp;amp; Order status&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.dev/docs/api/checkout-extensions" rel="noopener noreferrer"&gt;All plans except Shopify Starter&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web pixels&lt;/td&gt;
&lt;td&gt;All plans (opened to non-Plus on May 21, 2024)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Functions apps distributed via the App Store&lt;/td&gt;
&lt;td&gt;All plans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom apps containing Shopify Function APIs&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.dev/docs/apps/build/checkout" rel="noopener noreferrer"&gt;Shopify Plus only&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That last row catches people. Shopify's wording: "Apps that are distributed via the Shopify App Store and contain Functions can be used in all Shopify plans, but custom apps that include Shopify Function APIs can only be used by shops with a Shopify Plus plan." A custom Function you build for a Basic-plan client is not a scoping detail you want to discover in week three.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hard limits worth knowing before you estimate
&lt;/h2&gt;

&lt;p&gt;These are platform boundaries, not best practices. From the &lt;a href="https://shopify.dev/docs/api/checkout-ui-extensions/latest" rel="noopener noreferrer"&gt;checkout UI extensions docs&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;64 KB.&lt;/strong&gt; "Your compiled UI extension bundle can't exceed 64 KB." This is the constraint that quietly kills do-everything widgets, and it is worth checking your bundle size on day one rather than day twenty.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Isolated sandbox.&lt;/strong&gt; Extensions "run in an isolated sandbox, separate from the checkout page and other UI extensions" — they cannot talk to each other.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No payment or page access.&lt;/strong&gt; They "don't have access to sensitive payment information or the checkout page itself."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read-only metafields on Thank you.&lt;/strong&gt; Extensions there "can read metafields through the Metafields API, but don't have write access."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rate limiting.&lt;/strong&gt; "After an extension is rate limited, it can't make further changes during the buyer's session."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a vendor or a plan promises something on the far side of one of those lines, that is the moment to ask how.&lt;/p&gt;

&lt;h2&gt;
  
  
  The order of operations
&lt;/h2&gt;

&lt;p&gt;The canonical article runs this as a tickable checklist; here it is as a sequence. Steps 1–3 are identical whichever route you take, the split is inside step 4, and the rest applies to everyone.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Find the store's actual status.&lt;/strong&gt; Admin → &lt;strong&gt;Settings → Checkout → Configurations&lt;/strong&gt;, then run the upgrade report. Non-Plus stores that haven't migrated also see an admin banner reading "Upgrade Thank you and Order status pages by August 26, 2026." Do this before you promise anyone anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inventory what the checkout and Thank-you page actually do.&lt;/strong&gt; Every custom field, banner, shipping or discount rule, every entry in additional scripts, and every installed app that relies on script tags. The apps are the part clients forget.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route the work.&lt;/strong&gt; Roughly: if the store only has tracking scripts and no real customization, this is a pixels job and little else. If it has content-level customization — banners, upsells, trust content, order-tracking widgets — the no-code checkout editor plus one app usually covers it. If it has store-specific logic that a settings toggle can't express, that is a UI extension or a Function, i.e. a build.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build somewhere that isn't production.&lt;/strong&gt; Two routes:

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;No-code:&lt;/em&gt; build in a draft configuration. &lt;a href="https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/active-and-draft-checkouts" rel="noopener noreferrer"&gt;"Draft configurations let you try different apps and branding before you make them active."&lt;/a&gt; Only one configuration is active on real traffic at a time, and publishing a draft replaces the current active one — so the live checkout stays untouched while you assemble.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Custom:&lt;/em&gt; preview on a dev store. "To run your extension locally during development, start a dev server using Shopify CLI. The &lt;code&gt;dev&lt;/code&gt; command creates a preview of your extension on your chosen dev store."&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test before publishing.&lt;/strong&gt; The &lt;a href="https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/checkout-editor" rel="noopener noreferrer"&gt;checkout and accounts editor&lt;/a&gt; "uses a simulated checkout environment. You can't place orders in this editor, and some checkout and order actions like Pay Now and Buy Again are deactivated." For custom extensions there are two extra steps from the &lt;a href="https://shopify.dev/docs/apps/build/checkout/test-checkout-ui-extensions" rel="noopener noreferrer"&gt;testing docs&lt;/a&gt;: preview a block extension in each supported placement by appending &lt;code&gt;?placement-reference={name}&lt;/code&gt; to the checkout URL, and to test against Shop Pay, activate Shopify Payments on the dev store and enable test mode, then "create a guest checkout using a test card for the payment method. Use an email that doesn't have a Shop Pay Account attributed to it."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restore tracking on Web Pixels and customer events.&lt;/strong&gt; Then actually verify: fire test events, and compare order counts against ad-platform conversions rather than assuming parity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publish and re-check.&lt;/strong&gt; Publish the draft, re-run the upgrade report, confirm the legacy banner is gone.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One deployment gotcha that bites teams shipping their first extension: "Checkout UI extensions don't display in checkout until the merchant uses the checkout editor to add the app and place it in checkout." Deploying is not shipping. Somebody has to place the block.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-checkout-extensibility/#checklist" rel="noopener noreferrer"&gt;The interactive checklist lives on the canonical article&lt;/a&gt;, and &lt;a href="https://shopify.ecom-store.pro/blog/shopify-checkout-extensibility/#quiz" rel="noopener noreferrer"&gt;the five-question routing quiz is here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs, honestly
&lt;/h2&gt;

&lt;p&gt;There is no market rate for this and the published data is thin. One migration guide estimates the no-code checkout editor covers about 80% of former &lt;code&gt;checkout.liquid&lt;/code&gt; use cases, and puts a developer at roughly 2–3 days to rebuild a typical customization as a UI extension. One agency (Speedboostr) publishes about $5,000–$10,000 and 2–4 weeks for a simple migration, and over $50,000 and 8–16 weeks for complex builds; another (WeArePresta) puts senior developer and architect rates at $150–$300 an hour.&lt;/p&gt;

&lt;p&gt;Every one of those numbers comes from a single source. Use them for orientation, never as a benchmark you quote back to a client. The reliable part is the shape of the decision: an app subscription, a scoped build, or accepting the standard checkout. Most stores are in the first bucket and are being quoted for the second.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Shopify says it did this
&lt;/h2&gt;

&lt;p&gt;It is worth reading the platform's own framing, because it explains the constraints rather than just imposing them. Shopify called checkout extensibility &lt;a href="https://changelog.shopify.com/posts/the-checkout-liquid-theme-file-is-being-deprecated" rel="noopener noreferrer"&gt;"an easier way to customize Shopify Checkout in a way that's app-based, upgrade-safe, higher-converting, and integrated with Shop Pay."&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The trade is legible: you lose arbitrary code in the checkout, and in exchange checkout updates stop breaking your work, because your code no longer lives in the path the platform is updating. The 64 KB cap and the sandbox isolation are the price of that guarantee, not arbitrary cruelty.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;If you maintain non-Plus Shopify stores, do one thing this week: open &lt;strong&gt;Settings → Checkout → Configurations&lt;/strong&gt; on each of them, run the upgrade report, and write down which ones still show the legacy banner. That is a ten-minute task per store and it converts an invisible deadline into a list.&lt;/p&gt;

&lt;p&gt;Then work the list in the order above. Tracking first, because that is what costs money and nobody notices it dying. Content customizations second, because the no-code editor and an app cover most of them. Real logic last, because that is the only part that needs a build — and the only part where four weeks is a genuinely tight timeline.&lt;/p&gt;

&lt;p&gt;The thing that burns people is not the deadline. It is that nothing announces itself when it passes.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-checkout-extensibility/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;, where the article includes an interactive migration checklist, a five-question routing quiz, and the full deadline timeline with sources.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article was created with the help of AI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>ecommerce</category>
    </item>
    <item>
      <title>What a Shopify Expert Costs: Rates by Task, and When You Don't Need One</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Sun, 26 Jul 2026 13:01:28 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/what-a-shopify-expert-costs-rates-by-task-and-when-you-dont-need-one-3h74</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/what-a-shopify-expert-costs-rates-by-task-and-when-you-dont-need-one-3h74</guid>
      <description>&lt;p&gt;Two very different developers end up searching for the same number. One is a freelancer trying to work out whether $45 an hour for Shopify work is underselling or overreaching. The other is the technical person in the room when someone asks, "what should this theme change cost us?" — and has to answer without a benchmark. Both are looking for a published Shopify rate, and both are about to find out that Shopify does not publish one.&lt;/p&gt;

&lt;p&gt;What does exist is a spread of third-party figures: Upwork's tier rates, Clutch's agency and regional bands, Shopify's own blog benchmark for freelance design work, and the fixed prices that managed marketplaces put on their pricing pages. Put together, they cover the range from $15 an hour to $199 an hour, and they let you sanity-check a quote from either side of the invoice. This piece pulls those numbers together, prices the common tasks, and — importantly for anyone who bills by the hour — shows which work has a published price and which is genuinely "quote it hourly."&lt;/p&gt;

&lt;p&gt;One format note: the canonical version of this article carries an interactive budget calculator, a decision quiz, and two charts, none of which survive a plain markdown feed. Where they appear below, I have written out the same logic and the same data in text (including the calculator's formula as code), and linked to the interactive version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Published rates span $15 to $199 an hour&lt;/strong&gt; — from Upwork's beginner tier to top Shopify agencies listed on Clutch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Region moves the rate 4–6×.&lt;/strong&gt; The same work runs $100–$149 an hour in the US and under $25 in India, per Clutch's regional data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Shopify Expert" is a legacy label.&lt;/strong&gt; Shopify sunset the Experts Marketplace in December 2023; the live product is the Partner Directory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Price by task, not by title.&lt;/strong&gt; Theme edits start near $475; migrations, custom apps, and integrations are quoted hourly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopify publishes no official Expert rate.&lt;/strong&gt; You budget from real quotes benchmarked against third-party numbers, never a directory average.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sometimes the right answer is "don't hire."&lt;/strong&gt; A fix the theme editor or an app already handles rarely pays back a developer's day rate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  "Shopify Expert" is a name that no longer exists
&lt;/h2&gt;

&lt;p&gt;Get the vocabulary straight before you price anything, because it decides where you look. Per Shopify's own partner docs, &lt;a href="https://help.shopify.com/en/partners/partner-program/about" rel="noopener noreferrer"&gt;the Shopify Experts brand and corresponding Shopify Experts Marketplace was previously sunset in December 2023&lt;/a&gt;. The old &lt;code&gt;experts.shopify.com&lt;/code&gt; address now redirects to the &lt;a href="https://help.shopify.com/en/manual/partner-directory" rel="noopener noreferrer"&gt;Shopify Partner Directory&lt;/a&gt; — "a curated list of Shopify Partners." The people are still there; the storefront around them changed. Half the "Shopify Expert cost" guides online still link to a marketplace that is gone, which is a decent proxy for how carefully they checked their numbers.&lt;/p&gt;

&lt;p&gt;Shopify frames the value of hiring one this way:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Experts can also help established businesses, by taking care of the tasks that there just aren't enough hours in the day to tackle yourself. You can find a wide range of services fit for every budget."&lt;/p&gt;

&lt;p&gt;— Shopify, &lt;a href="https://www.shopify.com/blog/shopify-experts-marketplace" rel="noopener noreferrer"&gt;Shopify Experts Marketplace&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The directory groups partner work into six service categories. If you are writing a brief, the category you name largely decides whether you get a designer, a developer, or a strategist:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;What it covers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Marketing and sales&lt;/td&gt;
&lt;td&gt;Email, SEO, SEM, social, conversion-rate optimization, analytics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Store setup and management&lt;/td&gt;
&lt;td&gt;Builds and redesigns, migration, product setup, theme customization, audits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Development and troubleshooting&lt;/td&gt;
&lt;td&gt;Custom apps, integrations, and fixing what breaks under the hood&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Visual content and branding&lt;/td&gt;
&lt;td&gt;Logos, banners, video, product photography, 3D&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expert guidance&lt;/td&gt;
&lt;td&gt;Business strategy, sourcing, tax, going international&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Content writing&lt;/td&gt;
&lt;td&gt;Product descriptions, website copy, marketing content&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Source: &lt;a href="https://www.shopify.com/partners/directory/services" rel="noopener noreferrer"&gt;Shopify Partner Directory — services&lt;/a&gt; (verified July 2026).&lt;/p&gt;

&lt;p&gt;If you are still deciding what kind of help a project needs at all — developer, agency, or DIY — the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-development-guide/" rel="noopener noreferrer"&gt;Shopify development guide&lt;/a&gt; maps every route in about a minute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Partner, freelancer, or agency
&lt;/h2&gt;

&lt;p&gt;"Expert," "developer," and "agency" describe how you buy help, not how good it is. Three routes, three pricing shapes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Who&lt;/th&gt;
&lt;th&gt;How they're priced&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shopify Partner (Directory)&lt;/td&gt;
&lt;td&gt;No published rate — you request a quote&lt;/td&gt;
&lt;td&gt;Vetted, Shopify-specific work across setup, design, dev, and marketing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Freelance developer&lt;/td&gt;
&lt;td&gt;$15–$29/hr typical on Upwork&lt;/td&gt;
&lt;td&gt;A specific, well-scoped task at the lowest price&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;td&gt;$50–$199/hr; minimums from $1,000&lt;/td&gt;
&lt;td&gt;Strategy, integrations, and brand-critical builds with a team&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The boundary is scope, not seniority. Once you have decided you need a person rather than an app, the harder questions are the hiring process itself and whether the investment pays back — both covered in the guide to &lt;a href="https://shopify.ecom-store.pro/blog/hire-shopify-developer/" rel="noopener noreferrer"&gt;when and how to hire a Shopify developer&lt;/a&gt;. And if the task is bespoke functionality rather than configuration, the overview of &lt;a href="https://shopify.ecom-store.pro/blog/custom-shopify-development/" rel="noopener noreferrer"&gt;custom Shopify development&lt;/a&gt; maps the project types and the stack — useful for telling a $475 theme edit from a five-figure build before anyone quotes it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rates, by region and by platform
&lt;/h2&gt;

&lt;p&gt;There is no single "Shopify expert rate," and Shopify publishes none. What you can do is triangulate from the rates that platforms and directories do publish. Two variables dominate: where the person sits, and where you hire them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Region is the biggest lever
&lt;/h3&gt;

&lt;p&gt;The single largest swing on an hourly rate is not seniority — it is geography. The same brief comes back four to six times apart:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Region&lt;/th&gt;
&lt;th&gt;Hourly rate (USD)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;United States&lt;/td&gt;
&lt;td&gt;$100–$149&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Poland&lt;/td&gt;
&lt;td&gt;$50–$99&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ukraine&lt;/td&gt;
&lt;td&gt;$25–$49&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Philippines&lt;/td&gt;
&lt;td&gt;$25–$49&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;India&lt;/td&gt;
&lt;td&gt;Under $25&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are Clutch's general web/ecommerce development rates by region — regional orientation for Shopify work, not Shopify-specific figures. Source: &lt;a href="https://clutch.co/web-developers/pricing" rel="noopener noreferrer"&gt;Clutch web development pricing&lt;/a&gt; (verified July 2026).&lt;/p&gt;

&lt;p&gt;Cheaper is not automatically better value. A lower regional rate can be a genuine bargain or a false economy, depending on communication, time-zone overlap, and portfolio quality. A slow, cheap build that misses the brief costs more than a right-sized one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rates by platform
&lt;/h3&gt;

&lt;p&gt;Where you hire sets the rate as much as who you hire. On Upwork, the median Shopify developer bills &lt;strong&gt;$20 an hour, with most between $15 and $29&lt;/strong&gt;, rising to &lt;strong&gt;$95&lt;/strong&gt; for the Expert tier. Shopify's own blog puts a freelance web designer at &lt;a href="https://www.shopify.com/blog/outsource-website-design" rel="noopener noreferrer"&gt;$20 to $100 an hour, with whole projects at $500 to $10,000&lt;/a&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Where you hire&lt;/th&gt;
&lt;th&gt;Published rate&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.upwork.com/hire/shopify-developers/cost/" rel="noopener noreferrer"&gt;Upwork&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;$15 / $33 / $95 per hour by tier&lt;/td&gt;
&lt;td&gt;Median $20; most fall $15–$29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Freelance designer (Shopify benchmark)&lt;/td&gt;
&lt;td&gt;$20–$100/hr&lt;/td&gt;
&lt;td&gt;Whole projects usually $500–$10,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.storetasker.com/pricing" rel="noopener noreferrer"&gt;Storetasker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Projects from $400; Theme Edits from $475&lt;/td&gt;
&lt;td&gt;Repeat dev work $150–$2,500 each&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://clutch.co/us/developers/shopify" rel="noopener noreferrer"&gt;Clutch Shopify agencies&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;$50–$199/hr&lt;/td&gt;
&lt;td&gt;Project minimums from $1,000 to $25,000 or more&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://www.heycarson.com/pricing" rel="noopener noreferrer"&gt;HeyCarson&lt;/a&gt; (rebranding to shopexperts)&lt;/td&gt;
&lt;td&gt;$110/hr for pay-per-project work&lt;/td&gt;
&lt;td&gt;No minimum or maximum project size&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Rates as published by each platform and Shopify's blog benchmark, verified July 2026. Marketplace figures are observed and may drift.&lt;/p&gt;

&lt;h3&gt;
  
  
  If you are the one being hired
&lt;/h3&gt;

&lt;p&gt;Read that table in the other direction and it is a rate ladder. Upwork's three tiers — $15, $33, $95 — are the clearest published statement of what experience is worth on an open marketplace, and the gap between "intermediate" and "expert" there is roughly 3×, which is a bigger jump than most freelancers give themselves credit for. Managed marketplaces sit between open bidding and the directory: they set the price for you ($110 an hour at HeyCarson, fixed project prices at Storetasker) and hand you scoped work. The Partner Directory is the slowest but highest-trust route — partners there are curated, with tiers (Select, Plus, Premier, Platinum) reflecting track record on Shopify, and they quote clients directly. If that path interests you, the &lt;a href="https://shopify.ecom-store.pro/blog/become-a-shopify-expert/" rel="noopener noreferrer"&gt;realistic route to becoming a Shopify expert&lt;/a&gt; covers the Partner Program, how partners earn, and the directory criteria.&lt;/p&gt;

&lt;h2&gt;
  
  
  What common tasks actually cost
&lt;/h2&gt;

&lt;p&gt;Rates tell you the hourly number; this tells you the bill. Below are the tasks with published prices — and the ones that have no fixed price and must be quoted by the hour. I am not inventing ranges for those.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Typical price&lt;/th&gt;
&lt;th&gt;What moves it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Theme edits / customization&lt;/td&gt;
&lt;td&gt;From $475&lt;/td&gt;
&lt;td&gt;Number of sections and design complexity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small, well-defined task&lt;/td&gt;
&lt;td&gt;From $400&lt;/td&gt;
&lt;td&gt;Scope and how urgent it is&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ongoing / repeat dev work&lt;/td&gt;
&lt;td&gt;$150–$2,500 each&lt;/td&gt;
&lt;td&gt;Recurring scope; retainer or per project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Whole-store design (freelancer)&lt;/td&gt;
&lt;td&gt;$500–$10,000&lt;/td&gt;
&lt;td&gt;Template setup vs custom design&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Whole-store build (agency)&lt;/td&gt;
&lt;td&gt;$3,000–$75,000&lt;/td&gt;
&lt;td&gt;Team, integrations, migration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom development / build&lt;/td&gt;
&lt;td&gt;$2,000–$20,000+&lt;/td&gt;
&lt;td&gt;Complexity and one-off edge cases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Migration, custom app, or integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Quoted hourly&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hours × rate — no published price exists&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Storetasker and Shopify published figures, verified July 2026.&lt;/p&gt;

&lt;p&gt;For the work that is quoted rather than listed, here is the worked example the original article uses throughout. &lt;strong&gt;Assume&lt;/strong&gt; a mid-size theme customization takes 12 hours — an explicit assumption, since Shopify publishes no task-hour standard. Price those same 12 hours at each published Upwork tier:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Upwork tier&lt;/th&gt;
&lt;th&gt;Rate&lt;/th&gt;
&lt;th&gt;12-hour task&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Beginner&lt;/td&gt;
&lt;td&gt;$15/hr&lt;/td&gt;
&lt;td&gt;$180&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intermediate&lt;/td&gt;
&lt;td&gt;$33/hr&lt;/td&gt;
&lt;td&gt;$396&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expert&lt;/td&gt;
&lt;td&gt;$95/hr&lt;/td&gt;
&lt;td&gt;$1,140&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Same scope, same hours, a 6.3× spread. Which is the entire argument for pinning down hours in writing before you argue about the rate.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The original renders this as an interactive chart. &lt;a href="https://shopify.ecom-store.pro/blog/shopify-expert-cost/" rel="noopener noreferrer"&gt;See the chart on the canonical article.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The five-question version of "do I even need to pay?"
&lt;/h2&gt;

&lt;p&gt;The canonical post runs this as an interactive quiz. Here is the same logic, self-scored. Answer five questions, add up the points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;What needs doing?&lt;/strong&gt; Quick fix or content edit I could probably do myself (0) · Theme customization or design refresh (2) · Custom features, integrations, or a migration (3) · A full custom or headless build (3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Have you checked whether an app or the theme editor can do it?&lt;/strong&gt; Not yet (0) · An app half-solves it, but not cleanly (2) · Yes, nothing off-the-shelf covers it (3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget for this project?&lt;/strong&gt; Under $500 (0) · $500–$3,000 (2) · $3,000 or more (3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How much of your own time can you put in?&lt;/strong&gt; Plenty, I would rather learn and DIY (0) · Some, but this is not the best use of it (2) · None, I need it off my plate (3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How business-critical is it?&lt;/strong&gt; Nice to have (0) · Important, it affects conversion or operations (2) · Critical, it is blocking revenue (3)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;11–15 — hire a partner or agency.&lt;/strong&gt; The project is complex, time-sensitive, or business-critical enough to justify vetted paid help. Start in the &lt;a href="https://www.shopify.com/partners/directory" rel="noopener noreferrer"&gt;Shopify Partner Directory&lt;/a&gt;, send the same written brief to two or three partners, and compare quotes on identical scope.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7–10 — a freelance developer for a focused task.&lt;/strong&gt; You need more than the editor but not a full agency: a custom section, a theme edit, a small integration. Under $500, keep the job tiny — Storetasker lists Theme Edits from $475 with a four-day turnaround, which is about the ceiling of that budget. In the $500–$3,000 band you are in the freelancer sweet spot, where the 12-hour, $1,140 example lives and where Storetasker's repeat projects ($150–$2,500) sit. Above $3,000 you are near the line between a task and a build — Shopify benchmarks freelancer projects at $500 to $10,000, so if it is really a whole-store project, brief a directory partner too and compare.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Under 7 — you probably should not pay yet.&lt;/strong&gt; Small task, tight budget, time to learn. Try the theme editor, then the &lt;a href="https://apps.shopify.com" rel="noopener noreferrer"&gt;Shopify App Store&lt;/a&gt;. Come back for paid help when a specific limit starts costing sales.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hourly, fixed, or retainer
&lt;/h2&gt;

&lt;p&gt;The same person at the same rate can cost wildly different amounts depending on how the deal is structured. Three models cover almost everything:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;How it bills&lt;/th&gt;
&lt;th&gt;Best when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hourly&lt;/td&gt;
&lt;td&gt;Time logged at an agreed rate&lt;/td&gt;
&lt;td&gt;Scope is unclear or the work is exploratory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fixed-price&lt;/td&gt;
&lt;td&gt;One quoted price for a defined deliverable&lt;/td&gt;
&lt;td&gt;The scope is written down and will not move&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retainer&lt;/td&gt;
&lt;td&gt;A recurring monthly fee for ongoing capacity&lt;/td&gt;
&lt;td&gt;You need continuous fixes and improvements&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The trap is a &lt;strong&gt;fixed price on a vague brief&lt;/strong&gt;. The developer either pads the number to cover unknowns or cuts corners when the work runs long, and both outcomes are bad for both sides. If the deliverable cannot be defined precisely, bill hourly and cap the hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  The six things that move a quote
&lt;/h2&gt;

&lt;p&gt;When two quotes for "a Shopify store" differ wildly, it is usually one of these doing the work. Read it as a checklist — each is a place you can add cost or take it out before anyone quotes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Custom design.&lt;/strong&gt; Configuring a theme is cheap; designing a bespoke storefront from scratch is the single biggest driver of a quote.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations and apps.&lt;/strong&gt; An off-the-shelf app is cheap. A custom integration between Shopify and an ERP, POS, or legacy back office is one-off engineering — and where quotes climb.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data migration.&lt;/strong&gt; Porting products, customers, orders, and SEO redirects from another platform is a project in its own right, and the line most people forget to budget.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope clarity.&lt;/strong&gt; A vague brief inflates every quote, because the developer prices the risk of the unknown. A written scope is the cheapest thing you can bring to the conversation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Region and seniority.&lt;/strong&gt; The same task can be priced 4–6× apart depending on where the person sits and how senior they are.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Urgency.&lt;/strong&gt; A rush job competes with an existing pipeline. Compressed timelines carry a premium; a flexible deadline is a bargaining chip.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The budget math, in code
&lt;/h2&gt;

&lt;p&gt;The interactive calculator on the canonical post is deliberately boring arithmetic — its value is that every rate is a published figure, so the estimate cannot drift into invented numbers. The whole model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Published rates only (USD/hour), verified July 2026.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;RATES&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;upworkBeginner&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;      &lt;span class="c1"&gt;// upwork.com/hire/shopify-developers/cost&lt;/span&gt;
  &lt;span class="na"&gt;upworkIntermediate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;// upwork.com/hire/shopify-developers/cost&lt;/span&gt;
  &lt;span class="na"&gt;upworkExpert&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;95&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;        &lt;span class="c1"&gt;// upwork.com/hire/shopify-developers/cost&lt;/span&gt;
  &lt;span class="na"&gt;freelanceLow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;        &lt;span class="c1"&gt;// shopify.com/blog/outsource-website-design&lt;/span&gt;
  &lt;span class="na"&gt;freelanceHigh&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;      &lt;span class="c1"&gt;// shopify.com/blog/outsource-website-design&lt;/span&gt;
  &lt;span class="na"&gt;agencyLow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;           &lt;span class="c1"&gt;// clutch.co/us/developers/shopify&lt;/span&gt;
  &lt;span class="na"&gt;agencyHigh&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;199&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;         &lt;span class="c1"&gt;// clutch.co/us/developers/shopify&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// Shopify's published freelance-project band, used as a reasonableness check.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;BAND&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;min&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;max&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10000&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;estimate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;tier&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Hours are YOUR assumption - Shopify publishes no task-hour standard.&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;RATES&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;tier&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
    &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;BAND&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;min&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;below&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;BAND&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;max&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;above&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;in&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;rate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;RATES&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;tier&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;estimate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;upworkExpert&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// { hours: 12, rate: 95, total: 1140, status: 'in' }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three things worth stealing from that model even if you never use the tool. The clamp on hours stops silent extrapolation. The band check tells you which conversation you are in: below $500 is a small defined task (Storetasker's Theme Edits, for reference, start at $475), inside the band is normal freelance-project territory, above $10,000 is agency-scale work where you should expect a project minimum. And the output is labor only — no app subscriptions, paid themes, ongoing maintenance, or agency minimums.&lt;/p&gt;

&lt;p&gt;Use it in one direction only: ask the developer for their hours estimate in writing, plug it in, and treat the gap between your number and their quote as the conversation to have.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-expert-cost/" rel="noopener noreferrer"&gt;Try the interactive calculator on the canonical article.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding someone, and reading the quote
&lt;/h2&gt;

&lt;p&gt;Start with the &lt;a href="https://www.shopify.com/partners/directory" rel="noopener noreferrer"&gt;Shopify Partner Directory&lt;/a&gt; for vetted, Shopify-specific help, and use marketplaces like Upwork or Storetasker when you want public rates and reviews on a smaller task. The directory's own flow is a decent model for the whole process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Browse.&lt;/strong&gt; Filter by service, industry, budget, and location.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate.&lt;/strong&gt; Check reviews, work samples, and certifications. Partner tiers — Select, Plus, Premier, Platinum — reflect track record on Shopify.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contact and collaborate.&lt;/strong&gt; Reach out directly, share the brief, set your own project terms. Contacting a partner is not a commitment to hire.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The difference between a fair quote and an inflated one is almost always the brief. Shopify's guidance is blunt about it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Define your budget, timeline, and expected outcomes in detail to allow the Partner to provide an accurate quote."&lt;/p&gt;

&lt;p&gt;— Shopify Help Center, &lt;a href="https://help.shopify.com/en/manual/partner-directory/hiring-help" rel="noopener noreferrer"&gt;Hiring help from a Partner&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In practice that is about ten minutes of writing. A template that gets comparable quotes back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Store: &amp;lt;URL, platform, theme, roughly how many SKUs&amp;gt;
Problem: &amp;lt;what is broken or missing, in one sentence&amp;gt;
Deliverable: &amp;lt;what "done" looks like, concretely&amp;gt;
Out of scope: &amp;lt;what you are NOT asking for&amp;gt;
Constraints: &amp;lt;apps/integrations it must not break, deadline&amp;gt;
Budget range: &amp;lt;a real number, not "competitive"&amp;gt;
Deliverables format: &amp;lt;PR to a branch? theme package? staging store?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Send that same text to two or three people. Identical inputs give comparable quotes, and the outlier usually tells you who actually understood the job.&lt;/p&gt;

&lt;p&gt;Two practical points people miss. First, partners bill you directly — those charges never appear on your Shopify invoice, so treat the engagement like any other vendor contract. Second, a first conversation is not a commitment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quote red flags:&lt;/strong&gt; no line-item breakdown (a lump sum hides what you are paying for); an open-ended scope; pressure to pay 100% upfront when staged milestone payments protect both sides; a rate far outside regional norms with no explanation.&lt;/p&gt;

&lt;h2&gt;
  
  
  When not to hire at all
&lt;/h2&gt;

&lt;p&gt;The most honest budgeting advice is sometimes "don't." Plenty of work people assume needs an expert is built into Shopify or solved by a cheap app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do it yourself when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The theme editor already does what you need&lt;/li&gt;
&lt;li&gt;A low monthly app covers the feature&lt;/li&gt;
&lt;li&gt;It is a content edit or swap you can learn in an afternoon&lt;/li&gt;
&lt;li&gt;The budget is tight and the task is not urgent&lt;/li&gt;
&lt;li&gt;You are pre-launch with a small catalog&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hire when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need bespoke design the editor cannot produce&lt;/li&gt;
&lt;li&gt;A custom integration or migration is involved&lt;/li&gt;
&lt;li&gt;Performance problems are hurting conversion&lt;/li&gt;
&lt;li&gt;The work is business-critical and time-sensitive&lt;/li&gt;
&lt;li&gt;The revenue at stake clearly outweighs the quote&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before briefing anyone, check the &lt;a href="https://apps.shopify.com" rel="noopener noreferrer"&gt;Shopify App Store&lt;/a&gt; — a $20-a-month app almost always beats a $2,000 build for standard features like reviews, subscriptions, or email. Reserve custom budgets for the genuinely custom.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;"How much does a Shopify expert cost?" has no single answer because you are not buying one thing. A theme edit starts near $475. That 12-hour customization at the Expert rate is about $1,140. A whole agency build runs into the five figures. The platform never changes — the labor does.&lt;/p&gt;

&lt;p&gt;So: anchor to a published rate, then bend it to a real written quote. Buy the smallest fix that solves the problem, skip it entirely when Shopify already does the job, and never accept a fixed price on a scope nobody has written down. If you are on the other side of the invoice, the same table is your rate ladder — and the same discipline about written scope is what stops a fixed-price job from quietly becoming an hourly one at your expense.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is the Shopify Experts Marketplace still a thing?&lt;/strong&gt;&lt;br&gt;
No. Shopify sunset the Shopify Experts brand and the Experts Marketplace in December 2023. The old experts.shopify.com address now redirects to the Shopify Partner Directory, which is where you browse and contact vetted partners today. The marketing still says "Hire Shopify Experts," but the product you actually use is the Partner Directory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much does a Shopify expert cost per hour?&lt;/strong&gt;&lt;br&gt;
It depends on where and how you hire. On Upwork, Shopify developers post a $20 median rate, with most between $15 and $29 an hour; experienced pros reach $95. Shopify agencies on Clutch advertise $50 to $199 an hour. Region matters most — US rates run far higher than offshore ones for the same task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Shopify publish official Shopify Expert rates?&lt;/strong&gt;&lt;br&gt;
No. Shopify runs the Partner Directory, but it publishes no hourly rates or project prices for the partners listed there — they work independently and quote you directly. Use third-party benchmarks like Upwork and Clutch to set a sane range, then budget from the real quotes you collect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the difference between a Shopify Expert, a developer, and an agency?&lt;/strong&gt;&lt;br&gt;
"Shopify Expert" is the legacy label for a vetted partner in Shopify's directory — often a freelancer or small studio. "Developer" is a job, not a certification; anyone on Upwork can claim it. An agency is a team that bundles design, development, and strategy. Match the choice to your scope: a task, a specialist, or a full build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much does it cost to customize a Shopify theme?&lt;/strong&gt;&lt;br&gt;
Theme edits are the most affordable expert work. On Storetasker, Theme Edits start at $475 with a four-day turnaround; on Upwork, a mid-size customization at the Expert rate of $95 an hour runs about $1,140 for an assumed twelve hours. The real driver is how many sections and how much bespoke design you need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should I hire on Upwork or through the Shopify Partner Directory?&lt;/strong&gt;&lt;br&gt;
Both work; they trade convenience for vetting. The Partner Directory lists partners Shopify has curated, with tiers based on track record — lower risk, but you request quotes. Upwork is faster and shows public rates and reviews, but anyone can list, so you vet harder. For a critical build, favor the directory; for a small, clear task, Upwork is often quicker.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hourly, fixed-price, or retainer — which should I choose?&lt;/strong&gt;&lt;br&gt;
Choose by how well you can define the work. If the scope is written down and stable, fixed-price protects you from surprises. If it is exploratory or likely to change, hourly is fairer to both sides. If you need continuous fixes and improvements, a monthly retainer buys reliable capacity. Never accept a fixed price on a vague brief.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I pay the Shopify expert through Shopify?&lt;/strong&gt;&lt;br&gt;
No. Partners you find in the directory bill you directly, and those charges do not appear on your Shopify bill. Contacting a partner also is not a commitment — you decide whether to hire after the conversation. Agree scope, milestones, and payment terms in writing before money changes hands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes a Shopify expert's price go up the most?&lt;/strong&gt;&lt;br&gt;
Four things, mostly. Custom design from scratch costs far more than configuring a theme. Integrations with an ERP, POS, or custom API are one-off engineering. Data migration from another platform is a project in itself. And a vague brief inflates every quote, because the developer prices the risk of the unknown. Region and seniority then scale the hourly rate.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-expert-cost/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;, where the article includes an interactive budget calculator, a five-question decision quiz, and rate charts.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by Alexander Matynian, a front-end developer working with Shopify since 2017 — building custom Liquid storefronts, scoping and pricing client builds, and hiring on both sides of the invoice. More e-commerce guides at &lt;a href="https://shopify.ecom-store.pro/pages/about-us/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article was created with the help of AI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>ecommerce</category>
      <category>webdev</category>
      <category>career</category>
    </item>
    <item>
      <title>Is Shopify's $1 for 6 Months Deal Real in 2026? (And How It Differs From the 3-Month Offer)</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Tue, 21 Jul 2026 19:14:42 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/is-shopifys-1-for-6-months-deal-real-in-2026-and-how-it-differs-from-the-3-month-offer-4kp8</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/is-shopifys-1-for-6-months-deal-real-in-2026-and-how-it-differs-from-the-3-month-offer-4kp8</guid>
      <description>&lt;p&gt;If you build or maintain Shopify stores for clients, you have fielded this question: &lt;em&gt;"I saw a deal — $1 a month for 6 months. Is that real, or is it one of those too-good-to-be-true things?"&lt;/em&gt; It is a fair thing to ask before committing a business to a platform, and the honest answer is more nuanced than the affiliate blogs ranking for that query make it sound — half of them are quoting numbers Shopify retired a year ago.&lt;/p&gt;

&lt;p&gt;This is the developer-facing short version: what a client is actually offered at signup in 2026, where the real six-month price comes from, and one new promo almost nobody has written up correctly yet. Every figure below was checked against Shopify's own live pages and official offer terms on &lt;strong&gt;July 21–22, 2026&lt;/strong&gt; — the terms genuinely move, so treat any undated number you read elsewhere with suspicion.&lt;/p&gt;

&lt;p&gt;The interactive version — a post-trial cost calculator, the full eligibility matrix, and a monthly-updated offer tracker — lives on the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-6-month-trial/" rel="noopener noreferrer"&gt;canonical post&lt;/a&gt;. What follows is the text summary you can forward to a client to answer "is it real" without them needing to click through.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short answer
&lt;/h2&gt;

&lt;p&gt;Yes, a $1/month-for-6-months Shopify deal is real — but "real" needs three footnotes, and only one of them is the deal most people picture. Here is the whole map.&lt;/p&gt;

&lt;h2&gt;
  
  
  What your client actually sees at signup (verified July 21, 2026)
&lt;/h2&gt;

&lt;p&gt;The public offer on &lt;a href="https://www.shopify.com/pricing" rel="noopener noreferrer"&gt;shopify.com/pricing&lt;/a&gt; right now reads: &lt;em&gt;"Try 3 days free, then $1/month for 3 months."&lt;/em&gt; That is three days of free trial, then a $1/month promotional rate for &lt;strong&gt;three&lt;/strong&gt; months — not six. The amount renders as &lt;strong&gt;$1 / €1 / £1 per month depending on the store's region&lt;/strong&gt;; it is the same offer in local currency.&lt;/p&gt;

&lt;p&gt;So the default a US, UK, or EU client is shown today is the three-month version. If you want the deeper mechanics of that standard offer, I break it down in the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-3-month-trial/" rel="noopener noreferrer"&gt;$1 for 3 months guide&lt;/a&gt;. The part that matters for scoping a client engagement: the promotional term is assigned by Shopify per visitor and &lt;strong&gt;locked at signup&lt;/strong&gt; — it cannot be extended or converted afterward.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the real six-month price comes from
&lt;/h2&gt;

&lt;p&gt;There is exactly one confirmed route to $1/month for six months, and it is a &lt;em&gt;program&lt;/em&gt;, not a public banner: Shopify's &lt;a href="https://www.shopify.com/1mbb" rel="noopener noreferrer"&gt;1MBB&lt;/a&gt; (1 Million Black Businesses) partnership. It offers the Basic plan at $1/month for the first six months, limited to eligible merchants in the &lt;strong&gt;US and Canada&lt;/strong&gt;. Two things to flag to a client before they get excited:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It is a paid discount, not a free trial.&lt;/strong&gt; They pay $1/month (six real payments), they are not getting six free months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eligibility is real and enforced.&lt;/strong&gt; It is built for a specific group of entrepreneurs; it is not a loophole anyone can trigger with a referral link.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have seen a guide describing 1MBB as a &lt;em&gt;"120-day free trial,"&lt;/em&gt; it is out of date — that framing contradicts Shopify's live 1MBB page as of July 21, 2026. Quoting it to a client is how you lose credibility three weeks into a build.&lt;/p&gt;

&lt;p&gt;There is also a separate &lt;a href="https://www.shopify.com/resource/6monthsonus" rel="noopener noreferrer"&gt;"6 months on us"&lt;/a&gt; offer for Shopify Plus — but that is an enterprise migration incentive tied to a &lt;strong&gt;three-year commitment&lt;/strong&gt;, aimed at brands moving off another platform. It is not the standard-plan trial anyone means when they say "the $1 deal."&lt;/p&gt;

&lt;h2&gt;
  
  
  The part almost nobody has covered correctly: sales credits
&lt;/h2&gt;

&lt;p&gt;Here is the genuinely new thing — and the one where even Shopify's own pages will trip you up. The current promo layers &lt;strong&gt;subscription credits, not cash&lt;/strong&gt; on top of the $1/month pricing: per the official &lt;a href="https://www.shopify.com/rewards-promotion/terms-and-conditions" rel="noopener noreferrer"&gt;rewards promotion terms&lt;/a&gt;, you accrue &lt;strong&gt;1% back on sales made through Shopify Payments&lt;/strong&gt; (0.5% on other gateways) over your first six months, or until you hit your plan's cap:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Credit cap (USD)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;$5,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grow&lt;/td&gt;
&lt;td&gt;$7,500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Advanced&lt;/td&gt;
&lt;td&gt;$10,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plus&lt;/td&gt;
&lt;td&gt;$10,000 (1-yr) / $15,000 (3-yr)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A warning about verifying this yourself: the banner on &lt;a href="https://www.shopify.com/free-trial" rel="noopener noreferrer"&gt;shopify.com/free-trial&lt;/a&gt; and the cap badges on the pricing page are &lt;strong&gt;templated per visitor&lt;/strong&gt; — in the same July week, the identical page showed different headline figures to different visitors. If a write-up quotes credit caps without citing the offer's terms and conditions, assume it screenshotted a banner. The caps above come from the terms page (verified July 22, 2026); the currency follows the store's region (the same $1 / €1 / £1 logic applies). Treat the credit as a bonus on top of the runway, not a reason to steer a client into overspending to chase it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Six months vs three months: what actually differs
&lt;/h2&gt;

&lt;p&gt;For a client comparing the two, the only real difference is &lt;strong&gt;duration&lt;/strong&gt;. Features, app access, and card-processing fees are identical on both. In subscription terms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3-month deal:&lt;/strong&gt; about $3 total in platform fees.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6-month deal:&lt;/strong&gt; about $6 total in platform fees.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is it — three extra dollars buys twice the low-cost runway. The difference that matters is not the three dollars; it is the extra &lt;strong&gt;optimization window&lt;/strong&gt;. With three months, most stores are still in setup when the promo ends. Six months gets a client through a real learn-and-iterate cycle before standard pricing applies.&lt;/p&gt;

&lt;p&gt;After the promo, the plan reverts to standard pricing (Basic is $39/month, or $29/month on annual billing, per &lt;a href="https://www.shopify.com/pricing" rel="noopener noreferrer"&gt;shopify.com/pricing&lt;/a&gt;), and Shopify does not extend or reset promotional pricing — so put that renewal date on the project calendar.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to tell a client (the 60-second version)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The public deal in 2026 is &lt;strong&gt;3 days free, then $1/month for 3 months&lt;/strong&gt; — assume that, not six.&lt;/li&gt;
&lt;li&gt;$1/month for six months is real but &lt;strong&gt;program-gated&lt;/strong&gt; (1MBB; US/Canada; Basic; a paid discount).&lt;/li&gt;
&lt;li&gt;Do not delay a launch waiting for a six-month term to appear — it is assigned per visitor and cannot be summoned.&lt;/li&gt;
&lt;li&gt;There is a real &lt;strong&gt;sales-credits promo&lt;/strong&gt; layered on top — 1% back via Shopify Payments, capped at $5,000–$10,000 on standard plans; quote the &lt;a href="https://www.shopify.com/rewards-promotion/terms-and-conditions" rel="noopener noreferrer"&gt;offer terms&lt;/a&gt;, not a banner screenshot.&lt;/li&gt;
&lt;li&gt;Read the exact term shown at signup — it is locked the moment the account is created.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the interactive post-trial cost calculator, the full eligibility matrix, and a monthly-updated offer tracker, see the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-6-month-trial/" rel="noopener noreferrer"&gt;full breakdown on shopify.ecom-store.pro&lt;/a&gt;. Everything above was verified against Shopify's live pages and official offer terms on July 21–22, 2026.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-6-month-trial/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;, where the post includes an interactive post-trial cost calculator and a monthly-updated offer tracker.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by Alexander Matynian, a front-end developer working with Shopify since 2017 — building custom storefronts and scoping client builds on both sides of the invoice. More e-commerce guides at &lt;a href="https://shopify.ecom-store.pro/pages/about-us/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article was created with the help of AI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>ecommerce</category>
      <category>webdev</category>
      <category>startup</category>
    </item>
    <item>
      <title>Shopify Development: Who to Hire, What It Costs, and Where to Start</title>
      <dc:creator>Alexandr M.</dc:creator>
      <pubDate>Sat, 18 Jul 2026 09:47:30 +0000</pubDate>
      <link>https://dev.to/alexandr_m_c387d9a4e6fde/shopify-development-who-to-hire-what-it-costs-and-where-to-start-3bif</link>
      <guid>https://dev.to/alexandr_m_c387d9a4e6fde/shopify-development-who-to-hire-what-it-costs-and-where-to-start-3bif</guid>
      <description>&lt;p&gt;If you build Shopify stores for clients, you have watched the confusion from the buyer's side. A merchant knows the store needs work — a build, a fix, a custom feature, a second pair of hands — but not &lt;em&gt;who&lt;/em&gt; to hire, &lt;em&gt;what&lt;/em&gt; it should cost, or &lt;em&gt;which&lt;/em&gt; answer fits their exact situation. The words do not help: &lt;em&gt;expert&lt;/em&gt;, &lt;em&gt;developer&lt;/em&gt;, &lt;em&gt;freelancer&lt;/em&gt;, &lt;em&gt;agency&lt;/em&gt;, and &lt;em&gt;Partner&lt;/em&gt; describe overlapping people, and half the articles online still point to a Shopify Experts Marketplace that no longer exists.&lt;/p&gt;

&lt;p&gt;This is a routing map, not a how-to. It matches a real situation to the person who usually does that work, an orienting budget, and the one deep-dive guide that covers it. It is worth reading from either side of the invoice. If you are a merchant, it tells you what to hire and roughly what to pay. If you are a developer, freelancer, or technical operator, it shows you how buyers segment the work, the hourly benchmarks the market actually bears, and — in a dedicated section near the end — how to flip the whole thing around and get hired instead of hiring.&lt;/p&gt;

&lt;p&gt;Every figure below is pulled straight from the source article — no invented averages. Two anchor facts up front: the old &lt;em&gt;Shopify Experts Marketplace&lt;/em&gt; was retired in December 2023, so the official place to find help today is the &lt;a href="https://help.shopify.com/en/manual/partner-directory" rel="noopener noreferrer"&gt;Shopify Partner Directory&lt;/a&gt;; and agencies bill roughly $50 to $199 an hour, which means &lt;em&gt;who&lt;/em&gt; you hire can double the same bill before &lt;em&gt;what&lt;/em&gt; you build ever enters the conversation.&lt;/p&gt;

&lt;p&gt;One format note: the original page carries an interactive five-question route quiz — a segmenter that routes each reader to one of the cluster guides — and that does not survive a plain markdown feed. Below I render the same routing logic as a short text decision guide and point you to the live quiz on the canonical post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Most stores do not need an agency&lt;/strong&gt; — a freelancer, a Shopify Partner, or a few hours of expert time solves most jobs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agencies bill roughly $50 to $199 an hour&lt;/strong&gt;, while smaller ecommerce development firms often run $24 to $49 — so the same ten-hour job ranges from hundreds to a couple thousand dollars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Whole builds span five scenarios&lt;/strong&gt;, from a few hundred dollars for a bare-bones DIY first year to tens of thousands for a full custom build on Plus.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hire through the Shopify Partner Directory&lt;/strong&gt; — the vetted list that replaced the Experts Marketplace in December 2023.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expert, developer, freelancer, and agency overlap&lt;/strong&gt; — the real deciding factor is how big and how custom your project is, not which title sounds most official.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Want to earn as a Shopify pro?&lt;/strong&gt; The free Partner Program pays via referrals and revenue share, not a membership fee.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who you actually need (and who you don't)
&lt;/h2&gt;

&lt;p&gt;The honest starting point: most Shopify jobs do not need a full agency. The labels blur together, and what actually decides who you hire is how big and how custom the work is. Four roles cover the field:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Freelancer&lt;/strong&gt; — one independent pro for a defined task or build. Best when you have a clear, contained scope and want a direct line to the person doing the work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agency&lt;/strong&gt; — a team that handles strategy, design, and development end to end. Best for full builds, tight deadlines, or work that spans many skills at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopify Partner&lt;/strong&gt; — a vetted freelancer or agency listed in Shopify's Partner Directory. Best when you want Shopify-verified experience and a searchable track record.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do it yourself&lt;/strong&gt; — Shopify is built for non-coders. Best for content, settings, and light theme tweaks when your budget is near zero and the scope is simple.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The official place to hire is the &lt;a href="https://help.shopify.com/en/manual/partner-directory" rel="noopener noreferrer"&gt;Shopify Partner Directory&lt;/a&gt;, which lists vetted partners across six service categories — from store setup to development — so you can browse, compare, and contact them directly. It replaced the old Experts Marketplace, so if a competing article still sends you to the "Shopify Experts" page, it is out of date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Find your route: the situation table
&lt;/h2&gt;

&lt;p&gt;This is the core of the page. Each row is a real situation, matched to who typically does the work, an orienting budget, and the guide that covers it in full. Find your row, then follow the last column.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Your situation&lt;/th&gt;
&lt;th&gt;Who you need&lt;/th&gt;
&lt;th&gt;Typical budget&lt;/th&gt;
&lt;th&gt;Start here&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Building your first store&lt;/td&gt;
&lt;td&gt;You (DIY) or a freelancer&lt;/td&gt;
&lt;td&gt;$500–$10,000 project (freelancer)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-ecommerce-website/" rel="noopener noreferrer"&gt;Ecommerce website guide&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A full custom build, done for you&lt;/td&gt;
&lt;td&gt;Agency or senior developer&lt;/td&gt;
&lt;td&gt;$2,000–$20,000+ project (custom)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-store-development-cost/" rel="noopener noreferrer"&gt;Store development cost&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A specific feature, app, or integration&lt;/td&gt;
&lt;td&gt;A developer or agency&lt;/td&gt;
&lt;td&gt;$50–$199/hr (agency)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/custom-shopify-development/" rel="noopener noreferrer"&gt;Custom development&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Still on checkout.liquid or checkout Scripts&lt;/td&gt;
&lt;td&gt;A developer or agency (non-Plus deadline: Aug 26, 2026)&lt;/td&gt;
&lt;td&gt;$5,000–$10,000 simple; $150–$300/hr complex&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-checkout-extensibility/" rel="noopener noreferrer"&gt;Checkout extensibility guide&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discounts, shipping, or payment rules broke (Scripts deactivated Jun 30, 2026)&lt;/td&gt;
&lt;td&gt;You (native fix), an app, or a developer — depends on the Script&lt;/td&gt;
&lt;td&gt;Free–$15/mo app swap; $4,000–$12,000+ custom Function&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-scripts-to-functions-migration/" rel="noopener noreferrer"&gt;Scripts to Functions guide&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A redesign or a new look&lt;/td&gt;
&lt;td&gt;Freelancer or agency&lt;/td&gt;
&lt;td&gt;$3,000–$75,000 project (redesign)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-custom-design/" rel="noopener noreferrer"&gt;Custom design&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;On Dawn, deciding whether to move to Horizon&lt;/td&gt;
&lt;td&gt;You (DIY) or a freelancer for custom code&lt;/td&gt;
&lt;td&gt;Free DIY; $20–$100/hr for custom pieces&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-horizon-theme/" rel="noopener noreferrer"&gt;Horizon theme guide&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small one-off fixes&lt;/td&gt;
&lt;td&gt;Freelancer or task service&lt;/td&gt;
&lt;td&gt;from $475/task; $150–$2,500 each&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/hire-shopify-developer/" rel="noopener noreferrer"&gt;Hiring a developer&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ongoing support or a retainer&lt;/td&gt;
&lt;td&gt;A freelancer or Shopify Partner&lt;/td&gt;
&lt;td&gt;$24–$49/hr (smaller firms); $50–$199/hr (agency)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-expert-cost/" rel="noopener noreferrer"&gt;Expert cost guide&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;You want to earn as a Shopify pro&lt;/td&gt;
&lt;td&gt;That's you — join the Partner Program&lt;/td&gt;
&lt;td&gt;Free to join&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/become-a-shopify-expert/" rel="noopener noreferrer"&gt;Become an expert&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Live, but sales are underperforming&lt;/td&gt;
&lt;td&gt;You (self-audit) first, then maybe a freelancer or agency&lt;/td&gt;
&lt;td&gt;Free self-audit; fixes range from DIY to a redesign budget&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/best-shopify-stores-patterns/" rel="noopener noreferrer"&gt;Store patterns audit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Duplicate URLs, canonical tags, robots.txt, or a GSC coverage drop&lt;/td&gt;
&lt;td&gt;You (self-audit) first, then a developer for structural fixes&lt;/td&gt;
&lt;td&gt;Free self-audit; $50–$150/hr for technical fixes&lt;/td&gt;
&lt;td&gt;&lt;a href="https://shopify.ecom-store.pro/blog/shopify-technical-seo-audit/" rel="noopener noreferrer"&gt;Technical SEO audit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ranges are orienting figures from public agency, freelancer, and Shopify benchmarks (2026) — your real number depends on scope. Read the budget column as a starting point, not a quote: the same task can sit at either end of a range depending on complexity, region, and who you hire.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs: the 60-second version
&lt;/h2&gt;

&lt;p&gt;Pricing comes in two shapes. The first is an &lt;strong&gt;hourly rate&lt;/strong&gt;: agencies typically bill about $50 to $199 an hour, while smaller ecommerce development firms often run $24 to $49. The second is a &lt;strong&gt;project total&lt;/strong&gt;: a single theme edit might start around $475, while recurring development tasks land anywhere from $150 to $2,500 each.&lt;/p&gt;

&lt;p&gt;Here is why the "who" matters more than the "what." The same ten-hour custom job — say wiring up a product configurator — costs &lt;strong&gt;$500&lt;/strong&gt; at the low end of agency rates ($50/hour) and &lt;strong&gt;$1,990&lt;/strong&gt; at the high end ($199/hour). Ten hours, identical work; the spread is entirely who you hire.&lt;/p&gt;

&lt;p&gt;Whole builds are a different question. Five end-to-end scenarios run from a few hundred dollars for a bare-bones DIY first year to tens of thousands for a full custom build on Plus — the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-store-development-cost/" rel="noopener noreferrer"&gt;store development cost&lt;/a&gt; guide has the exact numbers. And if the budget is close to zero, hiring may not be necessary at all: Shopify is built for non-coders, and you can tune a theme's colors, layout, and content yourself before paying anyone — the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-custom-design/" rel="noopener noreferrer"&gt;custom design&lt;/a&gt; guide walks the DIY path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not sure? The route decision guide
&lt;/h2&gt;

&lt;p&gt;The original page ends this stretch with a five-question quiz that segments you to one of three routes. The questions it asks: what you actually need done, what state your store is in, how complex the work is, your budget comfort, and how you want it done. Map your own answers against the three routes below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The full-build route&lt;/strong&gt; — your answers point to a whole store or a big custom project, the kind of work an agency or a senior developer handles end to end.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write the scope before you brief anyone, so quotes stay comparable.&lt;/li&gt;
&lt;li&gt;An agency earns its rate on breadth — design, dev, and strategy together.&lt;/li&gt;
&lt;li&gt;Ask for a fixed, milestone-based quote rather than open-ended hours.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Start with what a &lt;a href="https://shopify.ecom-store.pro/blog/custom-shopify-development/" rel="noopener noreferrer"&gt;custom Shopify build&lt;/a&gt; involves, then set the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-store-development-cost/" rel="noopener noreferrer"&gt;budget&lt;/a&gt; behind it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The targeted-specialist route&lt;/strong&gt; — you have a live store and a specific job: a feature, a fix, or a redesign. A freelancer or a vetted Shopify Partner is usually the right call.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One clear task on one page keeps a freelancer engagement affordable.&lt;/li&gt;
&lt;li&gt;A vetted Partner adds a searchable track record on the same budget.&lt;/li&gt;
&lt;li&gt;Start with a small paid test task before a bigger commitment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See &lt;a href="https://shopify.ecom-store.pro/blog/hire-shopify-developer/" rel="noopener noreferrer"&gt;when and how to hire a Shopify developer&lt;/a&gt; and check &lt;a href="https://shopify.ecom-store.pro/blog/shopify-expert-cost/" rel="noopener noreferrer"&gt;what a Shopify expert costs&lt;/a&gt; by task before you agree a rate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The start-here route&lt;/strong&gt; — you are early, exploring, or keen to keep costs near zero, and Shopify is built for exactly that.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Launch on a free theme first; you can always upgrade the look later.&lt;/li&gt;
&lt;li&gt;Learn the theme editor before paying anyone to change pixels.&lt;/li&gt;
&lt;li&gt;Bring in a freelancer only for the specific job you cannot DIY.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Begin by &lt;a href="https://shopify.ecom-store.pro/blog/shopify-ecommerce-website/" rel="noopener noreferrer"&gt;building your first Shopify website&lt;/a&gt; yourself, and tune the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-custom-design/" rel="noopener noreferrer"&gt;design&lt;/a&gt; before spending a dollar.&lt;/p&gt;

&lt;p&gt;The interactive quiz on the &lt;a href="https://shopify.ecom-store.pro/blog/shopify-development-guide/" rel="noopener noreferrer"&gt;canonical version of this page&lt;/a&gt; routes you to the exact guide in five clicks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hiring without the expensive mistakes
&lt;/h2&gt;

&lt;p&gt;Three mistakes drain hiring budgets more than any hourly rate: &lt;strong&gt;buying too much team&lt;/strong&gt; (an agency for a one-hour fix, when a freelancer would do), &lt;strong&gt;a fuzzy brief&lt;/strong&gt; (vague scope is how quotes balloon), and &lt;strong&gt;skipping the paid test task&lt;/strong&gt; (a small trial tells you more than any portfolio). The safest hedge against the first two is starting from Shopify's own vetted list rather than a random search result.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The Partner Directory connects you with Shopify Partners who you can hire for complicated tasks related to building your business."&lt;/p&gt;

&lt;p&gt;— Shopify Help Center, &lt;a href="https://help.shopify.com/en/manual/intro-to-shopify/hiring-help" rel="noopener noreferrer"&gt;Hiring and working with Shopify Partners&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For the full when, why, and how — including a vetting sequence that avoids costly misfires — read the guide to &lt;a href="https://shopify.ecom-store.pro/blog/hire-shopify-developer/" rel="noopener noreferrer"&gt;hiring a Shopify developer&lt;/a&gt;. And for anything genuinely custom — new features, integrations, or a headless front end — &lt;a href="https://shopify.ecom-store.pro/blog/custom-shopify-development/" rel="noopener noreferrer"&gt;scoping the project&lt;/a&gt; well is half the job; a tight brief is the single cheapest way to keep an estimate from turning into an open-ended bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reading this as a freelancer?
&lt;/h2&gt;

&lt;p&gt;Not hiring — hoping to get hired? The route flips. Shopify's Partner Program is &lt;a href="https://help.shopify.com/en/partners/partner-program/about" rel="noopener noreferrer"&gt;free to join&lt;/a&gt;, and partners earn through referrals and revenue share, so the barrier is skill and reputation rather than a membership fee. You build a profile, list your services in the Partner Directory, and win clients from there.&lt;/p&gt;

&lt;p&gt;For the realistic path — landing your first clients, meeting Directory criteria, and a 90-day plan to get there — see the guide on &lt;a href="https://shopify.ecom-store.pro/blog/become-a-shopify-expert/" rel="noopener noreferrer"&gt;how to become a Shopify expert&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;There is no single "Shopify developer" a merchant is supposed to hire. There is a spectrum — from doing it yourself, to a freelancer for a defined job, to an agency for a full custom build — and the right choice is whichever matches the project's size and complexity. Get that match right and everything downstream, including the price, gets simpler. The one move that saves the most money: write down exactly what "done" looks like before anyone talks to anyone. A tight scope turns a vague, open-ended bill into a fixed, comparable quote.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Do I need to hire anyone to build a Shopify store?&lt;/strong&gt;&lt;br&gt;
Not necessarily. Shopify is built for non-coders, so you can pick a theme, add products, and launch entirely on your own. You typically hire only when the work outgrows the theme editor — custom features, a bespoke design, integrations, or simply saving time. Start DIY, and bring in help for the specific parts where you get stuck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the difference between a Shopify expert, developer, and freelancer?&lt;/strong&gt;&lt;br&gt;
They overlap more than the labels suggest. A developer writes code; a freelancer is any independent pro you hire directly; a Shopify Expert or Partner is a vetted specialist listed in Shopify's Partner Directory. One person can be all three. What matters isn't the title but whether their skills and track record fit the job you need done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much does it cost to hire a Shopify developer?&lt;/strong&gt;&lt;br&gt;
It depends on scope and who you hire. Smaller ecommerce development firms often run $24 to $49 an hour, while agencies charge roughly $50 to $199. A small theme edit can be a few hundred dollars; a complex custom feature climbs into the thousands. The &lt;a href="https://shopify.ecom-store.pro/blog/shopify-expert-cost/" rel="noopener noreferrer"&gt;Shopify expert cost guide&lt;/a&gt; breaks the numbers down by task and region.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the Shopify Partner Directory?&lt;/strong&gt;&lt;br&gt;
It's Shopify's curated, official list of vetted partners — freelancers and agencies — you can hire for store work. You browse by price, location, and service, review each partner's ratings and past projects, then contact them directly. It replaced the old Experts Marketplace and is the safest place to start when you want Shopify-verified experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the Shopify Experts Marketplace still around?&lt;/strong&gt;&lt;br&gt;
No. Shopify sunset the Experts Marketplace and the standalone Shopify Experts brand in December 2023. The old experts page now redirects to the Shopify Partner Directory, which serves the same purpose — connecting merchants with vetted partners. If a competing article still points you to the Experts Marketplace, it is out of date; search the Partner Directory instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Freelancer or agency — which should I choose?&lt;/strong&gt;&lt;br&gt;
Match it to scope. A freelancer or single Partner is ideal for a contained job — a fix, one feature, or a redesign — and usually costs less. An agency earns its higher rate on full builds, tight deadlines, or work spanning strategy, design, and development at once. If you can write the job on one page, a freelancer is often enough.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much does a full Shopify store build cost?&lt;/strong&gt;&lt;br&gt;
It ranges widely with ambition. Five end-to-end scenarios span from a few hundred dollars for a lean DIY first year to tens of thousands for a full custom build on Shopify Plus. Most first stores land far below the top end. The &lt;a href="https://shopify.ecom-store.pro/blog/shopify-store-development-cost/" rel="noopener noreferrer"&gt;store development cost guide&lt;/a&gt; walks through each scenario with the exact numbers so you can find your match.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I hire a Shopify developer without overpaying?&lt;/strong&gt;&lt;br&gt;
Three habits help most. Write a clear, specific scope so quotes are comparable and don't balloon mid-project. Match the tier to the job — don't pay agency rates for a one-hour fix. And start with a small paid test task before committing to a large build. A tight brief is the single cheapest way to control the final bill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I become a Shopify expert myself?&lt;/strong&gt;&lt;br&gt;
Yes. Shopify's Partner Program is free to join, and partners earn through referrals and revenue share rather than a membership fee — so the barrier is skill and reputation. You build a profile, list your services in the Partner Directory, and win clients from there. The guide on &lt;a href="https://shopify.ecom-store.pro/blog/become-a-shopify-expert/" rel="noopener noreferrer"&gt;becoming a Shopify expert&lt;/a&gt; lays out a realistic path and a 90-day plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does custom Shopify development include?&lt;/strong&gt;&lt;br&gt;
It covers anything beyond what a theme and apps do out of the box — bespoke features, third-party integrations, custom checkout logic on Plus, or a headless front end built on Shopify's APIs. Projects range from a single custom section to a full rebuild. The &lt;a href="https://shopify.ecom-store.pro/blog/custom-shopify-development/" rel="noopener noreferrer"&gt;custom development guide&lt;/a&gt; breaks down the project types, tech stack, and scoping.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I know which of these guides to read?&lt;/strong&gt;&lt;br&gt;
Use the router table and the decision guide above. The table matches your situation — first store, custom feature, redesign, ongoing support — to the right specialist, a budget range, and the exact guide that goes deep. The text routes do the same if you'd rather be pointed than scan. Both lead to one of the cluster guides.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://shopify.ecom-store.pro/blog/shopify-development-guide/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;, where the article includes an interactive route quiz that segments you to the right cluster guide.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by Alexander Matynian, a front-end developer working with Shopify since 2017 — building custom Liquid storefronts, scoping and pricing client builds, and hiring on both sides of the invoice. More e-commerce guides at &lt;a href="https://shopify.ecom-store.pro/pages/about-us/" rel="noopener noreferrer"&gt;shopify.ecom-store.pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this article was created with the help of AI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>webdev</category>
      <category>ecommerce</category>
      <category>freelance</category>
    </item>
  </channel>
</rss>
