Shopify Ecommerce Platform Detection Methods (2026)
No7 Engineering Team
Growth Architecture Unit

Determining the underlying architecture of a competitor or acquisition target requires looking past cosmetic design choices. Successful shopify ecommerce platform detection methods rely on inspecting immutable network responses, server-side HTTP headers, and globally scoped client runtime variables rather than surface-level theme layouts.
Core Signatures of Platform Detection
Detecting the software behind an online storefront is a deterministic process of matching unique runtime signatures against known platform defaults. While visual themes can be cloned, the underlying database schemas, asset routing rules, and HTTP response headers leave fingerprints that are difficult to mask. When analyzing a store's loading speed during a Shopify store performance optimisation audit, we first run fingerprint detection to verify the stack. Robust detection scripts must target the server-side configuration and the runtime environment where variables are instantiated. In our experience, developers often forget that every platform has a unique way of processing requests, caching assets, and managing sessions. These back-end characteristics cannot be hidden by a custom frontend theme, making them the primary targets for technical analysis.
How to know if a website is built on shopify?
To determine if a website is built on Shopify, you can check for the existence of the global window.Shopify object in the browser console or inspect the page source for assets loaded from the cdn.shopify.com domain. If these runtime properties exist, the storefront is executing code compiled for or served by Shopify's core infrastructure. When identifying shopify stores, engineers often check the /cart.json or /cart.js endpoints. Making a simple HTTP GET request to these endpoints returns a structured JSON payload representing the current session's cart state. For an automated and immediate check, we built our own free Shopify Theme Detector which parses these variables programmatically. This is particularly useful when auditing sites at scale, as manual console inspection becomes tedious. Beyond assets and endpoints, Shopify stores use standard URL routing configurations for product and collection pages, which typically follow the /products/ and /collections/ path patterns. While reverse proxies can rewrite these paths, doing so introduces significant routing complexity that most merchants avoid.
HTTP Headers: The Fingerprints That Proxies Cannot Easily Strip
Inspecting the HTTP response headers of a storefront document is the most reliable method to verify backend platform identity because these headers are injected directly by the origin infrastructure. Unlike frontend templates, which can be heavily modified, headers like X-ShopId and X-Sorting-Hat-ShopId are automatically generated by Shopify's routing layers. In our experience, over 95% of standard installations retain these headers. The X-ShopId header contains a unique numeric store identifier, while X-Shopify-Stage confirms the deployment environment. If you inspect the network tab in your browser's developer tools, these HTTP response headers are visible on the initial document request. Even when a merchant uses a CDN like Cloudflare or Fastly to cache pages, these headers usually persist unless the devops team has written explicit rules to strip them. The cost of running Shopify Plus is typically around £1,800-around £2,500/month, scaling with GMV, and at this enterprise tier, maintaining these headers is critical for support teams to debug routing issues across Shopify's global edge network.
JavaScript Globals and Window Contexts
Liquid-based themes automatically inject a set of global JavaScript variables into the document window to handle currency conversion, analytics tracking, and checkout routing. Checking for the presence of window.Shopify or window.ShopifyAnalytics in the browser console provides instant confirmation of the underlying engine. For example, typing window.Shopify.theme in the console will return a JSON object containing the active theme ID, name, and role: window.Shopify = { theme: { id: 123456789, name: "Dawn" } };. In our work with Plus merchants, we have found that even heavily customised themes retain these objects because native apps and analytics integrations rely on them to function. If a developer attempts to strip the window.Shopify object, they risk breaking core platform features such as checkout redirection and native pixel tracking. We once audited a storefront that loaded 11 separate analytics scripts. Eight of them tracked the same click event, and three of them no longer had active dashboards. This contrasts with other platforms; as discussed in our BigCommerce vs Shopify decision guide, BigCommerce Stencil themes expose a different global context pattern centered around Stencil's Handlebars runtime.
Detecting Shopify Platform Detection Methods on Headless Architecture
Headless storefronts built on frameworks like Next.js or Remix bypass traditional Liquid-based layout engines, meaning standard window globals and CDN asset paths will be entirely absent from the initial HTML document. In these scenarios, platform detection requires monitoring outgoing network requests for connections to the GraphQL Storefront API or analyzing the checkout redirection flow. When a user clicks the checkout button on a headless storefront, the application must redirect the session to Shopify's secure checkout domain. Even if the frontend is completely custom, the checkout URL will expose the store's primary domain or a redirect parameter containing the Shopify shop ID. Additionally, analyzing outgoing fetch requests will show payloads hitting endpoints containing /api/2026-04/graphql.json, which is the standard path format for the Storefront API. In our replatform work, we have found that detecting platform-specific DOM artifacts is highly dependent on whether custom middleware or CDNs strip headers, which we've seen break automated audit scripts. We typically target the checkout transition as the absolute ground truth because the transaction must eventually resolve on Shopify's PCI-compliant checkout infrastructure.
Signatures of Non-Shopify Enterprise Engines
To accurately identify a platform, you must also recognize the distinct fingerprints left by competing enterprise engines like Salesforce Commerce Cloud (SFCC), Magento, and BigCommerce. Each of these platforms uses a specific set of cookies, asset directory structures, and global variables that distinguish them from Shopify. For instance, SFCC storefronts load scripts from a path containing /on/demandware.static/ and set cookies prefixed with dw. Magento stores are easily identified by the presence of /static/version in their asset URLs and the global requirejs configuration block. Recognizing these differences is essential when designing robust theme.liquid configuration parsers or platform classification scrapers. Knowing the backend engine prevents you from applying irrelevant optimization techniques, ensuring your engineering efforts remain focused on actual performance bottlenecks rather than platform-specific quirks.
Building Automated Auditing Tools Safely
Building a reliable, automated platform classifier using shopify ecommerce platform detection methods requires combining multiple detection vectors into a weighted scoring system rather than relying on a single string-match rule. Because CDNs, reverse proxies, and headless middleware can mask individual signals, a multi-layered verification script is necessary to prevent false negatives. We recommend structuring your detection logic according to the following scoring hierarchy:
Detection Vector Scoring Hierarchy
- Primary Signals (Weight: 1.0) — Presence of
X-ShopId,X-Sorting-Hat-ShopId, or cookies like_shopify_s. These are injected by the core routing layer and are rarely stripped. - Secondary Signals (Weight: 0.7) — Global variables like
window.Shopifyor assets loaded fromcdn.shopify.com. Highly reliable for standard themes but absent on headless architectures. - Tertiary Signals (Weight: 0.4) — Standard path patterns like
/products/or/collections/. Useful for initial filtering but prone to false positives if other engines use custom routing rules.
If your script detects an X-ShopId header, it can immediately classify the site as Shopify. However, if the header is missing but the script identifies a window.Shopify object, it should assign a high probability score and verify by testing the checkout redirect path. This multi-layered approach ensures that your automated audits remain accurate even when encountering highly customised enterprise storefronts.
What to Do Next
If you are auditing a portfolio of merchant sites to plan a migration or competitive analysis, manual console-peeking will quickly become a bottleneck. The most effective path forward is to standardise your technical audit process by using programmatic CLI scripts or browser extensions that automate these multi-vector checks. For merchants currently planning a platform transition, understanding the exact technical footprint of your legacy store is the first step toward a clean cutover. We regularly perform these deep technical audits for brands in the £1M-£15M GMV band to map out database schemas, custom script dependencies, and app integrations before writing a single line of migration code. If you need to map your current stack's dependencies or verify whether your headless build is properly isolating backend signals, we can help. Reach out to our engineering team to discuss scheduling a comprehensive technical discovery session.
Frequently Asked Questions
The questions buyers and engineers ask us most about this topic.
Is a dedicated platform detection tool worth it for competitive analysis?
Yes, particularly when auditing competitors at scale. While manual console inspection works for a single storefront, automated platform detection tools allow marketing and engineering teams to instantly map out competitor app stacks, theme structures, and checkout routing without manual overhead. For portfolio audits or migration scoping, this programmatic approach saves dozens of engineering hours that would otherwise be spent manually digging through network logs.
How do headless Shopify stores differ in their detection signatures?
Headless Shopify stores bypass traditional Liquid theme layouts, meaning standard window globals like <code>window.Shopify.theme</code> and CDN assets from <code>cdn.shopify.com</code> will be completely absent from the initial document payload. Instead, detection requires tracking outgoing API requests to the Storefront GraphQL endpoint (typically ending in <code>/api/2026-04/graphql.json</code>) or monitoring the checkout redirection flow to a Shopify-managed domain.