The iframe / runtime problem
Many Shopify page builders do not ship pages as normal theme Liquid. They inject a runtime. That runtime ships JavaScript on every built page — whether shoppers need it or not.
JS injection data (illustrative industry reports)
| Builder class | Typical added JS |
|---|---|
| PageFly-built pages | ~340KB |
| GemPages-built pages | ~260KB |
| Shogun-built pages | ~200KB |
| Native Liquid (Ecomato) | 0KB from the app |
Exact payloads vary by page complexity. The pattern does not: builders add weight; native Liquid does not.
Lighthouse impact
Extra JS delays LCP and TBT. Merchants often report scores falling from the 70–80s into the 50s after migrating key templates into a builder. That is not a vanity metric — slower pages convert worse on mobile.
What native Liquid means
When Ecomato publishes, it uploads Online Store 2.0 Liquid sections into your selected theme and assigns the template. Your storefront serves normal Shopify theme code. Uninstall the app and the pages remain.
The Ecomato approach
- Preview unlimited times (free)
- Publish Liquid into the theme
- No storefront script from Ecomato
- Keep pages if you leave
Outline to expand (~800 words)
- Case vignette: score drop after PageFly
- How to measure builder JS in DevTools
- Conversion math for 100ms delays
- Migration checklist from builder → native Liquid
- CTA to Ecomato Spark
Next steps
Compare Ecomato vs PageFly and see features.