Product prices and availability
Journeys with the Catalog trigger message customers when a product they were interested in changes: the price dropped, the product is back on sale, or only a few are left. The message goes out on its own as soon as the changes arrive from the feed or the store plugin. There's no need to pick an audience and start a campaign manually.
The trigger is available on all plans. It needs a product catalog: a feed, or products uploaded through the API and store plugins.
What is tracked
| Change | When it fires |
|---|---|
| Price dropped | The product's price in the same currency fell by at least the set percentage and/or amount; 10% by default |
| Back in stock | A product that was off sale is available again |
| Low stock | The stock fell to the threshold; 5 units by default. Works only if stock levels are on |
New products and the first feed import don't start the trigger: a product appearing in the catalog isn't a change yet.
Who gets the message
In the Who setting, choose one or more audiences:
- viewed the product and added to cart in the last N days (30 by default). View and cart events come from the settings of the Recommendations section;
- product in wishlist: the customer's last wishlist action with the product was adding it. How to send wishlist events is described in the Tracker article;
- subscribed to restock: only for "back in stock"; visitors who signed up through the Notify when available form (see below).
The Skip those who already bought the product checkbox excludes customers who bought the product after their last view or add to cart. Visitors subscribed to restock get the message in any case: they asked for it themselves.
If a dozen products changed at once, the customer still enters the journey only once. The email shows the product with the biggest change and a list of the others.

Notify when available
On the page of an out-of-stock product, you can show the Notify when available form: the visitor leaves an email and gets a message once the product is back.
- Create a form on the Website → Forms tab and choose the Notify when available type (signup forms).
- Place the code
<div data-cdp-notify="SKU-1"></div>on the page of the unavailable product, whereSKU-1is the product ID. The WooCommerce, Magento 2, and 1C-Bitrix plugins do this for you. - Create a journey from the Back in stock template, or with the Catalog trigger → "back in stock" and the "subscribed to restock" audience.
The subscription is one-time: it closes after the restock email. The marketing consent checkbox is optional in this form. If you don't make it required, the visitor gets only the product email, without a marketing subscription.
Journey templates
The Catalog category on the Journey templates page has three ready-made journeys:
- Price dropped: for those who viewed the product, added it to cart, or kept it in their wishlist; a drop of 10% or more;
- Back in stock: for those subscribed to restock; the email is transactional;
- Low stock: for those who have the product in their cart or wishlist; the threshold is 5 units.
Product in the email
Product data as of entering the journey is in event.properties:
| Variable | What's inside |
|---|---|
event.properties.name, url, image |
Product name, link, and image |
event.properties.price, price_before, currency |
Current price, price before the drop, and currency |
event.properties.price_drop, price_drop_percent |
Price drop as an amount and a percentage |
event.properties.stock |
Stock, if stock levels are tracked |
event.properties.products |
All of the customer's matching products, up to 10 |
If there's a delay between entering the journey and the email, the product() function shows the current price:
{{ product(event.properties.id).price }} {{ product(event.properties.id).currency }}