Skip to main content
Marketing

Promotions

Run one sale across your whole catalog, with a single discount and a single place to end it

Written By Tobias Lønnerød Madsen

Running a sale across your catalog, and taking it down again afterwards, shouldn’t mean editing every product you sell one by one. That’s what promotions are for: one sale, one discount, and one place to end it.

Every promotion you create sits in a single list, together with how it is doing:

The Promotions list with each sale's status, the items on sale, its revenue and discount given, and when it was last updated

Under the hood, a promotion is a Product Discounts that we project onto every item in the sale and keep in sync for you. Everything you already know about discounts still applies: the same discount types, the same targeting options, and the same rule that only the best discount is picked. What a promotion adds is a single place to start, change, and end the whole sale.

Putting items on sale

Every promotion has at least one product or bundle on sale, and there is no upper limit on how many you add. You can put an item on sale as a whole, or narrow the sale down to specific pricing variations, which is useful when only part of your pricing should be discounted:

The On Sale table with six products and a bundle selected, each with its current price and its sale price at 50% off

Adding an item puts it on sale right away, and removing it takes it off sale again. Discounts you configured on that product yourself are never touched, whether you add it, remove it, or delete the promotion entirely.

Configuring the discount

Like other discounts, a promotion is either a percentage off or a flat amount off per currency. The same discount applies to every item in the sale, so running a sale is one decision rather than one decision per product.

Because the promotion is applied as a product discount, it follows the rules of the rest of the pricing engine: only the best discount is picked for each item, and the result then stacks with Offers and Coupons in the usual order. An item that already carries a bigger discount of its own simply keeps that one, so a promotion never makes anything more expensive than it already was.

If the sale covers subscriptions, you can limit how many recurring payments the discount applies to. Leave the limit empty and every renewal of a subscription started during the sale keeps the discounted price.

Scheduling the sale

A promotion can run between a start and an end time, or it can run open-ended until you end it yourself. A sale that starts in the future waits until then, and a sale whose window has passed stops applying on its own, so a seasonal sale needs no attention on the day it is over.

Choosing who gets the sale

By default, a promotion applies to everyone. Once it is created, its Audience section narrows the sale with the same conditions available for Product Discounts: members of a customer group (one of your own segments or lists from Customer groups and segments, or a product group), customers who own some, all or none of the products you pick, customers who own at least a number of distinct products, or visitors arriving with specific UTM parameters. Add more than one condition and a customer has to satisfy all of them.

Targeting a UTM segment is how you run a sale for a single advertising campaign, without the discount being generally available to everyone else.

Presenting the sale

Beyond pricing, a promotion carries the presentational side of the sale: a name and description, an optional image, and a call to action that sends shoppers wherever the sale lives on your site. On the promotion's page, Suggested placement tells your storefront how to surface it, as a banner across the storefront, as a popup on arrival, or both:

A promotion's details: name, description, image, a call to action linking to the sale and Banner, Popup as the suggested placement

Placement is a suggestion your storefront can act on, not a pricing setting. Whichever presentation you pick, or none at all, customers get the same discounted prices.

The Moonbase Embedded Storefront will only show these promotions if you select banner, popup or both:

The storefront banner for the Summer Sale with an Explore button
The storefront popup announcing the Summer Sale with an image, a short description and an Explore button

If you are using our SDKs to build your own custom website, you will have to show these in a way you see fit yourself.

How promotions show up on products

Since the sale is applied as a discount on each item, you will also find it in the discount list of the products and bundles it covers, marked as coming from a promotion:

A product's Discounts with the owner's own Intro offer and a locked Summer Sale row from a promotion, with a Manage promotion link

These rows are owned by the promotion and kept in sync with it, so they are edited from the promotion rather than from the product: Manage promotion on the row takes you there. Your own discounts on the same product stay editable as always.

Changes to a promotion are applied across your catalog in the background. With a large catalog it can take a moment before every product shows its new price on your storefront.

Ending a sale

The tidiest way to end a sale is to give it an end time up front, so it closes by itself. The promotion stays in your list afterwards, together with what it earned.

Deleting a promotion also ends the sale, and takes its discount off every product and bundle it applied to. Discounts you set up on those items yourself are kept.

How did the sale do?

For every promotion we track the revenue attributed to it, how much discount was given away, and how many sales it drove, split by payout currency. That makes it easy to compare one sale against the next, and to see what a given discount level actually bought you.