Hello,
My name is Axel, and I run PlusSales Shopify App.
For the past couple of months, we have been trying to achieve “Built For Shopify” Status, however our main issue is reducing our CLS(Cumulatics Layout Shift) as well as our LCP(Largest Contentful Paint). As you can see from the provided screenshots, our testing sources which vary from Chrome Dev Console to PageSpeed, tell us that both on mobile and desktop, our CLS is well under 0.1s and our LCP is under 2.5s.
However our Shopify Partner Dashboard seems to say otherwise, which is creating a problematic obstacle for us to reach the “Built For Shopify” Status.
We would love any help on understanding why there seems to be such a huge gap in CLS and LCP from Shopify and our own testing tools.
Hi Axel, have you tried to debug with the tools provided? See below.
I would not compare scores from Dev Console or PageSpeed as they are not indicative of real world usage data.
Q12: Why do the metrics I capture not match what Shopify records?
A: Metrics differences between your data and Shopify’s often result from variations in where and how data is captured. Shopify’s metrics typically reflect a wide range of real-world conditions, while your setup may differ in network speed, caching, or device performance. We know this has been a frustration for many developers, which is why we created debugging tools for Web Vitals. Learn how to enable debugging.
Hey benji,
Thanks for the help and response, I was made aware of this a couple weeks ago when I did my post and some extra research.
However I now have another issue with shopify partner web vitals.
It doesn’t update consistently anymore, the graph for CLS AND LCP is broken, it shows values for 14 dec then 19 dec, and its been stuck like this for a couple days again it just doesn’t update, this also means the value of the CLS and LCP for my app doesn’t update either further increasing the difficulty to achiever the built for shopify status.
Any help would be appreciated thanks.
Axe
Hi @Benji_Yang ,
I’m using the Web Vitals debugging tools to capture LCP metrics. I’ve followed the documentation and successfully retrieved the LCP value. However, I couldn’t identify which element is being considered as the LCP. Could you advise on how we can reliably capture the specific element on each page load? This would help developers focus on improving the LCP more effectively.
Here’s an example of the data I’m receiving:
{
“element”: “null”,
“name”: “”,
“entryType”: “largest-contentful-paint”,
“startTime”: 1078.2000000476837,
“duration”: 0,
“size”: 30415,
“renderTime”: 1078.2000000476837,
“loadTime”: 0,
“firstAnimatedFrameTime”: 0,
“id”: “”,
“url”: “”
}
Thank you!
You have to clean your cache to get accurate measures, try reloading with Ctrl+R or Cmd+R on mac and you get more accurate measures.
Also try using a different device sizes, if your app is translated, the LCP might change depending on your language, since the size of elements will vary according to each language.
Keep in mind that LCP is not an accurate measure of how fast your app actually loads for the user.
Im having a similar issue. I’ve outlined it here.
I’m catching the webvitals for all merchants that use our app. the LCP from app bridge is well under the 2.5 average (hundereds of records captures a day) from the call back, but the partner dashboard shows otherwise.
Every other webvital score is well below the BFS standard.
The disconnect from app bridge to the partner dashboard or I am doing something really wrong. How do we resolve this?
Hi Benji, I’ve spent years trying to get this badge for my apps.
When I run the lighthouse tests directly off the app on my dev server i get 2.5-3s LCP (desktop). In the Shopify Parners Insights it says 8 secs.
There are several issues with the LCP scoring in the admin:
-
It should show a breakdown of desktop vs mobile.
-
It should show the app entry points (are the users coming in from Admin links to specific sections? New users vs. existing users?)
-
It should at least explain if it includes the time that Shopify itself takes to load? Whenever i move from page to page in Shopify Admin, its SLOW - is this contributing to LCP? When is the moment that the LCP first starts being measured? Why is there such a large difference in LCP scoring between my dev server directly and from within the Shopify Admin? Can you update the LCP Tool to show what this could be caused by? Authentication maybe? Even if there is an issue on the first stage of loading, it still takes longer to fully load in the Admin then on our dev directly. Why?
-
Does it only count the first app load? Or every subsequent page load? I have One Page Applications, so they only load once, on a single url - there are no urls switching between sections. So, when the app first loads it does take a couple seconds to download some data (but its still very fast, especially after its cached!), and then there are absolutely no more page loads moving from section to section (so its actually MUCH faster than 99.9% of apps - see for yourself plz).
-
Would using distinct urls (ie. app/tool1, app/tool2, etc). trigger “page loads” and count towards LCP? If so, what javascript could potentially work to trigger page loads, particularly if the app doesn’t need them, but needs to prove it has a LOW LCP given that once you’re in the app everything is instantaneous fast?
-
I have done many tests back to back against other apps and even the Shopify app Admin and Partners Admin, and i don’t see how Shopify or other Apps are any faster, and in some cases Shopify itself is much slower, and so it seems that the LCP scores are either wrong in terms of some types of applications - or there really needs to be a much clearer breakdown of loading issues so its actually possible to understand what the problem might be.
Any way you guys can add CLARITY for LCP? And I’m referring to very technical clarity, not like hey check out this post or use Core Web Vitals. Maybe some in depth explanations directly from the person/people that designed and built the LCP tools in the insights section? That person could really help shed some light for us that have been on the platform for years, with advanced applications that are truly unable to pass these tests (LCP specifically!).
Best regards!