Key findings
Half of the 100 Turkish Shopify stores analyzed fail Core Web Vitals on mobile, and none reach a Lighthouse mobile score of 90. The biggest difference is not the number of apps or the choice of theme, but how the store was built.
Mobile Core Web Vitals: 51 of 100 stores pass all three metrics. On desktop, 97 do.
Lighthouse: The median average mobile score is 59. No store reaches 90, and 24 score below 50.
The build gap: 84% of the 61 stores built from scratch pass Core Web Vitals. Among the 39 stores built by other teams (23 served by Byte and 16 non-Byte stores), the pass rate is 0%.
App count is misleading: Script count appears strongly correlated with mobile LCP (r = 0.67). But when stores are examined separately by build group, the relationship disappears (r ≈ 0).
Agentic commerce: Only 3 stores have a /.well-known/ucp profile. Of the 64 stores connected to Merchant Center, 43 leave product GTINs empty.
AI bots: 67 stores have no robots.txt rules for AI bots at all. 9 stores block at least one.
Fully compatible with local infrastructure: 94 stores take payments through iyzico, PayTR, or Craftgate, and stores integrate with carriers such as Aras, Yurtiçi, and DHL (MNG). Shopify works seamlessly with Turkey’s local payment and logistics infrastructure.
Methodology
This study was prepared by Byte Digital, a Shopify Plus Partner agency that has served Shopify brands for 7 years and is one of the largest Shopify-focused agencies in Turkey. Data was collected from 100 stores on a single day, 20 October 2026. 84 stores in the sample are Byte Digital clients: 61 were built by Byte, and 23 are stores to which Byte provides other services such as marketing, with only limited maintenance changes. The remaining 16 stores are not Byte clients; 3 of them were selected at random via BuiltWith.
This sample does not represent all Shopify stores in Turkey. The findings reflect mid-to-large brands that have invested in Shopify and work with an agency. The 16 non-Byte stores are reported as a separate group, but the group is small, and its results should be interpreted with care.
Area | Source |
|---|---|
Core Web Vitals (LCP, INP, CLS, TTFB) | CrUX p75 real-user data: origin level for 67 stores, URL level for 33 |
Lighthouse | Mobile profile, home + collection + product page |
Theme | The Shopify.theme object in the page source |
Apps and script load | Technology detection and browser network logs |
SEO, schema, robots.txt, llms.txt, UCP | Page source and root-directory files |
Google’s “good” thresholds were used for Core Web Vitals (web.dev): LCP ≤ 2,500 ms, INP ≤ 200 ms, CLS ≤ 0.1. Medians are reported because averages can be skewed by a few outliers. Correlations use Spearman’s rank correlation.
Two important caveats:
Correlation is not causation. Differences between groups cannot be attributed to any single measured variable.
Selection effect: In development projects, the theme and app stack are built from scratch. Stores Byte serves in other capacities run on infrastructure built by another team. Part of the gap between the groups comes from this starting point.
Themes
All stores run Online Store 2.0 themes, across 13 different theme structures. The most common are Dawn (18), custom builds (15), Impulse (10), Prestige (10), and Horizon (9). Most Dawn stores are on the latest version.
Theme type | Stores | Median mobile LCP (ms) | Pass CWV | Median Lighthouse |
|---|---|---|---|---|
Off-the-shelf, unmodified | 20 | 3,023 | 0% | 48 |
Off-the-shelf + customized | 65 | 2,286 | 60% | 63 |
Custom build | 15 | 2,128 | 80% | 73 |
The table seems to show custom themes winning by a wide margin. But within the same build group, the difference almost vanishes:
Among stores built from scratch, median LCP is 2,095 ms for customized off-the-shelf themes and 2,110 ms for custom themes.
Among stores Byte serves, LCP is 3,045 ms for unmodified off-the-shelf themes and 2,944 ms for customized ones. For non-Byte stores, the figures are 3,001 and 2,897 ms.
Takeaway: A fast store doesn’t require a custom theme. A good Theme Store theme, combined with disciplined app and script management, delivers the same result.
Apps and script load
The typical store runs 8 apps and 11 third-party scripts. On mobile, that means roughly 709 KB of JavaScript, 2.76 MB of page weight, and 105 requests. A total of 42 different apps were detected across the 100 stores.
App | Stores | Category |
|---|---|---|
Breadcrumbs (Byte Apps) | 61 | Navigation / SEO |
Kiwi Size Chart | 43 | Size chart |
Judge.me | 42 | Product reviews |
Consentmo | 40 | Cookie consent |
Wishlist (Byte Apps) | 37 | Wishlist |
Omnisend | 34 | Email / SMS |
Wishlist Plus | 34 | Wishlist |
Smile.io | 31 | Loyalty |
Stockist (Byte Apps) | 30 | Store locator |
Shipping integration (Aras) | 29 | Logistics |
Three apps on the list (Breadcrumbs, Wishlist and Stockist) belong to the Byte Apps family developed by Byte Digital. 75 of the 100 stores use at least one of them, 5 of which are not Byte clients. But since most of the sample are Byte clients, these apps’ positions on the list cannot be generalized to the Turkish market. It is more accurate to read the table by app type rather than by individual app: navigation (breadcrumbs), wishlists, store locators, size charts, reviews, cookie consent and loyalty. For impartiality, Byte Apps were excluded from the performance analysis.
App count alone doesn’t explain the problem
Across the full sample, script count is strongly correlated with mobile LCP (r = 0.67). Each additional script appears to add about 92 ms to LCP. Grouped by script count, the picture looks clear:
Third-party scripts | Stores | Median mobile LCP (ms) | Pass CWV |
|---|---|---|---|
5–8 | 21 | 2,239 | 90% |
9–12 | 42 | 2,095 | 76% |
13–16 | 24 | 2,944 | 0% |
17+ | 13 | 3,046 | 0% |
But when stores are examined separately by build group, the relationship disappears (r between −0.08 and 0.04 across the three groups). Heavy script load concentrates in stores built by other teams: a median of 9 scripts in stores Byte built, versus 15–16 in the other two groups.
The same holds for individual apps. In a raw comparison, Bold Upsell (+786 ms), Hotjar (+757 ms), GemPages (+723 ms), and Cookiebot (+692 ms) seem to increase LCP significantly. Compared within the same build group, these differences shrink to between −375 and +248 ms.
Takeaway: In this data, app count is a symptom of poor performance, not its cause. Stores that have accumulated apps over the years, removed them while leaving their code in the theme, and are bloated with page builders carry many scripts and are slow.
Performance and Core Web Vitals
On mobile, 51 of 100 stores pass Core Web Vitals. On desktop, 97 do. LCP is the bottleneck: 47% of stores fall in the “needs improvement” band (2,500–4,000 ms), but none crosses the “poor” threshold (4,000 ms).
Compared with the global picture, this is slightly above average. According to HTTP Archive’s 2025 Web Almanac, 48% of mobile sites and 56% of desktop sites pass Core Web Vitals; on mobile, 62% have good LCP, 77% good INP, and 81% good CLS (Web Almanac 2025). Turkish Shopify stores are ahead of the global average on the mobile pass rate (51%) and on desktop (97%), but behind on mobile LCP (53% versus 62%).
Metric (p75) | Mobile median | Share “good” on mobile | Desktop median |
|---|---|---|---|
LCP | 2,417 ms | 53% | 1,510 ms |
INP | 177 ms | 74% | 80 ms |
CLS | 0.05 | 85% | 0.03 |
TTFB | 649 ms | — | 452 ms |
The median Lighthouse mobile score is 61 on the home page, 58 on collection pages, and 59 on product pages. 92% of stores serve images in WebP or AVIF, so image format is no longer a differentiating problem.
Stores built from scratch versus inherited stores
This is the sharpest divide in the data. All 61 stores built from scratch were built by Byte Digital. The 23 stores Byte serves run on infrastructure built by another team; Byte provides other services such as marketing and makes only limited maintenance changes. The remaining 16 stores are not Byte clients. The stores Byte built stand apart from the other two groups on every metric:
Metric | Built by Byte (61) | Served by Byte (23) | Non-Byte (16) |
|---|---|---|---|
Pass CWV | 84% | 0% | 0% |
Median mobile LCP | 2,105 ms | 2,953 ms | 3,041 ms |
Median mobile INP | 155 ms | 225 ms | 230 ms |
Median mobile TTFB | 584 ms | 756 ms | 799 ms |
Median Lighthouse | 71 | 47 | 49 |
Median JS / page weight | 623 KB / 2.35 MB | 932 KB / 3.50 MB | 915 KB / 3.68 MB |
Stores served by Byte and non-Byte stores show almost identical profiles: the difference comes from the initial build, not from services added later. These stores don’t struggle on a single metric: heavier pages, more scripts, slower server response, and more layout shift all appear together. This explains why spot fixes such as “let’s remove one app” often fall short.
Sector and plan
Among sectors with at least 7 stores, the CWV pass rate is 75% in Food, 58% in Furniture & Home, 57% in both Cosmetics and Sports & Outdoor, 50% in Fashion, and 29% in Jewelry & Accessories. Electronics (4 stores) and Health & Supplements (4 stores) look lower, but the samples are too small to interpret.
There is no meaningful performance difference between the 10 stores on Shopify Plus and those on standard plans: a CWV pass rate of 50% versus 51%.
SEO and structured data
Everything Shopify provides by default (Product schema, canonical tags, sitemap.xml) is in place on all 100 stores. The differences appear in work the store owner has to do manually.
Element | Stores |
|---|---|
Product schema | 100 |
Offer (price + availability) | 96 |
Organization | 78 |
AggregateRating | 75 |
BreadcrumbList | 68 |
Custom meta titles on products | 57 |
Custom meta descriptions on products | 47 |
Customized robots.txt | 32 |
Notable gaps:
Reviews don’t reach the schema: 67 stores have a review app. AggregateRating schema is missing entirely on 25 stores, which miss the chance to show star ratings in search results.
Meta descriptions: Only 29% of stores have customized both titles and descriptions on products. 25% have touched neither and rely on Shopify’s auto-generated text.
Multilingual stores: Of the 38 stores offering more than one language, 32 have hreflang set up correctly; 6 have it missing or incorrect.
The build gap shows here too: custom meta titles on products are used by 74% of stores Byte built, 35% of stores Byte serves, and 25% of non-Byte stores.
Payments and commerce
Local providers dominate payments in Turkish Shopify stores. Shopify Payments is used by only 6 stores.
Payment provider | Stores |
|---|---|
iyzico | 45 |
PayTR | 30 |
Craftgate | 19 |
Shopify Payments | 6 |
This table answers, with data, the question brands considering Shopify in Turkey ask most often: Shopify works with local payment providers. 94 stores take payments through iyzico, PayTR, or Craftgate. Logistics tells the same story: 95 of 100 stores integrate with carriers such as Aras, Yurtiçi, and DHL (MNG), either directly or through Navlungo.
Cash on delivery is offered by 31% of stores. The rate varies widely by sector: 24% in Fashion, 16% in Food, 6% in Cosmetics and Sports & Outdoor, and none in Electronics.
The free-shipping threshold has a median of 1,250 TRY. Half of the stores set it between 1,000 and 1,500 TRY. The median is 2,000 TRY in Electronics, 1,750 TRY in Kids, and 1,000 TRY in Food and Jewelry & Accessories.
Express checkout buttons (dynamic checkout) are active on only 16 stores. All 6 stores using Shopify Payments have enabled them; only 10 of the 94 stores using local providers have.
Readiness for agentic commerce
Search is shifting from listing links to agents that shop on the user’s behalf. The Universal Commerce Protocol (UCP), governed jointly by Google, Shopify and Stripe, lets agents compare products and buy directly (Marie Haynes). Turkish Shopify stores are not ready for this shift yet.
Signal | Stores |
|---|---|
/.well-known/ucp profile | 3 |
llms.txt | 25 |
Google & YouTube channel / Merchant Center connected | 64 |
GTINs filled in on products | 28 |
Offer schema (price + availability) | 96 |
All 3 stores with a UCP profile run Shopify Plus and were built from scratch.
The biggest gap is GTINs. Of the 64 stores connected to Merchant Center, 43 leave product GTINs empty. These stores send their products to Google’s shopping surfaces without the identifier that matches them to the same products sold elsewhere. Google notes that products that have a GTIN but are submitted without one may have limited visibility (Google Merchant Center Help).
AI bots
67 stores define no robots.txt rules for GPTBot, ClaudeBot, PerplexityBot, or Google-Extended. These bots can access the site by default, but that is an oversight, not a choice.
24 stores explicitly allow all four bots. All of them also publish an llms.txt file, so this is part of the same deliberate strategy.
9 stores block at least one bot: GPTBot and ClaudeBot are blocked on 9 stores each, Google-Extended and PerplexityBot on 7 each. These stores may be giving up visibility in shopping assistants, knowingly or not. For example, blocking Google-Extended does not affect Google Search rankings, but it prevents the content from being used as a source in Gemini’s answers (Search Engine Journal).
Marketing stack
Measurement is nearly standardized: Meta Pixel is on 97 stores, GA4 on 96, and Google Tag Manager on 84. 78% use all three together. TikTok Pixel is installed on 43 stores.
The cookie consent gap: 14 stores have no cookie consent banner, and 13 of them run Meta Pixel. Running marketing cookies without consent creates a risk under KVKK, Turkey’s personal data protection law.
Email / CRM tool | Stores |
|---|---|
Omnisend | 34 |
Klaviyo | 27 |
Turkish providers (Segmentify 7, Insider 6, Euromsg 5, Dengage 4, Netmera 2) | 24 |
Mailchimp | 8 |
Brevo | 3 |
Note: Byte Digital is an Omnisend PRO partner. Omnisend’s lead in this sample also reflects the stack the agency recommends to its clients.
Technical Health Score and Agentic Commerce Readiness Index
Two composite indexes were calculated to compare stores with a single number. The median Technical Health Score is 77.5 out of 100; the median Agentic Commerce Readiness Index is 50.
Technical Health Score (0–100)
Performance (50 points): good mobile LCP (12), good INP (12), good CLS (6), average Lighthouse mobile score (scaled to 20 points).
SEO (50 points): Offer (8), custom meta title (8), custom meta description (7), hreflang or single language (7), AggregateRating (6), BreadcrumbList (6), Organization (5), custom robots.txt (3).
Score band | Stores |
|---|---|
80–100 | 47 |
65–79 | 15 |
50–64 | 14 |
0–49 | 24 |
The distribution is bimodal: stores are either good or poor, with a thin middle. The median score is 83.7 for stores Byte built, 45.0 for stores Byte serves, and 45.1 for non-Byte stores. By sector, the highest medians are Food (84.8) and Furniture & Home (83.8), and the lowest are Sports & Outdoor (65.6) and Jewelry & Accessories (65.8); only sectors with at least 7 stores were compared.
Agentic Commerce Readiness Index (0–100)
Merchant Center connection (20), UCP profile (15), llms.txt (15), not blocking any AI bot (15), GTIN (15), Offer schema (10), AggregateRating (5), explicit permission for all AI bots (5).
Index band | Stores |
|---|---|
80–100 | 7 |
60–79 | 25 |
40–59 | 44 |
0–39 | 24 |
Only 7 stores score above 80. Shopify Plus and standard-plan stores have the same median (50): readiness comes from awareness, not budget. The median is 50 for stores Byte built, 30 for stores Byte serves, and 40 for non-Byte stores.
Why Shopify stands out in Turkey
The data shows three core advantages Shopify gives Turkish brands: the technical foundation comes ready, it works fully with local payment and logistics infrastructure, and it opens brands up to global and agentic commerce.
Advantage | Data from this study |
|---|---|
Technical SEO foundation by default | Product schema, canonical tags, and sitemap.xml on 100 of 100 stores |
The platform keeps itself current | All stores on Online Store 2.0; most Dawn stores on the latest version |
No desktop performance problem | 97 of 100 stores pass Core Web Vitals on desktop |
Compatible with local payments and shipping | 94 stores use iyzico, PayTR or Craftgate; 95 of 100 have a shipping integration |
Broad app ecosystem | 42 different apps; 9 different email tools, Turkish and international |
Multilingual and multi-currency selling | 38 stores sell in more than one language and 9 in more than one currency; hreflang is set up correctly on 32 of the 38 multilingual stores |
A leading position in agentic commerce | Shopify co-governs UCP with Google and Stripe |
But the platform alone isn’t enough. On the same Shopify infrastructure, the Core Web Vitals pass rate ranges from 84% to 0% depending on how the store was built. What determines the return on moving to Shopify is whether the platform change comes with a clean build.
This dataset does not include stores running on local e-commerce platforms. Before-and-after data from stores Byte Digital has migrated to Shopify from local platforms will be the subject of the next study in this series.
Recommendations for store owners
The data sends one message: performance and readiness are won or lost in a store’s initial build and its ongoing maintenance discipline.
Count the leftovers, not your apps. Clean up code left in the theme by removed apps and page-builder blocks. In an inherited store, consider rebuilding the theme instead of spot fixes.
Focus on mobile LCP. Desktop is almost problem-free; for 47% of stores, the problem sits in mobile LCP. For details, see our Core Web Vitals optimization guide.
Connect your reviews to schema. If your review app doesn’t output AggregateRating, you lose the value of your reviews in search results.
Fill in your GTINs. The 43 stores connected to Merchant Center without sending GTINs fall behind on shopping surfaces and in agentic commerce.
Make a deliberate decision on AI bots. Instead of leaving robots.txt at the default, allow or block them, and consider publishing an llms.txt file.
Check your cookie consent. Stores that run marketing pixels without showing a consent banner carry KVKK risk.
Treat the move to Shopify as a chance for a clean build. Carrying the app and code load of the old platform into the new store recreates the gap between stores built from scratch and inherited ones. Common setup mistakes can repeat in the new store too.
Frequently asked questions
Does Shopify work with iyzico and PayTR in Turkey?
Yes. Of the 100 Turkish Shopify stores analyzed, 94 take payments through iyzico (45), PayTR (30), or Craftgate (19).
How fast are Turkish Shopify stores?
On mobile, median LCP is 2,417 ms and median INP is 177 ms. 51 stores pass Core Web Vitals on mobile and 97 on desktop.
Is the number of apps what slows a Shopify store down?
Not on its own. Slow stores run more apps and scripts, but within the same build group, app count has no relationship with performance. What matters is how the store was built and maintained.
Are Turkish Shopify stores ready for AI shopping assistants?
Not yet. Only 3 of 100 stores have a UCP profile, and 25 publish llms.txt; two-thirds of stores connected to Merchant Center are missing GTINs.
Who conducted this research?
Byte Digital, an Istanbul-based Shopify Plus Partner agency, collected and analyzed data from 100 Shopify stores in October 2026.
About Byte Digital
Byte Digital is an Istanbul-based Shopify Plus Partner agency. Focused exclusively on the Shopify ecosystem for 7 years, the team is today one of the largest Shopify-focused agencies in Turkey. It builds, grows, and develops e-commerce for brands such as GODIVA, Yataş, Stanley, Altınyıldız, and Züber.
Byte Digital’s end-to-end services:
Shopify store setup and custom theme development
Migration to Shopify and Shopify Plus migrations
ERP, payment, and shipping integrations
Email marketing as an Omnisend PRO partner
Curious where your store stands on the metrics in this study? Get in touch with the Byte Digital team.
Sources
HTTP Archive, “Web Almanac 2025: Performance” — global Core Web Vitals comparison
web.dev, “How the Core Web Vitals metrics thresholds were defined” — LCP, INP and CLS thresholds
Google Merchant Center Help, “Incorrect GTIN” — GTINs and product visibility
Search Engine Journal, “Google Updates Gemini/Vertex AI User Agent Documentation” (28 April 2025) — Google-Extended
Marie Haynes, “GEO is a distraction” (21 October 2026) — UCP and agentic commerce context
Byte Digital, Turkey Shopify Stores Benchmark dataset, 100 stores, 20 October 2026





