Connect Shopify
Install the Wevion app on your Shopify store. OAuth grants read_orders + read_all_orders + read_products + read_inventory (+ optional read_reports). Webhooks auto-subscribed.
Written By Salvatore Sinigaglia
Last updated About 5 hours ago
Install the Wevion app on your Shopify store. OAuth grants read_orders + read_all_orders + read_products + read_inventory (+ optional read_reports). Webhooks auto-subscribed.
Connect Shopify
Open /connect/shopify, enter your shop URL (e.g.
mystore.myshopify.com), click Connect. You'll be redirected to Shopify Admin to approve the Wevion app. After approval, Wevion subscribes to your store's webhooks automatically and starts syncing products + orders.
Who is this for
E-commerce mediabuyers running Shopify stores. Required for: Dynamic Product Ads (Meta), Shopping campaigns (Google), revenue-attributed reporting in Wevion analytics.
Before you start
You need:
- Shopify store admin access (Wevion installs as a private app per-store)
- Shop URL (e.g.
mystore.myshopify.comor your custom domain configured as the canonical) - Browser pop-ups enabled for
app.wevion.ai - The Wevion role manager, admin, owner, or super_admin
What permissions Wevion requests
Verified in apps/backend/src/providers/shopify/core/constants.ts (SHOPIFY_REQUIRED_SCOPES + SHOPIFY_OPTIONAL_SCOPES):
No write scopes. Wevion does not modify your Shopify store β read-only.
Webhooks Wevion subscribes to
Verified SHOPIFY_WEBHOOK_TOPICS (7 topics):
orders/createβ new order placedorders/updatedβ order modifiedorders/cancelledβ order cancelledrefunds/createβ refund issued (reduces revenue attribution)products/updateβ product changedproducts/deleteβ product removedapp/uninstalledβ Wevion app uninstalled from the store
Webhooks fire in real time (< 30s typically). 15-minute polling fallback backfills missed events.
How to connect
Step 1: Open the connector page
In sidebar click Connect β Shopify or visit /connect/shopify. The page shows the Connect button + a list of any already-connected stores.
Step 2: Enter your shop URL
In the modal, type your shop's .myshopify.com URL. Wevion validates the format and queries Shopify to confirm the store exists.
Step 3: Redirect to Shopify Admin
Click Continue. You're redirected to your Shopify Admin's app install page showing the Wevion app + permissions list.
Step 4: Approve install
Click Install app in Shopify Admin. Shopify generates an offline access token (long-lived) + redirects back to Wevion.
Step 5: Wevion saves config + subscribes webhooks
Wevion saves the encrypted token (shopify_token_enc field, AES-GCM, see apps/backend/src/services/shopify/shopify-token-lifecycle.service.ts). It also subscribes to the webhook topics listed above.
Step 6: Initial sync
First sync pulls the last 180 days of orders + your full product catalog (HISTORICAL_BACKFILL_DAYS = 180 in apps/backend/src/services/shopify/shopify-sync-orchestration.service.ts). Typical duration: 5-15 minutes depending on store size.
What you'll see when it works
- Connector card: green Connected badge
- Shop URL + store currency visible
- Dashboard shows Shopify-attributed revenue within 30 min
- Catalog visible at
/catalogs - Toast: "Connected to [shop-url] β syncing"
Token model
- Offline tokens β long-lived, used for ongoing API access (Shopify's offline tokens don't expire under normal use, but Wevion supports refresh-token rotation for stores that enable it)
- Encrypted at rest with
refresh_token_enc,refresh_token_encryption_iv,refresh_token_encryption_tagfields - Lease/lock mechanism prevents concurrent refresh attempts (
token_refresh_owner,token_refresh_started_atfields) - Token refresh failure (rare) β yellow card β uninstall + reinstall app
Multiple stores
Each Shopify store = separate connect flow. Repeat steps 1-6 for each store. Wevion aggregates them in Cross-Channel Analytics with per-store attribution.
Common use case: agency managing multiple Shopify clients in one workspace (each store has its own shopify_config row).
Wevion's Shopify app
Wevion is listed in Shopify App Store (or as private app depending on your deployment). The app:
- Requests only the read scopes above (4 core + optional
read_reports) - Subscribes only to the webhook topics above
- Never modifies your store
- Stores tokens encrypted, never visible to Wevion staff
- Can be uninstalled at any time from Shopify Admin β Apps
Security
- Token encrypted at rest with AES-GCM
- Webhook signatures verified (HMAC-SHA256 with shared secret)
- Wevion's Shopify app reviewed by Shopify (App Store apps)
- Revoke any time: Shopify Admin β Apps β Wevion β Uninstall
Common issues
- "Invalid shop URL": format must be
xxx.myshopify.com. Don't enter custom domain β Shopify requires the canonical .myshopify.com URL for OAuth. - OAuth popup blocked: enable popups for
app.wevion.aiandaccounts.shopify.com. - "Install failed - permission denied": your Shopify user lacks store admin role. Ask the store owner.
- Wevion app already installed for this shop: existing install detected. Reinstall to refresh OR skip and use existing connection.
- Initial sync > 30 min: store has 10k+ products or many orders. Patient sync; check connector card status. If stuck, force-sync from card menu.
- Webhooks not firing: check Shopify Admin β Settings β Notifications β Webhooks; verify Wevion's webhook URLs registered. May need re-install if webhooks lost.
FAQ
Does Wevion modify my Shopify store?
No. Wevion requests only read scopes β read_orders, read_all_orders, read_products, and read_inventory, plus an optional read_reports β with no write scopes, so it never modifies your store. It pulls orders and revenue for attribution, your product catalog for Dynamic Product Ads and Shopping, and stock levels for inventory-aware campaigns. You can uninstall any time from Shopify Admin β Apps.
What shop URL do I enter when connecting Shopify?
Your canonical .myshopify.com URL, for example mystore.myshopify.com β not a custom domain. Shopify requires the .myshopify.com URL for OAuth, and Wevion validates the format then queries Shopify to confirm the store exists before redirecting you to Shopify Admin to approve the app.
Can I connect multiple Shopify stores to one Wevion workspace?
Yes. Each store is a separate connect flow β repeat the steps for each β and Wevion aggregates them in Cross-Channel Analytics with per-store attribution. This is common for agencies managing multiple Shopify clients in one workspace, where each store gets its own shopify_config row.
How long does the initial Shopify sync take?
Typically 5-15 minutes, depending on store size. The first sync pulls the last 180 days of orders plus your full product catalog. During it, the connector card shows a Syncing badge; stores with 10k+ products take longer. If it stalls past 30 minutes, force-sync from the card menu.