integrations

Shopify troubleshooting

When the token, the scopes or the blog get in the way.

tip

Most of the issues below come down to one missing click in the Shopify Dev Dashboard. If you'd rather hand it off, email support@quibo.cc and a real human answers within one business day.

"401", "403" or "Access denied" on test connection or publish

Shopify answers 401 or 403, or a GraphQL ACCESS_DENIED error, when the token is not accepted or the app lacks a scope. Work through the list in order; each item takes a minute.

  1. Scopes not granted. In the Dev Dashboard open the app, Versions, and check that the released version lists both read_content and write_content. Missing read_content breaks the test connection and the blog discovery; missing write_content breaks publishing only.
  2. Version not released. A version with the right scopes that was never released does nothing. Click Release on it. If the app was already installed with an older version, reinstall it on the store afterwards: Shopify does not push scope changes to an installed store on its own.
  3. App not installed on this store. Open the app's Home tab, scroll down, click Install app, choose the store, click Install. Until then the token endpoint answers invalid_client and Quibo reports that the app is not installed on the store.
  4. App in a different organization than the store. The Dev Dashboard is per organization, and an app can only be installed on stores of its own organization. If the store was created under another organization or a different Partner account, the store will not appear in the install dialog. Sign in to the organization that contains the store and create the app there, or ask the store owner to do it.
  5. Secret rotated. If the Client secret was rotated in Settings, the old one stops working. Open the site page, Update credentials, and paste the new secret; it is verified before it is saved.
  6. Legacy custom app. A shpat_ token stops working when the custom app is uninstalled from the store, and never worked if the app has no content scopes (Shopify admin, Settings, Apps and sales channels, Develop apps, your app, Configuration). Fix the scopes or reinstall the app, then open the site page in Quibo and use Update credentials in the Credentials card; the new values are verified before they replace the old ones.

"invalid_client" on test connection

Same causes as above, seen at the moment Quibo asks Shopify for a token: the app is not installed on this store, the store and the app belong to different organizations, or the Client ID and Client secret do not belong to the same app. Check the three in that order.

"404" or "shop not found"

The shop domain is wrong. The usual cause is a custom domain such as www.acme.com entered instead of the *.myshopify.com domain. Find the right one in the Shopify admin under Settings, Domains: it is the one Shopify lists as the myshopify domain. The custom domain belongs in the Site URL field, not in the shop domain. Open the site page, Update credentials, and enter the right domain.

"No Shopify blog selected"

The store has no blog, or Quibo could not discover one. Every store starts with a "News" blog, but it can be deleted.

Fix: in the Shopify admin open Content, Blog posts, Manage blogs and add a blog (or check that one exists). Then click Re-crawl brand on the site page so Quibo discovers it. Both the plain number from the admin URL and the gid://shopify/Blog/... form are accepted as Blog ID.

Cover image not attached

Shopify does not receive the image bytes from Quibo: it receives the cover URL and downloads the image itself. If the article is published without its cover, or Shopify reports an error about the image, Shopify could not fetch that URL. Typical causes:

  • The image URL is not public (signed URL that expired, private bucket, hotlink protection).
  • The URL does not serve a plain image file (an HTML page, a redirect chain, an unusual format).

Fix: open the image URL from a private browser window. If it does not load there, it will not load for Shopify either. Once the URL is reachable, publish the article again from Quibo, or add the cover by hand in the Shopify admin (open the article under Content, Blog posts).

"Shopify is throttling requests"

The GraphQL Admin API has a per-store request budget. If a lot of other apps are hitting the store at the same time, Shopify asks callers to slow down. Wait a minute and publish again; no article was created in the meantime.

Article published but not visible on the storefront

  • In the Shopify admin open Content, Blog posts. The article should be listed as visible. Quibo publishes with isPublished: true; if the article shows as hidden, an app or a person hid it after publishing.
  • The blog itself may not be linked in the store navigation. The direct URL still works: https://your-domain/blogs/<blog handle>/<article handle>. The blog handle is shown under Content, Blog posts, Manage blogs; the article handle is the slug Quibo assigned.
  • Storefront pages are cached for a short while; give it a minute and reload.

The article URL uses the myshopify domain

Quibo builds the article link from the store's primary domain as reported by Shopify. If the link still shows acme.myshopify.com, the custom domain is not set as primary yet: Shopify admin, Settings, Domains, set the custom domain as primary. Links of articles published afterwards use it.

How to test the connection

On Sites, then your site click Test connection. Quibo mints a token (or uses the legacy token), then runs a small GraphQL query that reads the shop name and the first blog. The result tells you which step failed:

  • "not installed on this store" or "different organizations": the token request was refused. See "invalid_client" above.
  • "rejected the credentials or the app lacks the read_content and write_content scopes": the token was minted but the query was denied. See the 401 / 403 section above.
  • "was not found (404)": the shop domain is wrong.
  • Success: the store is reachable and the scopes are in place. If publishing still fails, the error on the article names the field Shopify rejected.

Where to find the article

  • In the Shopify admin: Content, Blog posts. Articles created by Quibo carry the Default author of the site as their byline and the meta description as their excerpt.
  • On the storefront: https://your-domain/blogs/<blog handle>/<article handle>. Quibo records this link on the article once it is published.

Still stuck?

Email support@quibo.cc with the organization ID shown in Settings, Account and the shop domain. Business plans get priority routing, with a typical response under 8 business hours.

If you'd rather start clean: creating a fresh app in the Dev Dashboard takes five minutes and is often faster than debugging an old one. Connect a new site