WooCommerce multi-source catalog

Last updated: May 19, 2026

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 URL

Status

Products

Orders (last 30d)

Last sync

https://store-eu.brand.com

Healthy

1,234

5,678

2 min ago

https://store-us.brand.com

Healthy

1,201

7,890

4 min ago

https://store-uk.brand.com

Healthy

998

3,456

6 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 Stripe FX rates to workspace currency.

Quota considerations

Each WooCommerce store counts toward max_ad_accounts quota (treated similarly to a connected ad account — 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 max_ad_accounts 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.

Related