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/woocommerce→ Add store buttonEnter 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 |
|---|---|---|---|---|
| Healthy | 1,234 | 5,678 | 2 min ago |
| Healthy | 1,201 | 7,890 | 4 min ago |
| 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 CatalogStore US - Brand X CatalogStore 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/woocommerceCross-channel dashboard shows revenue + per-store breakdown
/catalogslists each store's catalogCampaign 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_accountsceiling. 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
Connect WooCommerce — single-store setup (apply per store)
WooCommerce sync explained — data flow
Product catalog basics — how catalogs feed campaigns