Shopify troubleshooting
Top Shopify issues — OAuth fails, token refresh expired, webhooks missed, scope health, multi-store, refund tracking. Fixes inline.
Written By Salvatore Sinigaglia
Last updated About 1 hour ago
Top Shopify issues — OAuth fails, token refresh expired, webhooks missed, scope health, multi-store, refund tracking. Fixes inline.
Shopify troubleshooting
Top 8 Shopify integration issues with symptom + cause + fix. For anything else, contact
support@wevion.aiwith your shop URL and workspace ID.
Who is this for
Mediabuyers and admins hitting a Shopify issue — sync stuck, missing orders, webhook problems.
1. OAuth install fails
Symptom: clicking Install app in Shopify Admin → error or redirect loop.
Cause:
- App permissions revoked at shop level
- Browser blocking redirect
- Shop URL mismatch (using custom domain vs
.myshopify.com)
Fix:
- Use canonical
.myshopify.comURL (NOT custom domain) at /connect/shopify - Enable popups + redirects for
app.wevion.aiandaccounts.shopify.com - Try a different browser (incognito, no extensions)
- If app shows as already installed in Shopify Admin, uninstall first, then retry
2. Token refresh expired
Symptom: connector card yellow with "Token refresh expired".
Cause: refresh_token_expires_at in the past (rare for Shopify but possible after very long inactivity or app config change).
Fix:
- Uninstall Wevion from Shopify Admin → Apps
- Re-install via
/connect/shopify(fresh OAuth flow) - New tokens issued; sync resumes; no data lost (existing Wevion data preserved)
3. Webhook events missing
Symptom: new order placed in Shopify Admin, doesn't appear in Wevion within 1 hour.
Cause:
- Webhook delivery failed (Shopify retried but ultimately couldn't reach Wevion)
- Webhook subscription lost (rare)
- Wevion processing delay (very rare)
Fix:
- Check Shopify Admin → Settings → Notifications → Webhooks: verify Wevion webhooks listed for orders/create, orders/updated, etc.
- If missing: uninstall + reinstall app (re-subscribes webhooks)
- Wait for 15-min polling cycle (backup mechanism catches missed events)
- Force-sync from connector card menu if needed
4. Scope health warning
Symptom: connector card shows yellow with "Permission warning - some scopes missing".
Cause: granted scopes < required scopes. Happens when:
- Shopify rolled out a new scope and Wevion now requires it
- Store admin manually edited the app permissions in Shopify Admin
Fix:
- Uninstall + reinstall app (re-grants all current required scopes)
- After re-install, Wevion validates
granted_scopesvsrequired_scopes; card turns green if match
5. Multi-store data confusion
Symptom: with 2+ Shopify stores connected, orders showing under wrong store.
Cause: each store should be its own shopify_config row. If somehow merged or mis-attributed, data routing confused.
Fix:
- Verify at
/connect/shopify: count of stores listed = your expected store count - Each store should show its own
shop_domain(the.myshopify.comURL) - If duplicated entries: contact support for cleanup
- If missing a store: install Wevion on that store separately
6. Refund not reducing attributed revenue
Symptom: refunded an order in Shopify, but Wevion's dashboard still shows full original revenue.
Cause:
refunds/createwebhook missed- Sync delay (< 15 min, wait)
- Refund issued before webhook subscription was active
Fix:
- Wait 15 min for polling backfill
- Check Shopify Admin → Notifications → Webhooks: verify refunds/create topic subscribed
- Force-sync from connector card
- For historical refunds (pre-Wevion install), contact support for CSV reimport
7. Custom checkout / one-page checkout missing data
Symptom: using a custom checkout extension (Shop Pay, Headless, etc.); orders sync but missing UTM data.
Cause: custom checkouts may not pass landing_site / referring_site to Shopify's order object.
Fix:
- For Shop Pay: install Meta CAPI integration with extended browser pixel for attribution
- For Headless: ensure your frontend captures UTM params and stores in order note or custom field
- Configure Wevion to read your custom field for attribution (contact support for setup)
8. Currency mismatch
Symptom: store in EUR, Wevion workspace in USD, dashboard shows USD-converted values that differ from Shopify Admin.
Cause: FX rate timing — Wevion uses a daily FX rate from ExchangeRate-API.com for conversion; Shopify Admin uses its own rate.
Fix:
- Per-store reports in Wevion are in native currency (no conversion) — match these to Shopify Admin
- Cross-channel reports use workspace currency (auto-FX) — this is by design for multi-store aggregation
- Difference within 2-3% is normal (FX timing)
When to contact support
Reach support@wevion.ai when:
- Issue not in this list
- Uninstall + reinstall doesn't fix
- Need historical CSV reimport
- Custom checkout integration
Include:
- Workspace ID
- Shop URL (
xxx.myshopify.com) - Approximate timestamp
- Exact error message
Response: 1-2 business days; priority on Pro/Enterprise.
Useful diagnostics
/connect/shopify→ store detail drawer → Last sync + Last error + Scope health- Shopify Admin → Settings → Notifications → Webhooks: verify subscription list
- Shopify Admin → Apps → Wevion: verify install state
- Audit log filter:
action: shopify_sync_failed(admin only)
FAQ
Will I lose Shopify data if I reconnect after a token refresh expired?
No. When your Wevion connector card shows "Token refresh expired," you uninstall Wevion from Shopify Admin → Apps and re-install via /connect/shopify. This fresh OAuth flow issues new tokens and sync resumes with no data lost — your existing Wevion data is preserved throughout the reconnection.
Which Shopify URL should I use to connect to Wevion?
Use the canonical .myshopify.com URL, not your custom domain, at /connect/shopify. A shop URL mismatch between a custom domain and the .myshopify.com address is a common cause of the OAuth install failing or looping. Also enable popups and redirects for app.wevion.ai and accounts.shopify.com, or try an incognito browser.
A new Shopify order isn't showing in Wevion — what should I do?
If a new order doesn't appear within an hour, the webhook delivery likely failed. In Shopify Admin, check Settings → Notifications → Webhooks that Wevion webhooks are listed for orders/create and orders/updated. Wevion's 15-minute polling cycle acts as a backup that catches missed events, and you can force-sync from the connector card menu.
Why does a refunded Shopify order still show full revenue in Wevion?
The refunds/create webhook was likely missed, or you're inside the sync delay. Wait 15 minutes for Wevion's polling backfill, then verify the refunds/create topic is subscribed in Shopify Admin → Notifications → Webhooks. Force-sync from the connector card if needed. For historical refunds from before install, contact support for a CSV reimport.
Why do Wevion and Shopify Admin show slightly different currency values?
This is FX rate timing. Wevion uses a daily FX rate from ExchangeRate-API.com to convert into your workspace currency, while Shopify Admin uses its own rate. Per-store reports in Wevion stay in native currency so they match Shopify Admin exactly; cross-channel reports use workspace currency by design. A difference within 2-3% is normal.