WooCommerce multi-source catalog

Connect multiple WooCommerce stores in one workspace. Each is its own config. Aggregate catalog + reporting across stores.

Written By Salvatore Sinigaglia

Last updated 10 minutes ago

Connect multiple WooCommerce stores in one workspace. Each is its own config. Aggregate catalog + reporting across stores.

WooCommerce multi-source catalog

Connect multiple WooCommerce stores in the same Wevion workspace. Each store has its own woocommerce_config row. Wevion aggregates products, orders, and revenue across stores for unified reporting + cross-store catalog use in ad campaigns.

Who is this for

  • International brands with WordPress sites per country
  • Agencies managing multiple WooCommerce clients in the same workspace
  • Multi-brand companies with separate WooCommerce sites per brand

Setup

Each store = a separate connect flow. Follow com-104 for each:

Step 1: Generate REST API credentials per site

In each WordPress installation:

  • WP Admin → WooCommerce → Settings → Advanced → REST API → Add key
  • Permissions: Read/Write
  • Save Consumer Key + Consumer Secret per site

Step 2: Add each in Wevion

For each store:

  • /connect/woocommerceAdd store button
  • Enter site URL + consumer key + consumer secret
  • Wevion validates + creates a separate woocommerce_config

Step 3: Verify all stores connected

/connect/woocommerce shows a list:

Site URLStatusProductsOrders (last 30d)Last sync
https://store-eu.brand.comHealthy1,2345,6782 min ago
https://store-us.brand.comHealthy1,2017,8904 min ago
https://store-uk.brand.comHealthy9983,4566 min ago

How data aggregates

Catalog

Each store's products are imported as a separate catalog in /catalogs:

  • Store EU - Brand X Catalog
  • Store US - Brand X Catalog
  • Store UK - Brand X Catalog

When launching a Meta Dynamic Product Ad or Google Shopping campaign:

  • Pick one specific store catalog (for single-store campaign)
  • OR pick merged multi-store catalog (combined view, requires Meta/Google to accept the merged feed — usually supported)

Orders + revenue

Cross-Channel Analytics rolls up orders + revenue across all stores:

  • Dashboard total revenue = sum across all stores (auto-converted to workspace currency)
  • Per-store breakdown available
  • Per-campaign per-store attribution (e.g. "Meta Q4 campaign drove $12K in EU + $8K in US")

Customer deduplication

Customer with the same email across stores: Wevion deduplicates by email hash for Cross-Channel Analytics. For per-store reporting, each store's customer is independent.

Currency handling

Each WooCommerce store can have its own currency:

  • EU site: EUR
  • US site: USD
  • UK site: GBP

Per-store reports use the store's native currency. Workspace-wide rollups convert via daily FX rates (from ExchangeRate-API.com) to workspace currency.

Quota considerations

Each WooCommerce store counts toward the catalogs quota (enforced via app.requireResourceQuota('catalogs') in apps/backend/src/routes/api/woocommerce/auth.route.ts), not the ad-accounts quota — see acc-112. Check /settings/team/billing for your plan's limit.

If multiple stores would exceed quota: upgrade plan, or consolidate stores at WordPress level (multisite or shared catalog).

Common patterns

Pattern A: Same brand, multi-region

  • 1 brand, sites per country (EU, US, UK, APAC)
  • Catalog per site (translated + localized pricing)
  • Single Meta/Google ad account managing campaigns per region
  • Cross-channel reporting at brand level

Pattern B: Holding with multiple brands

  • 5 brands under a holding, separate WooCommerce per brand
  • Each brand's site connected separately
  • Per-brand reports + holding-level rollup
  • Optional: separate Wevion workspace per brand if data isolation needed

Pattern C: Agency multi-client

  • Each client = separate WooCommerce site
  • Each client = separate Wevion workspace (recommended for cleaner client billing + data isolation)
  • OR all clients in one workspace + Team-based access (team-108) — useful for shared dashboard but harder to bill per client

For agency-scale (10+ clients), prefer separate workspaces per client.

Webhook configuration per store

Each store needs its own webhooks set up in WP Admin (if you want real-time):

  • Per com-104 step 6, repeat per store
  • Each webhook has its own delivery URL + secret
  • Wevion's connector card shows webhook setup status per store

Performance considerations

  • 3-5 stores: no concern
  • 10+ stores: monitor each WP server load (Wevion's API polling adds ~5-20 calls per 15-min cycle per store)
  • 50+ stores: contact support; may need elevated polling cadence + API throttling

Removing a store

/connect/woocommerce → store row → Disconnect action:

  • Stops sync (data preserved)
  • Frees quota slot
  • Removes from current catalogs/campaigns dropdown (existing campaigns referencing the store continue with stale data)

What you'll see

Healthy multi-store setup:

  • All stores green on /connect/woocommerce
  • Cross-channel dashboard shows revenue + per-store breakdown
  • /catalogs lists each store's catalog
  • Campaign Creator can pick per-store or cross-store catalogs

Common issues

  • Currency rollup looks wrong: FX rate timing — workspace currency conversion vs Shopify Admin's converted view. Difference < 3% normal.
  • Customer counted twice: same email, different stores. Wevion deduplicates by hash for cross-channel; per-store data shows independently.
  • One store stuck syncing, others fine: that store's WP server issue. Check WP Admin → Site Health.
  • Cannot connect Nth store - quota error: at the catalogs quota ceiling. Upgrade or disconnect unused.
  • Cross-store catalog rejected by Meta: catalog merge format may not match Meta's expected schema. Use per-store catalogs.

FAQ

Can I connect multiple WooCommerce stores in one Wevion workspace?

Yes. Wevion supports connecting multiple WooCommerce stores in the same workspace, each as its own woocommerce_config row. Use the Add store button at /connect/woocommerce and repeat the connect flow per site with that store's site URL, consumer key, and secret. Wevion then aggregates products, orders, and revenue across stores for unified cross-channel reporting.

Do multiple WooCommerce stores count against my Wevion quota?

Yes. Each connected WooCommerce store counts toward your catalogs quota (not the ad-accounts quota). Check your plan's limit at /settings/team/billing. If adding another store would exceed the ceiling, you'll see a quota error — upgrade your plan, or consolidate stores at the WordPress level using multisite or a shared catalog.

How does Wevion handle the same customer across different WooCommerce stores?

For Cross-Channel Analytics, Wevion deduplicates customers who share the same email across stores by hashing the email. For per-store reporting, each store's customer records stay independent. This lets your brand-level rollups avoid double-counting while keeping individual store dashboards accurate for that store alone.

Can each WooCommerce store use a different currency?

Yes. Each store can keep its own native currency — for example EUR, USD, and GBP across regional sites. Per-store reports display in that store's native currency, while workspace-wide rollups convert everything to your workspace currency using daily FX rates from ExchangeRate-API.com. Differences under about 3% in rollups are normal due to FX timing.

What happens when I disconnect a WooCommerce store?

Disconnecting a store from /connect/woocommerce stops its sync while preserving existing data, and it frees the quota slot that store occupied. The store is removed from the current catalogs and campaigns dropdown, though existing campaigns that reference it continue running on stale data. Reconnect later by adding the store again.