> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# File Library by Type, Shopify

> File Library by Type for Shopify stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> Distribution of files in the Shopify Files library by MIME type or extension. The catalogue-asset hygiene view: are images, videos, fonts, and PDFs in the right ratios for performance and cost?

|                                   |                                                                                                                                                                                                                  |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**                | `GROUP BY mimeType FROM Files`. Returns a count per file type plus optional total bytes per type. Includes only files in the Files library (uploaded media), not theme assets, app assets, or order-attachments. |
| **API endpoint**                  | `Admin GraphQL. Files.edges.node.mimeType, Files.edges.node.fileSize`.                                                                                                                                           |
| **What "Files" means in Shopify** | Files uploaded via Settings → Files (or attached to product / page / blog editors). Theme assets are separate. Order attachments are separate.                                                                   |
| **VAT / tax treatment**           | Not applicable.                                                                                                                                                                                                  |
| **Shipping**                      | Not applicable.                                                                                                                                                                                                  |
| **Discounts**                     | Not applicable.                                                                                                                                                                                                  |
| **Refunds**                       | Not applicable.                                                                                                                                                                                                  |
| **Cancelled / voided orders**     | Not applicable.                                                                                                                                                                                                  |
| **Currency**                      | Not applicable.                                                                                                                                                                                                  |
| **Channels / sources**            | Files are store-wide; not channel-specific.                                                                                                                                                                      |
| **Filename hygiene**              | Many merchants accumulate junk-named files (IMG\_1234.jpg, Screenshot 2025-04-12.png) which are SEO-invisible. The card surfaces volume; cleanup is manual.                                                      |
| **Time window**                   | `RT` (real-time, computed from latest indexed snapshot)                                                                                                                                                          |
| **Alert trigger**                 | None on this card directly.                                                                                                                                                                                      |
| **Roles**                         | owner, operations                                                                                                                                                                                                |

## Calculation

Calculated automatically from your Shopify data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

A UK DTC homeware brand on Shopify. Snapshot date: 12 May 26. Files library: 4,820 files.

| MIME type                        | File count | Share    | Total bytes | Note                                     |
| -------------------------------- | ---------- | -------- | ----------- | ---------------------------------------- |
| image/jpeg                       | 2,810      | 58.3%    | 4.2 GB      | Product photography                      |
| image/png                        | 1,140      | 23.7%    | 1.8 GB      | Banners, transparent overlays, lifestyle |
| image/webp                       | 380        | 7.9%     | 0.42 GB     | Re-encoded for performance               |
| image/svg+xml                    | 142        | 2.9%     | 0.04 GB     | Icons, logos                             |
| video/mp4                        | 28         | 0.6%     | 1.1 GB      | Product videos, hero reels               |
| application/pdf                  | 84         | 1.7%     | 0.18 GB     | Care guides, size charts                 |
| application/vnd.ms-excel + .xlsx | 12         | 0.2%     | 0.005 GB    | Internal docs                            |
| font/woff2                       | 4          | 0.1%     | 0.0008 GB   | Theme fonts                              |
| Other                            | 220        | 4.6%     | 0.8 GB      | Misc                                     |
| **Total**                        | **4,820**  | **100%** | **8.55 GB** |                                          |

Five things to notice:

