Skip to content
Bach.ai

Account Architecture for Multi-SKU Catalogs in 2026

Most multi-SKU catalogs are structured around a spreadsheet, not around how Meta’s delivery system actually learns. Someone maps one campaign to one product line because that’s how the team thinks, and six months later half the campaigns are starved of conversions, stuck in perpetual learning, and quietly bleeding budget into the SKUs that were never going to carry the account. The structure feels organized. It is also the reason the account can’t optimize.

This is a how-to for building a Meta Ads account structure for multiple products that follows signal, not org-chart logic — and for knowing exactly when the standard “consolidate everything” advice stops being right.

For the surrounding account decisions, compare CPM Spiked Overnight: Auction Pressure or Account Fault? and use Campaign Consolidation in 2026: When Fewer Campaigns Hurt as the next diagnostic.

Why consolidation became the default

The orthodoxy exists for a good reason. Meta’s optimization needs enough recent conversion signal per ad set to exit the learning phase and deliver predictably. Split your catalog into twenty thin campaigns and you’ve split your signal twenty ways. Each ad set crawls toward stabilization, never quite gets there, and you spend the account’s life paying the learning-phase tax over and over.

Broad consolidation — fewer campaigns, fewer ad sets, pooled budget, a catalog-wide Advantage+ shopping campaign doing the heavy lifting — concentrates signal so the algorithm can find buyers across the whole catalog at once. For many accounts much of the time, this wins. If you’re under-consolidated, the fix is almost always to merge, not split.

So start from the assumption that one structure should cover as much of the catalog as it can. Then look for the specific reasons that assumption breaks.

Where the orthodoxy actually breaks

Consolidation optimizes for one thing: conversion volume. It is blind to the two things that decide whether that volume makes you money — margin and fulfillment reality. A pooled campaign treats every purchase as equal weight toward its target. Your P&L does not.

1. Margin-tier segmentation

A single ROAS or cost-per-purchase target across a mixed-margin catalog systematically misallocates spend. The algorithm chases the most straightforward conversions to hit your target, and the most straightforward conversions are in many cases your least expensive, highest-discount, lowest-margin SKUs. Platform ROAS looks fine. Contribution margin quietly erodes, because a winning ROAS on a thin-margin product can still be a losing trade once you net out cost of goods and fulfillment.

The break point: when your catalog spans margin tiers wide enough that one efficiency target can’t be right for all of them. A product carrying a fat contribution margin can profitably absorb a far looser CPA than a near-commodity item — sometimes two or three times looser. Forcing them into one target either starves the high-margin winner of budget or floods spend into the low-margin filler.

The fix is to segment by margin band, not by product:

  • Group SKUs into two or three margin tiers (high / mid / thin).
  • Give each tier its own campaign with a target tuned to that tier’s economics — value-based bidding where your margins genuinely differ by SKU, or a cost-per-purchase ceiling derived from the tier’s contribution, not a blanket account ROAS.
  • Let the high-margin tier bid more aggressively for the same customer the consolidated campaign would have under-valued.

You’re not fragmenting for fragmentation’s sake. You’re encoding your unit economics into the bid, which a single mega-campaign structurally cannot do.

2. Fulfillment-reality segmentation

The second break is operational. A purchase is only a good purchase if you can fulfill it profitably. When parts of your catalog have genuinely different fulfillment economics — heavy or oversized items with real shipping cost, made-to-order or long-lead SKUs, fragile goods with elevated return and refund rates, or near-stockout inventory you shouldn’t be pouring spend into — a consolidated campaign will happily scale the exact orders that cost you the most to deliver.

Separate these when the fulfillment difference is large enough to change whether a sale is profitable:

  • Carve high-shipping-cost or high-return SKUs into their own campaign so you can set a stricter efficiency bar that accounts for the true delivered cost.
  • Cap or pause spend on low-stock items at the structure level instead of hoping the algorithm notices.
  • Keep clean-fulfillment, high-repeat SKUs in the consolidated core where pooled signal does the most good.

Margin tells you what a sale is worth. Fulfillment tells you what it costs to keep. Structure has to respect both, and a single campaign respects neither.

The real rule: campaign count follows signal, not SKU count

Here’s the principle that resolves the tension between “consolidate” and “segment”: the number of campaigns should track how much conversion signal you have, never how many products you sell.

A 400-SKU catalog and a 12-SKU catalog at the same spend and conversion volume should have roughly the same number of campaigns. SKU count is irrelevant to the algorithm. Signal volume is everything.

A workable heuristic — treat these as planning ranges, not hard thresholds:

  • Each conversion-optimized ad set wants enough recent purchase signal to exit learning and hold there. A common planning target is on the order of ~50 optimization events in the recent attribution window; below that, the ad set never fully stabilizes.
  • Before you create a new campaign or tier, ask: does this segment generate enough conversions on its own to learn? If splitting it would drop a segment below its learning threshold, don’t split — the structural purity isn’t worth a permanently unstable ad set.
  • If a margin or fulfillment segment is too thin to support its own campaign, fold it back into the consolidated core and govern its economics another way (exclusion, bid caps, or simply accepting it rides the blended target).

So the decision sequence is:

  1. Default to consolidation. One catalog-wide structure carrying as much as it can.
  2. Find the economic seams — the margin tiers and fulfillment realities where one target is provably wrong.
  3. Split a seam only if both sides clear the learning threshold. Signal volume is the veto.
  4. Re-merge anything that’s starving. Structure is not permanent; revisit as volume grows or shrinks.

This is also where many teams lose the plot operationally: the structure quietly drifts out of sync with the economics. A SKU’s margin changes, a supplier’s shipping cost moves, a hero product goes near-stockout — and the campaign architecture still reflects last quarter’s reality. Auditing that drift across a large catalog by hand is exactly the kind of read-only diagnostic an operator-grade tool like Bach is built to surface, flagging where platform ROAS and contribution margin have diverged before you scale spend into a loss. (Read-only until you approve the change — nothing moves on its own.)

A compact decision table

Situation Default move
Catalog spans wide margin bands Split into 2–3 margin-tier campaigns, target per tier
Heavy / high-return / made-to-order SKUs Separate campaign, stricter efficiency bar
Segment too thin to clear learning Keep consolidated; govern via exclusions/caps
Many SKUs, uniform economics One consolidated structure independent of SKU count
New product, no signal yet Fold into core; don’t build it a starved campaign

The takeaway

Consolidation is the right starting point, not the rule. Build one structure that carries as much of the catalog as the signal allows, then split only along the seams where margin or fulfillment makes a single efficiency target provably wrong — and split only when both sides of the cut can still learn. Let your P&L decide what to separate and let conversion volume decide whether you can. Campaign count tracks signal; the spreadsheet stays in the spreadsheet.

See what your Meta ads are really costing you.

Connect your account and Bach ranks every revenue leak in minutes — each with the money it costs and a one-tap fix. Free for 7 days, no credit card.

Start Free Audit
Start your free audit