---
title: Product pages rule
slug: product-pages
description: How the Product pages rule works in Personizely widgets on Shopify, Hydrogen and Wix: picking products, show or hide, market URLs and non-product pages.
image: https://archbee-image-uploads.s3.amazonaws.com/1y1Fr-DMGy_apx7FwibyA/ORDTWfNKMXiY3ZRv0QSgP_personizely-docs-og.png
docTags: 
createdAt: 2026-10-16T20:11:33.710Z
---

The Product pages rule shows a widget only on the product pages of products you pick, or on every page except them. Unlike the [Pages rule](https://docs.personizely.net/pages), it recognizes the product itself, so it works whatever the product's URL: collection paths, market or language prefixes and renamed handles included.

**Available on:** Shopify · Shopify Hydrogen · Wix

## How it works

The rule reads **Show on** (or **Don't show on**) followed by the products you pick. When the page loads, Personizely checks whether it's the product page of one of those products.

| Setting       | The widget can show on                                                                                      |
| ------------- | ----------------------------------------------------------------------------------------------------------- |
| Show on       | Only the product pages of the selected products                                                             |
| Don't show on | Every page except the product pages of the selected products, **including pages that aren't product pages** |

The rule works per product, not per variant: all variants of a selected product match.

## Configuration

| Option                  | What it does                                                                        | Values / default |
| ----------------------- | ----------------------------------------------------------------------------------- | ---------------- |
| Show on / Don't show on | Include or exclude the selected products' pages                                     | **Show on**      |
| Products                | The products to match. Add them one by one, or in bulk by title, path or collection | Product picker   |

## Behavior details and limitations

- **Bulk adds are a snapshot.** Adding products by collection adds the products in it at that moment. Products added to the collection later aren't included. To target a group of products that changes, tag them and use [Product pages with tags](https://docs.personizely.net/product-pages-with-tags) (Shopify, Hydrogen).
- **"Don't show on" includes other pages.** To show a widget on all product pages except a few, add a second rule that limits it to product pages, such as **Pages** with the **Show on product pages** template.
- **Shopify needs the app embed.** The product on the page comes from the Personizely app embed. With a manual script install, the rule can't recognize product pages. See [Install on Shopify](https://docs.personizely.net/install-shopify).
- **Hydrogen needs page context.** Your product route must call `usePageContext` with the product's numeric ID. See [Install on Shopify Hydrogen](https://docs.personizely.net/install-shopify-hydrogen).
- **Checked at page load.** On themes that change pages without a full reload, it's checked again after each detected page change.

## Examples

- **Bundle offer on one product:** **Show on** "Espresso machine", with a popup offering the matching grinder.
- **All product pages except gift cards:** **Pages** "Show on product pages" plus **Product pages** "Don't show on" the gift card.

## Troubleshooting

- **Widget doesn't show on a selected product (Shopify)** → the Personizely app embed is off in the current theme.
- **Widget shows on the homepage** → the rule is set to **Don't show on**, which allows every non-product page.

## Related

- [Rules overview](https://docs.personizely.net/rules)
- [Product pages with tags rule](https://docs.personizely.net/product-pages-with-tags)
- [Pages rule](https://docs.personizely.net/pages)
- [Add to cart trigger](https://docs.personizely.net/add-to-cart-trigger)
