Our LCP is just not reducing even on. empty page load

Hi,

we made our shopify app (Moby Marketing & Conversions - Marketing & Discount Promotion Pan India at Cost Per Sale... | Shopify App Store) using gadget.dev, but we are unable to reduce our LCP ( 7.5 ) to the required 2.5 for BFS qualification. Our app is a not a theme etc with heavy graphics. Simple functionality of creating coupon codes + add money to inbuilt wallet + coupon code usage detected + commission charged on in app wallet deposit…

All other parameters are well below the required ie

LCP required below 2.5 s, we are 7.5 s

FID required below 100 ms, we are 3ms

CLS required below 0.10 ms, we are 0.04ms

INP required below 200 ms, we are 64ms

We even loaded an “ empty page ” the LCP remains close to 4.5 for that too. so surely there is something we are missing here as the requirements laid don by shopify cannot be border line achievable, instead easily like the other 3 parameters which means it is not a improvment over time situation, but more something like a button that has to be turned on.

We even made all the changes as required by gadget support and now all as per their request 2 months ago.

Quote:

  1. You should update your Gadget provided packages:

<CleanShot 2025-09-03 at 14.21.58@2x.png>

Use the “Update Gadget-provided npm packages” command from the command palette (top search bar in the editor)

  1. Remove deprecated packages:

<CleanShot 2025-09-03 at 14.24.11@2x.png>

These packages are just bloat and will make your application take longer to load

  1. Switch your frontend framework to Remix and use server-side rendering (SSR).

Index - Developer Docs - Gadget

Frontend Overview - Developer Docs - Gadget

loader | Remix

  • Use the loader function to load static data
  • Use a fresh Gadget app as an example on how to switch over
  • Make sure to remove any unused code afterwards
  1. Reduce the amount of unused code in your files. Reduce the number of useStates and reduce the number of rerenders.
  • This also means that you should remove unused imports
  • Consider using TS in your app instead of JS to minimize the number of these errors
  1. Update all Shopify packages to the latest versions

  2. Fix errors in code that might cause your application to return to fallbacks (web/api.js for example):

<CleanShot 2025-09-03 at 14.28.28@2x.png>

Unquote

all above were done - but this is not getting resolved

If we can get some expert advise or help to 100% resolve this please connect.

Hey @Moby_Ads !

The first thing you’re going to need is more data to understand what is slowing down your LCP. We use Sentry and Posthog to gather web vitals data and help isolate where the issue is.

Things I would look out for:

  • What is your time to first byte (TTFB) score? This will tell you if you’re dealing with server-side or client-side issue (or both)
  • Are all page scores that high or is it isolated to a specific page? Maybe your homepage is loading too much data
  • Is page speed good in some countries and really bad in others? This would point to a content delivery issue, and you’d need to set up your app to be distributed closer to your users.

Low Hanging Fruit
One place where you can start is to check how your app loads in your browser’s network tab. How long it takes for your app to return a response will tell you if you’re looking at a server-side and client-side slow down. Your TTFB should be as low as possible, under 1s ideally. Anything above ~2s is a clear server-side issue. If that’s the case, check your route’s loaders and make sure you’re making data requests in parallel instead of in series.