1. **WebP coverage is only 7.9%, a performance opportunity.** WebP files are 25 to 35% smaller than equivalent JPEG / PNG with no visible quality loss. A bulk re-encode of the JPEG / PNG library to WebP would save roughly 1.5 GB of CDN egress and meaningfully improve LCP on product pages. Apps like Crush.pics, TinyIMG do this in batch.
2. **PNG share at 23.7% is high.** PNG is heavy and often unnecessary; most banners and lifestyle shots can be JPEG or WebP. PNG should be reserved for transparent / icon-style assets. A cleanup pass identifying non-transparent PNGs and converting them is a 1-day intervention.
3. **Video at 1.1 GB on 28 files is the biggest per-file cost.** Average video size is 39 MB. If you're serving these inline from Shopify (not via a CDN like Cloudinary or Bunny), expect mobile bandwidth costs and slow LCP. Consider hosting video on a dedicated CDN and embedding via `<video>` tags pointing externally.
4. **84 PDFs is non-trivial catalogue baggage.** Care guides, size charts, lookbooks. Each PDF is an indexed asset for Google but rarely a customer journey driver. Audit which PDFs get downloads (Shopify doesn't expose this directly; use Google Analytics outbound-click tracking). Sunset unused PDFs.
5. **Overall library size at 8.55 GB is manageable.** Shopify charges no overage for files within reasonable limits (typically 100 MB per file). Library bloat affects search-and-find within the merchant team, not bandwidth cost. The fix is naming convention, not deletion: rename files at upload time so they're searchable and SEO-friendly (linen-shirt-charcoal-front.jpg vs IMG\_4982.jpg).

## Sibling cards merchants should reference together

File library is one part of a bigger asset-quality picture. Pair with these:

| Card                                                                                 | Why pair it with File Types        | What the combination tells you                                                          |
| ------------------------------------------------------------------------------------ | ---------------------------------- | --------------------------------------------------------------------------------------- |
| [Missing Descriptions](/nerve-centre/kpi-cards/shopify/products-missing-description) | Catalogue copy quality.            | Combined image + description quality reveals where PDPs need investment.                |
| [Missing SEO](/nerve-centre/kpi-cards/shopify/missing-seo-title-count)               | SEO-fields hygiene.                | Image alt text and SEO meta fields together drive search visibility.                    |
| [Collection Health](/nerve-centre/kpi-cards/shopify/collection-category-count)       | Merchandising-organisation health. | A well-organised collection set with rich imagery beats a flat catalogue.               |
| [`google_analytics.ga_lcp`](/nerve-centre/google_analytics/ga_lcp)                   | Largest Contentful Paint metric.   | High image weight → poor LCP → poor SEO. The connection from image type to performance. |
| [`pagespeed.pagespeed_score`](/nerve-centre/pagespeed/pagespeed_score)               | Page-level performance score.      | Image format mix is one driver of the score.                                            |
| [`crux.crux_lcp`](/nerve-centre/crux/crux_lcp)                                       | Real-user LCP from CrUX.           | Field-data view of the same performance issue.                                          |

## Reconciling against the vendor's own dashboard

**Where to look in Shopify Admin:**

[Settings → Files](https://admin.shopify.com/settings/files) → filter by file type. The total count and per-type counts should match this card to within sync-lag tolerance. Shopify's Files page paginates; a full count requires scrolling or filtering.

Other Shopify Admin views:

* **Theme code editor**: theme assets (CSS, JS, theme images) are NOT in the Files library and not counted here.
* **Apps like Crush.pics, TinyIMG**: image-optimisation apps show their own asset inventory; expect alignment but not identical numbers (apps may reference theme images too).

**Why our number may legitimately differ from Shopify Admin:**

| Reason                 | Direction              | Why                                                                                                                                                                                            |
| ---------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Theme assets**       | Both exclude           | Theme files (logo SVG, custom CSS, theme JS) are NOT in the Files library and not counted here.                                                                                                |
| **App-uploaded files** | Either                 | Some apps create files in the library; the card counts them, the merchant may not realise.                                                                                                     |
| **MIME detection**     | Either                 | Some files have ambiguous MIME types (e.g. .pdf upload that the browser tags as application/octet-stream). The card uses the indexed type, which may differ from Shopify's auto-detected type. |
| **Sync lag**           | Ours lower for "today" | New uploads propagate within minutes.                                                                                                                                                          |

**Cross-connector reconciliation:**

This is a Shopify-internal asset-management metric. Indirect cross-connector signals:

| Card                                                                                         | Expected relationship                      | What causes legitimate divergence                                                                 |
| -------------------------------------------------------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| [`pagespeed.pagespeed_lcp`](/nerve-centre/pagespeed/pagespeed_lcp)                           | Image format mix affects LCP               | A WebP-heavy library should correlate with better LCP; a JPEG / PNG-heavy library with worse LCP. |
| [`google_analytics.ga_session_duration`](/nerve-centre/google_analytics/ga_session_duration) | Asset weight indirectly affects engagement | Slow pages reduce session length; slow pages often correlate with heavy unoptimised images.       |

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  The same definition lives on other commerce platforms. Cross-platform navigation only.

  * [`bigcommerce.file_types`](/nerve-centre/kpi-cards/bigcommerce/file-library-by-type)
  * [`adobe_commerce.file_types`](/nerve-centre/adobe_commerce/file_types)
</details>

## Known limitations / merchant FAQs

**Why doesn't this match my theme's image count?**
Theme assets (CSS, JS, theme-bundled images) are stored separately and are not in the Files library. The card only counts user-uploaded files (Settings → Files).

**Should I delete unused files?**
Generally no, deletion can break linked product pages, blog posts, and pages. Instead, identify unused files via theme audit (apps like Smart SEO, JSON-LD for SEO can map file usage), then delete only those that are confirmed orphaned. The cost of carrying unused files is minor; the cost of breaking a linked page is high.

**My PNG share is high, is that bad?**
Often yes for performance. PNG is twice the size of equivalent JPEG / WebP for non-transparent images. A bulk audit and conversion to WebP recovers performance with minimal effort.

**Are theme fonts counted?**
WOFF2 and WOFF font files in the Files library are counted; theme-bundled fonts are not.

**Multi-store, can I see combined?**
No, per store. Each store has its own Files library.

**Multi-currency, any impact?**
None.

**Shopify Plus vs basic?**
No definitional difference. Plus stores often have larger libraries because of multi-language storefronts and richer media. The card behaves identically.

**Refresh cadence?**
Real-time index updates within minutes of upload. New file types propagate quickly.

**Do customer-facing files (returns labels, downloadable products) count?**
Customer-facing downloads served via Shopify Files do count. Order-attached files (e.g. proof of payment uploads via apps) may or may not, depending on whether the app stores them in the Files library.

**Action playbook for performance-driven cleanup:**

1. Identify the JPEG / PNG share. If >70% combined, a WebP conversion campaign is worth it.
2. Use an image-optimisation app (Crush.pics, TinyIMG) to bulk-encode existing files.
3. Set a future-upload policy: WebP-first, JPEG-fallback. Most modern image-editing tools export WebP natively.
4. Audit videos. Anything >20 MB is a candidate for off-Shopify CDN hosting.
5. Audit PDFs. Anything older than 12 months without recent download activity is a sunset candidate.
6. Establish a naming convention: kebab-case, descriptive, SEO-friendly. Train the team to follow it at upload time.

***

### Tracked live in Vortex IQ Nerve Centre

*File Library by Type* is one of hundreds of KPI pulses Vortex IQ tracks across Shopify and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
