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.com or 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):

Scope

Why

read_orders

Pull orders + revenue data for conversion attribution

read_products

Pull product catalog for Dynamic Product Ads and Shopping

read_inventory

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 placed

  • orders/updated — order modified

  • orders/cancelled — order cancelled

  • refunds/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 /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_tag fields

  • Lease/lock mechanism prevents concurrent refresh attempts (token_refresh_owner, token_refresh_started_at fields)

  • 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.ai and accounts.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