Shopify Sync Often Fails

Dear Gadget Support Team, We are seeing many failed Shopify syncs recently. In the shopifySync model, we found one of these errors in the errorDetails field: - GGT_SHOPIFY_REQUEST_ERROR: Unable to list transactions for shop [storeName].myshopify.com ([shopId]) - GGT_SHOPIFY_REQUEST_ERROR: Unable to get app installation for [storeName].myshopify.com ([shopId]) But when we check the sync logs, we do not see these errors there. For example, for connectionSyncId = "85995", the error is in the shopifySync data, but not in the logs. This makes it hard for us to understand what is going wrong. If we try the sync again a few times, it finishes successfully. So we don’t think this is an authentication problem. But we are not sure what the real issue is. Here is a list of the syncs where sync failed yesterday: recordId: 85784 recordId: 85812 recordId: 85823 recordId: 85829 recordId: 85864 recordId: 85833 recordId: 85873 recordId: 85881 recordId: 85844 recordId: 85851 recordId: 85874 recordId: 85883 recordId: 85880 recordId: 85902 recordId: 85917 recordId: 85914 recordId: 85908 recordId: 85913 recordId: 85933 recordId: 85916 recordId: 85906 recordId: 85950 recordId: 85934 recordId: 85959 recordId: 85954 recordId: 85936 recordId: 85951 recordId: 85918 recordId: 85937 recordId: 85949 recordId: 85955 Could you please help us find out what is causing this? Thank you very much.
25 Replies
Aya
AyaOP4mo ago
seeing many failed again today 😭
Aya
AyaOP4mo ago
app: rw-ranky env: production
Chocci_Milk
Chocci_Milk4mo ago
Hello, Could you please share a traceId and the id of the shop? I suspect that the user hasn't updated their scopes. I would however expect to not attempt fetching certain data if the scopes don't allow it.
Aya
AyaOP4mo ago
Thank you Antoine! Here are a few traceIds for now. It was difficult for me to collect all 36 of trace Ids, but if you need more Ids, please let me know. 🙇‍♀️ Shop1 failed: 3ad3dd6dbb7151dabe66007fe157dbc8 successed after manually Sync: 50a2ff39e70ca7266b385fb94d9d9983 Shop2 failed: 9a9423d9136027832f79d94ded5383a2 //This shop hasn't succeeded yet Shop3 failed: fe614aff3698eab7abcd2ec6376ee754 successed after manually Sync: d7f1a5245a8edca3a03d965a2d77ddaf
Chocci_Milk
Chocci_Milk4mo ago
For the first shop, From where was the sync run? What errors did you see exactly? I only see a GGT_SHOPIFY_REQUEST_ERROR: Unable to access shop error which suggests that there would not be an access token or the correct scopes selected for the shop Might I ask why there are so many syncs running so close to each other?
Chocci_Milk
Chocci_Milk4mo ago
No description
Aya
AyaOP4mo ago
From where was the sync run?
The "syncing shop" log appears under this trace ID: 726be5e88a3e0903a2fb30b5620e8c95 (I'm not sure why the trace ID is split across entries, though.)
What errors did you see exactly?
In the trace Id " 3ad3dd6dbb7151dabe66007fe157dbc8", the error action of shopifySync was called. Here is the relevant log output: console.log(JSON.stringify(record), SHOPIFY_SYNC_ERROR_RECORD message: ${message} params: ${JSON.stringify(params)}); And here is the full log:
{"id":"86170","createdAt":"2025-05-14T05:31:59.996Z","updatedAt":"2025-05-14T05:32:30.457Z","state":"errored","stateHistory":null,"domain":"xn-mbkua9bd3c2dzej6u.myshopify.com","errorDetails":"","errorMessage":"GGT_SHOPIFY_REQUEST_ERROR: Unable to access shop xn-mbkua9bd3c2dzej6u.myshopify.com (78701232443)","syncSince":"2025-05-13T04:31:31.891Z","force":false,"models":["shopifyApp","shopifyAppInstallation","shopifyAppUsageRecord"],"shop":"78701232443","__typename":"ShopifySync","shopId":"78701232443"} SHOPIFY_SYNC_ERROR_RECORD message: production環境でのSyncでエラーが起きました: recordId: 86170, shop: 78701232443 params: {"id":"86170","shopifySync":{"errorMessage":"GGT_SHOPIFY_REQUEST_ERROR: Unable to access shop xn-mbkua9bd3c2dzej6u.myshopify.com (78701232443)","errorDetails":"","state":"errored","shop":{"_link":"78701232443"}}}
{"id":"86170","createdAt":"2025-05-14T05:31:59.996Z","updatedAt":"2025-05-14T05:32:30.457Z","state":"errored","stateHistory":null,"domain":"xn-mbkua9bd3c2dzej6u.myshopify.com","errorDetails":"","errorMessage":"GGT_SHOPIFY_REQUEST_ERROR: Unable to access shop xn-mbkua9bd3c2dzej6u.myshopify.com (78701232443)","syncSince":"2025-05-13T04:31:31.891Z","force":false,"models":["shopifyApp","shopifyAppInstallation","shopifyAppUsageRecord"],"shop":"78701232443","__typename":"ShopifySync","shopId":"78701232443"} SHOPIFY_SYNC_ERROR_RECORD message: production環境でのSyncでエラーが起きました: recordId: 86170, shop: 78701232443 params: {"id":"86170","shopifySync":{"errorMessage":"GGT_SHOPIFY_REQUEST_ERROR: Unable to access shop xn-mbkua9bd3c2dzej6u.myshopify.com (78701232443)","errorDetails":"","state":"errored","shop":{"_link":"78701232443"}}}
So, I believe the error was caused by: GGT_SHOPIFY_REQUEST_ERROR: Unable to access shop
suggests that there would not be an access token or the correct scopes selected for the shop
That explanation does make sense — the error message does suggest a missing access token or insufficient scopes. However, since the sync succeeded both the day before and the day after, and we haven’t changed anything on our end...
Might I ask why there are so many syncs running so close to each other?
I manually triggered the sync on May 14, 2025 at 1:48 AM, after I noticed that the one at 1:31 AM had failed. However, I’m not sure why so many syncs were triggered on May 10, 2025.🙇‍♀️
Chocci_Milk
Chocci_Milk4mo ago
For the second shop you're getting errors having to do with making too many requests to the Shopify API. TOO MANY REQUESTS. It's throwing on calls to https://peopletree-co-jp.myshopify.com/admin/api/2024-10/customers.json?limit=50&page_info=eyJkaXJlY3Rpb24iOiJuZXh0IiwibGFzdF9pZCI6ODUzNzc1NzEyMjg1OCwibGFzdF92YWx1ZSI6MTcyMzc1MjEzMjAwMH0 but that seems to be as a result of logic somewhere else in your application. A partial solution might be syncing less data on syncs/initial syncs You could always run an initial sync with crucial models then get additional information after the initial sync is complete. Basically, add a field to your data model that's initial (for example) and on the complete action see if record.initial is true, then run a sync to get the rest of the data Or you would need to find another way to rate limit your calls to shopify during the sync
Aya
AyaOP4mo ago
Thank you for your consideration. I understand that the issue is not with the Sync functionality itself, but rather with hitting rate limits in the API calls our app is making. We've been experiencing API rate limit issues with other features as well, so we definitely want to address this. Regarding the daily scheduled Sync that's currently failing - we've already limited it to just the three SyncOnlyModels, so I'm not sure if splitting between initial sync and subsequent syncs would significantly reduce the data volume in our case. As a try, I'll try changing the scheduled sync to run at night to avoid times when our rankJudge feature is active, which may be contributing to the rate limit issues. We'll monitor the results and see if this improves the situation.
Chocci_Milk
Chocci_Milk4mo ago
Let us know how it goes. I was only able to quickly look into your app because its so big but I could do a deeper dive later
Aya
AyaOP4mo ago
Thanks, Antoine! Just a quick update: We changed the scheduled sync time to 10:15 PM on May 19. That night, we still saw some errors, but since May 20, the syncs have been running without any issues. After posting the question here, I also realized that another one of our apps (au-safe-delete) was showing similar errors until around May 19 as well — even though it doesn’t process a large volume of data and hasn’t had any rate limit issues in general. That makes me think the failures may not have been related to heavy processing or rate limits after all. We’re still not exactly sure what caused the problem, but things seem stable for now.
Chocci_Milk
Chocci_Milk4mo ago
Let us know if you see any more errors and I’d be glad to help you investigate
Aya
AyaOP4mo ago
Unfortunately, we saw the same sync error again last night on four different stores. One of them — recordId: 87984, shop: 90135789872 — is a test store I use in our production environment. It had been syncing successfully up until May 21, and we haven’t made any changes to its access settings. So it’s quite strange that it suddenly started failing again. traceId: 471c31e394235508ad0a3efcabd1a725 Also, during the same time window (2025-05-22 from 22:15 to 22:20 JST), we didn’t observe any other rate limit errors in our system — only the sync-related errors appeared.
No description
Aya
AyaOP4mo ago
Other three stores: recordId: 87996, shop: 92988834113 xz15a1-mj.myshopify.com traceId: d58f44bcd2ba6178c8957b9f4c7a96ac recordId: 87969, shop: 85606170914 ruby-ikeda-test.myshopify.com traceId: 337bb6b4fdcc99c9e38b905a770fd2d2 recordId: 87968, shop: 84585087295 quickstart-086765fa.myshopify.com 5a5616b23611ffdc179376f7a238a107
Chocci_Milk
Chocci_Milk4mo ago
Every time I look at your logs it seems that the sync fails only once in a while. It shouldn't happen at all but this suggests something else is wrong with the application or the models being synced. Right now, each sync just seems to be forshopfiyApp, shopifyAppInstallation and shopifyAppUsageRecord any time it fails You might be missing required scopes? I'm not sure if Shopify has secretively changed whats required to sync those resources but I only see GGT_SHOPIFY_REQUEST_ERROR: Unable to get app for shop ruby-ikeda-test.myshopify.com (85606170914) when looking at the logs
Aya
AyaOP4mo ago
Regarding the test store I mentioned earlier (90135789872), we haven’t made any changes to it — including its scopes.
The sync failed on only one specific day, while succeeding on both the day before and the day after.
Also, the stores that fail vary from day to day.
Because of this, we suspect the issue may be occurring outside of anything we can control. We honestly have no idea what could be causing this.
If nothing has changed on Gadget’s side, then the only possibility left would be a change on Shopify’s end — is that correct?
Right now, each sync just seems to be forshopfiyApp, shopifyAppInstallation and shopifyAppUsageRecord any time it fails
yes, the models shopifyApp, shopifyAppInstallation, and shopifyAppUsageRecord are expected.
These are the ones we explicitly specify in syncOnlyModels, and they are scheduled to be synced daily.
Chocci_Milk
Chocci_Milk3mo ago
We honestly have no idea what could be causing this.
If nothing has changed on Gadget’s side, then the only possibility left would be a change on Shopify’s end — is that correct?
That's what I was thinking but I haven't been able to find anything to actually support that. Your access token is always correct and up to date but we get responses that its not. I haven't seen this personally so I don't know what to tell Shopify support if I were to reach out to them. Do you mind reaching out to them to see if they can look into it? Gonna look to see if I can't find you a requestId for a failed sync
Aya
AyaOP3mo ago
@Chocci_Milk Sorry for the delay — I got a bit busy with other tasks. I'll go ahead and open a support request with Shopify. Could you please confirm if the following explanation looks correct? --- I'm reaching out because we're seeing API request failures and we are not sure what is causing them. When requesting the Shopify API through Gadget, errors are returned from the Gadget platform. Specifically, errors like: - Unable to access shop adwdca-19.myshopify.com (91244757288) - Unable to get app for shop aya-test-prod-20241101.myshopify.com (90316636477) - Unable to get app installation for shop aya-test-prod-20241101.myshopify.com (90316636477) According to the Gadget support:
"Your access token is always correct and up to date but we get responses that it's not." Interestingly, when retrying the API request, the same store may eventually succeed after several attempts. This issue has been occurring daily across different stores since mid-May. Could you help us investigate what might be causing this behavior? --- Please let me know if this explanation looks good, or if you have any suggestions for better wording before I contact Shopify.
Gonna look to see if I can't find you a requestId for a failed sync
Thank you, I would like to include a recent failed request as an example for Shopify support to investigate.
Here’s the traceId for today's failure: traceId: c6390224c06df8cf415f828e9d0a6238
Chocci_Milk
Chocci_Milk3mo ago
This trace seems to point towards making too many requests to the Shopify API:
No description
Chocci_Milk
Chocci_Milk3mo ago
I unfortunately don't see a requestId ere though
Aya
AyaOP3mo ago
I haven't seen this personally so I don't know what to tell Shopify support if I were to reach out to them. Do you mind reaching out to them to see if they can look into it?
The Shopify support team was quite busy, so I finally received a response today. They advised me to contact Gadget regarding the issue. I’m pasting their reply below — it was written in Japanese, so I’m leaving it as-is. Please feel free to use any translation tool as needed. -- こんにちは、 喜んでお手伝いさせていただきます。今回のケースでは、スクリーンショットから判断すると、リクエストを実際に発行しているのはGadgetの開発者であると思われますので、開発者にお問い合わせいただくのが最善策です。 開発者はx-request-idを提供できるはずですが、ご提供いただいた情報から判断すると、レート制限の問題であるように思われます。Gadgetチームと開発者の皆様と共に、レート制限に関するこちらのドキュメント(Rate_limits )を確認することをお勧めします。 他にご不明な点や、私が見落としている点がございましたら、こちらにご返信ください。できるだけ早くご返信いたします。 どうぞよろしくお願いいたします。 Gavin | 開発者サポート
Shopify
REST Admin API reference
The Admin API lets you build apps and integrations that extend and enhance the Shopify admin. Learn how to get started with REST endpoints.
Aya
AyaOP3mo ago
Here is the screenshot that Shopify referred to.
No description
Aya
AyaOP3mo ago
I just wanted to mention — since last Friday, we haven’t seen any of the sync errors that used to happen daily. Everything seems to be completing successfully now... Was there perhaps a fix applied on your side? 🙏
Chocci_Milk
Chocci_Milk3mo ago
We haven't made changes to these models or the sync. there have however been some infra improvements that would have resolved your Timeout awaiting 'connect' for 1500ms errors
Aya
AyaOP3mo ago
Thanks so much for the improvements!

Did you find this page helpful?