Skip to content

Audience

Beyond which pages (see Pages) the stage can fire on, you can further restrict it to who should see it via eight independent association axes. Each association is a separate Many-to-Many table; an empty association means “all” (no filter on that axis).

Picked in the Channels & customer groups card on the Targeting tab.

  • Leave empty → show on all sales channels.
  • Pick one or more → show only on those.

Useful for shops with multiple storefronts where a campaign only applies to one of them.

Same card, separate picker.

  • Leave empty → show for all customer groups (including not-logged-in visitors).
  • Pick one or more → show only for visitors in those groups.

Combine with sales channels for B2B vs B2C differentiation.

Picked in the Rules card on the Targeting tab. Lets you reuse Shopware’s standard business rules to constrain visibility — cart total, customer group, country, etc.

When multiple rules are set, the Rule operator on the Overview tab decides how they combine:

  • OR — match any rule (default) — show if at least one rule passes.
  • AND — match all rules — show only if every rule passes.

Use rules for anything beyond the built-in axes — geographic targeting (country match), basket value thresholds, logged-in-vs-anonymous, custom field matches.

Managed on the Categories tab of the stage detail page. Click Add category, pick a category, optionally toggle Apply to subcategories.

  • Stage is eligible on the picked category page and (if subcategories toggle is on) every descendant category page.
  • If the visitor is on a category page that isn’t in the list, the stage doesn’t fire.

The subcategory toggle is per-row — you can pin to one specific category exactly and include the whole subtree of another.

Managed on the Products tab. Stage is eligible on the picked product detail pages.

Useful for product-specific promos — show a “Buy 2 get 1” popup only when the visitor is viewing one of the eligible products.

Managed on the Manufacturers tab. Stage is eligible on the picked manufacturer’s product / category pages (depending on how Shopware resolves manufacturer pages in your storefront).

Useful for brand-specific takeovers.

Managed on the Product streams tab. Stage is eligible on category pages that include the picked product streams.

Use this for dynamic targeting that you don’t want to hand-maintain — bestsellers, new arrivals, sale items via stream rules.

Managed on the CMS pages tab. Stage is eligible on the picked CMS pages.

Useful for slider stages embedded into specific landing pages, or popups that should only fire on specific custom CMS layouts.

For each tab, the Add <type> button opens a modal:

  • Pick the item from a select.
  • (Categories only) Toggle Apply to subcategories.
  • Click Save.

The row appears in the table. Removing is via the row’s context menu → Remove from stage (confirmation prompt).

If you pick the same item twice, you get the error “This item is already assigned to the stage.”

For the stage to be eligible on a given request, every axis with a non-empty filter must match. Axes are independent ANDs:

eligible = sales_channel_match
AND customer_group_match
AND rule_match (or/and per rule_operator)
AND category_match (or any if empty)
AND product_match (or any if empty)
AND manufacturer_match (or any if empty)
AND product_stream_match (or any if empty)
AND cms_page_match (or any if empty)
AND page_filter (page types / url patterns)
AND schedule_in_range
AND active_toggle_on
AND frequency_allows_for_this_visitor

If any check fails, the stage doesn’t appear in /p2lab-stage/resolve’s response.

There’s no built-in “exclude this audience” toggle. To restrict by exclusion, use a rule with negative conditions (e.g. “country is NOT US”) or pick the inverse set (e.g. assign every customer group except the one you want to exclude).

  • Pages — page-type and URL-pattern filtering.
  • Triggers — when, given eligibility, the stage fires.
  • Frequency — per-visitor suppression.
  • Schedule — date-range gating.