The first question we got after Shopify announced Canvas came from a merchant planning a November sale on a theme Sidekick had just built: would the discounts hold? Yes. The reason is worth understanding, because it also tells you which parts of a sale a theme can and cannot affect.

Where a sale actually lives

A sale is a price decision, and Shopify gives apps two places to put it.

In Functions mode, SafeSale creates an automatic discount that Shopify applies in the cart and at checkout. The product's stored price never changes. Shopify runs our discount function for every storefront, every theme and every checkout, Canvas or not.

In price-rewrite mode, SafeSale snapshots each variant's price and compare-at price, writes the sale price into the product itself, and restores the snapshot when the sale ends. Themes render whatever price is on the product, and every theme Shopify has shipped knows how to show a compare-at price with a line through it. A Canvas theme is a Shopify-developed or custom theme edited by Sidekick, and it shows the strike-through like any other.

Neither mode touches the theme. That is the whole answer to the merchant's question.

What does change on a Canvas theme

SafeSale has two optional storefront extras: a sale badge (an app embed) and a countdown (an app block). Shopify's Canvas documentation says you can't add or configure app blocks or app embeds in Canvas yet, so on a Canvas-badged theme those two are not available. The links on SafeSale's Settings page open the standard theme editor, and a Canvas theme only opens in Canvas, so they will not help on that theme. Shopify says support is coming before Canvas becomes the default editor and that apps will not need changes.

If a countdown is central to your sale, you have two options. Keep a non-Canvas theme live (your original, or a copy made with Duplicate rather than Duplicate in Canvas), or ask Sidekick for a plain countdown section in Canvas and let SafeSale handle the prices underneath. The second option works because the dates are the only thing a countdown needs, and you know them.

A pre-sale checklist for a Canvas store

  1. Pick the mode by what the product page must show. If you need the crossed-out price on the product page, choose price-rewrite. If a cart and checkout discount is enough, choose Functions and leave stored prices alone.
  2. Run the dry run. SafeSale previews every variant's current price, sale price and percentage before anything is written. This is where a 90% that should have been 9% gets caught.
  3. Check the end date and the revert. In price-rewrite mode the snapshot is restored automatically at the end time; in Functions mode the discount ends. Either way you do not need to be awake.
  4. If you want the badge or countdown, confirm your live theme has no Canvas badge on Online Store > Themes before you enable them.
  5. Load a product page on the live storefront after the sale starts, in a normal browser window, and look at the price. The theme editor preview is not the storefront.

Step 5 is the one people skip and the one that catches everything else.

One more thing Canvas does not change

The restore. Snapshots are kept by SafeSale and the one-click restore is never gated by plan. If something about the Canvas theme looks wrong mid-sale, you can end the sale and restore prices without touching the theme at all. The theme and the prices are separate problems, which is the point of keeping them separate.

For the badge and countdown workaround in detail, see SafeSale's own post on Canvas.

Questions we expect

Do SafeSale discounts work on a Shopify Canvas theme?

Yes. In Functions mode the sale is a Shopify automatic discount applied in the cart and at checkout; in price-rewrite mode the sale changes the product's prices from a snapshot. Neither depends on the theme.

Will the crossed-out compare-at price show on a Canvas theme?

In price-rewrite mode, yes: the compare-at price is on the product and the theme renders it like any other theme does. In Functions mode the stored price is untouched and the discount appears in the cart and at checkout.

Can I show a sale countdown on a Canvas theme?

SafeSale's countdown block and sale badge are a theme app extension, which Canvas does not support yet. Use a theme without the Canvas badge, or ask Sidekick for a plain countdown section in Canvas while SafeSale handles the prices underneath.

More on Shopify Canvas from Beacon Wave Studio