Home / Guides / Ads

Ads

Exclude one product from a Meta or Google campaign (without pausing everything)

One money-pit SKU should not force a full campaign pause.

Updated 9 Sep 2026 · ~855 words · David Smith

You already know the SKU. It spends. It does not return. Pausing the whole campaign also kills the winners. Exclusion is the precise tool.

Honest scope: Ralph supports product/variant exclusions scoped to a campaign with a full status lifecycle, Meta and Google adapters that fan out across grains, default-off writers, and revert. It is not “AI silently delists whatever it dislikes”.

Why grain matters

Campaigns contain multiple ad sets or ad groups. Excluding once at the wrong layer leaves the SKU live elsewhere. Adapters are built to loop grains and keep platform references honest.

Safety

Duplicate live exclusions are blocked. Partial Meta failures can roll back. Google multi-ad-group writes use distinct target ids so idempotency does not collapse the batch.

Stock vs performance exclusion

Excluding because a SKU is OOS is related to, but not the same as, excluding because it wastes spend while in stock. Stock tools and exclusion tools should meet in the morning brief, not fight in separate tabs.

Questions people actually ask

If writers are off, does exclusion do nothing?

Intent can still record as recorded for audit. Live platform mutation waits until exclusion/Google writers are enabled.

Does Meta exclusion fan out to every ad set?

Yes, the adapter targets live ad set grains and uses real filters so you do not accidentally broaden to all-products-minus-one incorrectly.

Can I undo?

Revert is first-class in the exclusion lifecycle.

Is this the same as pausing catalog ads entirely?

No. It is per campaign (and grains inside), not a store-wide catalog off switch.

How to exclude one product from a campaign, on Meta and Google

The mechanics differ per platform and the trap is the same on both: excluding once, at one layer, while the product carries on serving somewhere else in the campaign. Work through it in order.

  1. Confirm it is a spend problem, not a stock problem. Pull the SKU's last 30 days: spend, conversions, and whether it was actually in stock the whole time. A variant that was unavailable for nine days did not "waste" spend, it was mis-served. That is an availability fix, not an exclusion. The two get confused constantly.
  2. Meta: exclude through the product set, not the ad. Catalogue and Advantage+ catalogue ads serve from a product set, so the exclusion lives there. In Commerce Manager → Catalogue → Product sets, either edit the set with a filter that excludes the item (for example retailer_id is not X, or a custom label you control), or build a replacement set and swap the ad set onto it. There is no "exclude this product" button on an individual ad.
  3. Meta: repeat it for every ad set that can serve the item. This is where most people leak money. A campaign usually holds several ad sets, and excluding on one leaves the SKU live in the others. Walk every live ad set in the campaign and check which set it points at. Sets are shared objects, so editing one can also affect campaigns you did not mean to touch. Check what else uses it before you save.
  4. Google Shopping: exclude the item in the product group. In a Standard Shopping campaign open Products (or Product groups), subdivide down to Item ID, find the SKU and set it to Excluded. Subdividing creates an "Everything else" bucket, so make sure the item is genuinely caught by the exclusion and not sitting in that catch-all still serving.
  5. Performance Max: exclude in the asset group's listing group. PMax has no product group tree in the same place. Open the campaign, then the asset group, then Listing groups, and exclude the item ID there. Do it in every asset group that includes the item. Excluding it in one asset group while another still carries it is the PMax version of the same leak.
  6. Do not reach for negative keywords. Negatives suppress queries, not products. On Shopping and PMax they will not stop a specific SKU serving, and on Search they will quietly cut demand you wanted. If the goal is "stop showing this product", the answer is always a product-level exclusion.
  7. Write down what you excluded, where, and why. Exclusions are invisible three weeks later. Keep one line per exclusion: SKU, campaign, layer, date, reason, and the condition that would put it back. Without that, someone eventually "cleans up" the campaign, the SKU returns, and nobody knows it ever left.
  8. Set the condition for putting it back. A SKU excluded for poor performance while discounted deserves another look after a price or creative change. A SKU excluded because it kept selling out deserves another look when cover recovers. Exclusion without a re-entry rule slowly starves your catalogue.

Done by hand this is roughly half an hour per SKU, and it is the repeat visits that hurt: every new campaign inherits the problem again unless someone remembers.

If Meta is the problem: Ralph reads Meta next to your stock every night: dead sizes still in ads, hours that lose money, sets gone stale. Each fix is staged for your yes. See Ralph · How Ralph handles out-of-stock sizes · Docs