We are pleased to announce a new beta feature in our Shopify App which allows the retrieval of Metafield data from your store using Shopify’s GraphQL API instead of their REST API. This approach can bring major performance improvements in the time required to sync your store data with Klevu.
Currently this feature must be enabled by our backend team as we will first review your store for suitability, since there are certain criteria that can improve your sync time but also criteria that can negatively impact performance.
The easiest way to highlight this is in a table which shows the results of some tests we have performed, showing the sync time of a Shopify Standard store with around 500 products and 2,000 product variants, all of which have Metafields associated.
|Metafields configured to sync with Klevu||Sync time with REST* (for 2,500 products)||Sync time with GraphQL* (for 2,500 products)|
|1||18 minutes||2.5 minutes|
|5||18 minutes||6 minutes|
|10||18 minutes (always 18 minutes)||9.5 minutes (~½ time of REST)|
|20||18 minutes (same as GraphQL)||18 minutes (same as REST)|
|25||18 minutes (faster than GraphQL)||22 minutes (slower than REST)|
As you can see for a store with only 1 Metafield indexed with Klevu, GraphQL provides a huge improvement over REST, whereas a store with 10 Metafields is around twice as fast.
The Metafield count here is not the number of Metafields you have saved against a particular product. Instead it represents the number of Metafields you have configured for retrieval within the Klevu App settings. This is important to understand because changing the Klevu App configuration to include more or less Metafields can have a direct impact on the sync time when using GraphQL.
For example, if your products have hundreds of Metafields but you only configure Klevu to index one of them, you can expect much faster Metafield index times using GraphQL versus REST. As a rule of thumb if you need to index less than 20 Metafields with Klevu, you may benefit from this new approach.
On a real Shopify Standard store with over 10,000 products, we saw the sync time improve from 3 hours to just 1 hour. Another similar store using Shopify Plus dropped from 1 hour 45 minutes to just 35 minutes.
At Klevu we are continuing to innovate and exploring more and more ways to get your data indexed as fast as possible. If you are interested in trying this feature for improved sync times, please do reach out to firstname.lastname@example.org with your store details.
* The sync times detailed in this article will vary depending on many factors such as product and variant count, store configuration, additional entities to index and even the performance of the Shopify API itself.