Connect Shopify
Last updated: May 19, 2026
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.aiThe 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):
Scope | Why |
|---|---|
| Pull orders + revenue data for conversion attribution |
| Pull product catalog for Dynamic Product Ads and Shopping |
| Stock levels for inventory-aware campaigns |
No write scopes. Wevion does not modify your Shopify store — read-only.
Webhooks Wevion subscribes to
Verified SHOPIFY_WEBHOOK_TOPICS:
orders/create— new order placedorders/updated— order modifiedorders/cancelled— order cancelledrefunds/create— refund issued (reduces revenue attribution)products/update— product changed
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 90 days of orders + your full product catalog. 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
/catalogsToast: "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_tagfieldsLease/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 3 read scopes above
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.
Related
Shopify orders sync — what gets imported — data flow detail
Shopify troubleshooting — issue list
Product catalog basics — how catalogs feed ad campaigns