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 About 1 hour 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_configrow. 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 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:
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 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
/catalogslists 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
catalogsquota 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.