{"id":14107,"date":"2025-06-10T16:00:00","date_gmt":"2025-06-10T16:00:00","guid":{"rendered":"https:\/\/www.getmesa.com/blog\/?p=14107"},"modified":"2025-12-22T23:01:09","modified_gmt":"2025-12-22T23:01:09","slug":"how-to-schedule-a-sale-on-shopify","status":"publish","type":"post","link":"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/","title":{"rendered":"How To Schedule Site-Wide Sales On Shopify"},"content":{"rendered":"\n<p>Scheduling a site-wide sale on Shopify lets you plan and run promotions across your entire store without manually updating prices. With a start and end time in place, your sale launches and ends automatically.<\/p>\n\n\n\n<p>In this post, we\u2019ll explain how scheduled sales work and why they\u2019re an excellent tool for store owners to simplify promotions and stay ahead of key sales moments.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<p><strong>TL;DR: Skip the step-by-step tutorial.<\/strong> Use this template to schedule and then resets your sales.<\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>schedule-shopify-site-wide-sale<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"schedule-shopify-site-wide-sale\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\t\t<style>.mesa-template-backend {\n    background: rgba(139, 139, 150, 0.1);\n    padding: 22px;\n}\n\n.mesa-template-backend h5,\n.mesa-template-backend p {\n    margin: 0 0 5px;\n}\n\n.mesa-template-backend p {\n    font-size: 16px;\n}\n\n.mesa-template-backend p:last-child {\n    display: inline-block;\n    background: #fff;\n    padding: 5px 10px;\n}\n\n.mesa-template-backend p strong {\n    font-size: 12px;\n}<\/style>\n\t\t\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">In this article:<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Why-run-site-wide-sales-on-Shopify\" >Why run site-wide sales on Shopify?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Step-by-step-How-to-schedule-product-sales\" >Step-by-step: How to schedule product sales<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Step-by-step-How-to-reset-the-sale-prices\" >Step-by-step: How to reset the sale prices&nbsp;<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#1-Schedule-the-workflow\" >1. Schedule the workflow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#2-Get-list-of-products\" >2. Get list of products<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#3-Loop-over-products\" >3. Loop over products<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#4-Loop-over-variants\" >4. Loop over variants<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#5-Check-if-the-%E2%80%9CCompare-At-Price%E2%80%9D-is-empty\" >5. Check if the \u201cCompare At Price\u201d is empty<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#6-Clear-%E2%80%9CCompare-At-Price%E2%80%9D-for-reset\" >6. Clear \u201cCompare At Price\u201d for reset<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#7-Update-product-variant\" >7. Update product variant<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#8-Turn-workflow-%E2%80%9COn%E2%80%9D\" >8. Turn workflow \u201cOn\u201d<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Types-of-site-wide-sales-on-Shopify\" >Types of site-wide sales on Shopify<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Percentage-based-markdowns\" >Percentage-based markdowns<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Fixed-dollar-discounts\" >Fixed dollar discounts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Flash-sales\" >Flash sales<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Seasonal-sales\" >Seasonal sales<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Clearance-sales\" >Clearance sales<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Tips-for-running-site-wide-sales-on-Shopify\" >Tips for running site-wide sales on Shopify<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Plan-ahead\" >Plan ahead<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Pick-your-discount-amount\" >Pick your discount amount<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Test-your-automation\" >Test your automation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Tell-your-customers\" >Tell your customers<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.getmesa.com/blog\/how-to-schedule-a-sale-on-shopify\/#Frequently-asked-questions\" >Frequently asked questions<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"h-why-run-site-wide-sales-on-shopify\"><span class=\"ez-toc-section\" id=\"Why-run-site-wide-sales-on-Shopify\"><\/span><strong>Why run site-wide sales on Shopify?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Automating your sales takes the pressure off manual updates and helps you avoid mistakes, especially if you have an extensive catalog. With this strategy, you can set exact start\/end times for your promotions and let the system do the rest.<\/p>\n\n\n\n<p>This is especially useful around busy shopping periods like Black Friday, back-to-school, or seasonal clearances. You can schedule your sales well in advance and have more time to focus on marketing or other priorities.<\/p>\n\n\n\n<p>Using a scheduling tool like MESA adds another layer of reliability. You don\u2019t have to worry about starting too late, running too long, or missing a key shopping window. Your sale will end as planned, creating a better customer experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-by-step-how-to-schedule-product-sales\"><span class=\"ez-toc-section\" id=\"Step-by-step-How-to-schedule-product-sales\"><\/span><strong>Step-by-step: How to schedule product sales<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"schema-how-to wp-block-yoast-how-to-block\"><p class=\"schema-how-to-total-time\"><span class=\"schema-how-to-duration-time-text\">Time needed:&nbsp;<\/span>5 minutes<\/p><p class=\"schema-how-to-description\">This workflow will automate scheduling a site-wide sale for all products in a Shopify store.<\/p> <ol class=\"schema-how-to-steps\"><li class=\"schema-how-to-step\" id=\"how-to-step-1749062778572\"><strong class=\"schema-how-to-step-name\"><strong>Schedule a sale<\/strong><\/strong> <p class=\"schema-how-to-step-text\">Use the built-in Schedule tool to trigger the site-wide sale at a specified date and time.<img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"664\" class=\"wp-image-14109\" alt=\"Schedule a sale\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/trigger-schedule-1.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/trigger-schedule-1.png 733w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/trigger-schedule-1-300x272.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063130272\"><strong class=\"schema-how-to-step-name\"><strong>Discount amount<\/strong><\/strong> <p class=\"schema-how-to-step-text\">This custom code step calculates the discount to apply to each product variant using custom code. Click Edit code, then paste the following snippet:<br\/><br\/><code>\/**<br\/>\u00a0* Discount amount<br\/>\u00a0*\/<br\/><br\/>const Mesa = require('vendor\/Mesa.js');<br\/><br\/>module.exports = new class {<br\/><br\/>\u00a0\u00a0script = (payload, context) => {<br\/>\u00a0\u00a0\u00a0\u00a0const vars = context.steps;<br\/><br\/>\u00a0\u00a0\u00a0\u00a0let discountAmount = context.automation.outputs[0].metadata.discount_amount;<br\/><br\/>\u00a0\u00a0\u00a0\u00a0Mesa.trigger.setTaskExternalData({<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"label\": \"Discount amount: \" + discountAmount<br\/>\u00a0\u00a0\u00a0\u00a0})<br\/><br\/>\u00a0\u00a0\u00a0\u00a0Mesa.log.info(JSON.stringify(context));<br\/><br\/>\u00a0\u00a0\u00a0\u00a0\/\/ We're done, call the next step!<br\/>\u00a0\u00a0\u00a0\u00a0Mesa.output.next({<br\/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"discount_amount\": discountAmount<br\/>\u00a0\u00a0\u00a0\u00a0});<br\/>\u00a0\u00a0}<br\/>}<\/code><br\/><br\/><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"431\" class=\"wp-image-14110\" style=\"max-width:100%;\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-169.png\" alt=\"Discount amount\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-169.png 751w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-169-300x172.png 300w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063285790\"><strong class=\"schema-how-to-step-name\"><strong>Get list of products<\/strong><\/strong> <p class=\"schema-how-to-step-text\">Retrieves all products from your Shopify store to prepare them for the price update.<img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"370\" class=\"wp-image-14112\" alt=\"Get list of products\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-170.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-170.png 750w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-170-300x148.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063326948\"><strong class=\"schema-how-to-step-name\"><strong>Loop over products<\/strong><\/strong> <p class=\"schema-how-to-step-text\">The Loop iterates through each product returned from the previous step.<img loading=\"lazy\" decoding=\"async\" width=\"793\" height=\"637\" class=\"wp-image-14113\" alt=\"Loop over products\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-171.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-171.png 793w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-171-300x241.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-171-768x617.png 768w\" sizes=\"auto, (max-width: 793px) 100vw, 793px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063368305\"><strong class=\"schema-how-to-step-name\"><strong>Loop over variants<\/strong><\/strong> <p class=\"schema-how-to-step-text\">Next, use another Loop to iterate through each product&#8217;s variants. This ensures that all product variants are considered for sale.<img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"629\" class=\"wp-image-14114\" alt=\"Loop over variants\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-172.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-172.png 785w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-172-300x240.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-172-768x615.png 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063492294\"><strong class=\"schema-how-to-step-name\"><strong>Check if the \u201cCompare At Price\u201d exists<\/strong><\/strong> <p class=\"schema-how-to-step-text\">The built-in Filter checks whether the variant has an existing compare-at price or if it equals 0.<img loading=\"lazy\" decoding=\"async\" width=\"787\" height=\"786\" class=\"wp-image-14115\" alt=\"Check if the \u201cCompare At Price\u201d exists\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-173.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-173.png 787w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-173-300x300.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-173-150x150.png 150w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-173-768x767.png 768w\" sizes=\"auto, (max-width: 787px) 100vw, 787px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063525113\"><strong class=\"schema-how-to-step-name\"><strong>Update product variant<\/strong><\/strong> <p class=\"schema-how-to-step-text\">Next, update the variant\u2019s price using the calculated discount, and change the original price as the compare-at price.<img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"859\" class=\"wp-image-14116\" alt=\"Update product variant\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-174.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-174.png 789w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-174-276x300.png 276w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/image-174-768x836.png 768w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1749063563543\"><strong class=\"schema-how-to-step-name\"><strong>Turn workflow \u201cOn\u201d<\/strong><\/strong> <p class=\"schema-how-to-step-text\">Be sure to save the workflow and turn it \u201cOn\u201d when ready.\u00a0<br\/><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"1448\" class=\"wp-image-14132\" alt=\"How to schedule product sales\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30.png\" style=\"max-width:100%;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30.png 806w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30-167x300.png 167w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30-570x1024.png 570w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30-768x1380.png 768w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><\/p> <\/li><\/ol><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-step-by-step-how-to-reset-the-sale-prices-nbsp\"><span class=\"ez-toc-section\" id=\"Step-by-step-How-to-reset-the-sale-prices\"><\/span><strong>Step-by-step: How to reset the sale prices&nbsp;<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Time needed: 5 minutes<\/p>\n\n\n\n<p>Make a second workflow to reset the site-wide sale from the previous workflow.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-schedule-the-workflow\"><span class=\"ez-toc-section\" id=\"1-Schedule-the-workflow\"><\/span><strong>1. Schedule the workflow<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The built-in Schedule tool triggers at a set date and time to begin resetting all product prices.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXe8k1CCu2hKxs_Q2Ch4AzfyXgHJn1p3-Sewv6avazLNDAq4-cvoU2Np7MTb6dULtcQl1zHzGQ1P8MR5mNY-S_s_mLvdZJ2ZssLba5Nja43bInqEfFstVvnl4qAjUOfBzBO_rRRA?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Schedule the workflow\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-get-list-of-products\"><span class=\"ez-toc-section\" id=\"2-Get-list-of-products\"><\/span><strong>2. Get list of products<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Fetches all products from your Shopify store for processing.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcWcSD3Cf7e6ykKKb2glpqY560qeDOmCcVaPkX_b6Gdk-nKImpWWzY-sKXgUyPp0skZXyRwDVd28EG-zzKmBIjKPkkD3tsaDZH-xPVxact03HYVocHBnnlCejunpwefDv4eLXQn?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Get list of products\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-loop-over-products\"><span class=\"ez-toc-section\" id=\"3-Loop-over-products\"><\/span><strong>3. Loop over products<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Iterates over each product retrieved from the Shopify store.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdb0x31NuBLGi0RhJBo6_VfsrBaf_DcS6bviFi4EOHSh_vpYbyCEB58K7kqM_6n6jYTe7filE0o5HGozSMtIIXn9DUgLgCiwkPbE2gNEU8WCugGJx1SxZE4jePb4mRobL2vmzkwVQ?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Loop over products\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-loop-over-variants\"><span class=\"ez-toc-section\" id=\"4-Loop-over-variants\"><\/span><strong>4. Loop over variants<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Loops through every variant within each product.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeocNMXfSQ2tFhSBCe9dniA4pXmr9BjY1YdKGRNusiVUwakCth4C_nUZ7BfTWXai5nx2JlxTaap_YJkjzQRlB6mKqf9wMUVWtAFc5rM0GU-ffzrIQJ5tN5wYfTevsg-Tw6HDnf2AQ?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Loop over variants\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-check-if-the-compare-at-price-is-empty\"><span class=\"ez-toc-section\" id=\"5-Check-if-the-%E2%80%9CCompare-At-Price%E2%80%9D-is-empty\"><\/span><strong>5. Check if the \u201cCompare At Price\u201d is empty<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Checks if a variant has a compare_at_price value set, indicating it was previously discounted.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdh9D2j-fkgl4WwT8HEGXwKr-frtazoOBdR7j3DayJXIIssyjVDVtF-2JzWiKAKnNLeMAcgpQbHwx1AGrZuHT9OPQTDO9moKXSE8XZxvAec0WDVVw5kBefpUyITDMGNMluEwJcL?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Check if the \u201cCompare At Price\u201d is empty\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-clear-compare-at-price-for-reset\"><span class=\"ez-toc-section\" id=\"6-Clear-%E2%80%9CCompare-At-Price%E2%80%9D-for-reset\"><\/span><strong>6. Clear \u201cCompare At Price\u201d for reset<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Uses a script to return an empty value to clear the compare_at_price field.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfIdUIk8nZ9rdc6BMERy6vhTwtxWHWPwK7yUYij6yJYp3XjAwakynjCMPEweIm_f_ySTnxN0gGvJ1SDwcF7reJ0pwQ-j9zbsqL5sH3hgvudD45sGDZQHqTxo3puBkb2LG9_FfsB?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Clear \u201cCompare At Price\u201d for reset\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-7-update-product-variant\"><span class=\"ez-toc-section\" id=\"7-Update-product-variant\"><\/span><strong>7. Update product variant<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Restores the original price from compare_at_price and clears the compare-at price to end the promotion.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcz6jgvi_iDOLXqGcPz-qFmrL6jeBQzSNjfzkkiOQlEVBK1XyoQPQzsR3kHg9SzfcxU2Yx1NxTEHgdapPbeXv2s0caJetEc-cXL0he0hNM2K42Z98UOcbuIbn-1AiKnbDRjiscaNg?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Update product variant\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-8-turn-workflow-on\"><span class=\"ez-toc-section\" id=\"8-Turn-workflow-%E2%80%9COn%E2%80%9D\"><\/span><strong>8. Turn workflow \u201cOn\u201d<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Be sure to save the workflow and turn it \u201cOn\u201d when ready.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd5bi5tpre3RU188OrBPRHcfDGACF9kYOUyDM1Smq1ija3a5aU0HOGmH-xaASFgs616xzxWEMOjw4RHnHqsE_uVgm8CLHjW5GpunMmtz1HskHI3x-AmE5t-Kg8KLc2iFT5yoA6-6A?key=7xbbqw9OBTu0fslqyjlnCw\" alt=\"Turn workflow \u201cOn\u201d\"\/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<p><strong>Use this template to get started quickly with both workflows.<\/strong> It will add both workflow and guide to personalize both:<\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>schedule-shopify-site-wide-sale<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"schedule-shopify-site-wide-sale\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-types-of-site-wide-sales-on-shopify\"><span class=\"ez-toc-section\" id=\"Types-of-site-wide-sales-on-Shopify\"><\/span><strong>Types of site-wide sales on Shopify<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Shopify gives you the tools to run storewide promotions tailored to your goals. Whether clearing out stock or planning a big campaign, these sales types help you drive action and deliver clear value to customers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-percentage-based-markdowns\"><span class=\"ez-toc-section\" id=\"Percentage-based-markdowns\"><\/span><strong>Percentage-based markdowns<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Apply a uniform discount of 15% or 25% across your entire catalog. It\u2019s simple, effective, and easy for customers to understand.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-fixed-dollar-discounts\"><span class=\"ez-toc-section\" id=\"Fixed-dollar-discounts\"><\/span><strong>Fixed dollar discounts<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Offer a flat amount off all items or orders over a set threshold. This works well for higher-priced products and encourages larger carts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-flash-sales\"><span class=\"ez-toc-section\" id=\"Flash-sales\"><\/span><strong>Flash sales<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Run time-limited deals that last a few hours or a single day. These sales create momentum and are great for quick boosts or notable launches.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-seasonal-sales\"><span class=\"ez-toc-section\" id=\"Seasonal-sales\"><\/span><strong>Seasonal sales<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Tie promotions to calendar moments like end-of-season events or holiday weekends. Planning lets you align your marketing and inventory strategy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-clearance-sales\"><span class=\"ez-toc-section\" id=\"Clearance-sales\"><\/span><strong>Clearance sales<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Discount aging or excess inventory to make room for new products. A full-store clearance can drive quick sell-through and keep your product mix fresh.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tips-for-running-site-wide-sales-on-shopify\"><span class=\"ez-toc-section\" id=\"Tips-for-running-site-wide-sales-on-Shopify\"><\/span><strong>Tips for running site-wide sales on Shopify<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A good promotion isn\u2019t just about discounts; it\u2019s about timing, planning, and execution. These tips will help you run site-wide sales that deliver real results without added stress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-plan-ahead\"><span class=\"ez-toc-section\" id=\"Plan-ahead\"><\/span><strong>Plan ahead<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Mark your calendar for product launches, inventory cycles, or customer milestones. Planning gives you time to prep your store, align your marketing, and manage traffic.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-pick-your-discount-amount\"><span class=\"ez-toc-section\" id=\"Pick-your-discount-amount\"><\/span><strong>Pick your discount amount<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Use past campaign data and product performance to guide your offer. Small discounts move popular items, deeper cuts clear overstock. Match your strategy to margin and demand.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-test-your-automation\"><span class=\"ez-toc-section\" id=\"Test-your-automation\"><\/span><strong>Test your automation<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Before you launch, run a test to make sure sale pricing is triggering correctly across your store. Check product pages, carts, and reports to ensure everything shows the promotion.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-tell-your-customers\"><span class=\"ez-toc-section\" id=\"Tell-your-customers\"><\/span><strong>Tell your customers<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Promote your sale through email, site banners, and social channels. Be clear on timing and what\u2019s included so customers are ready when the sale goes live.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-frequently-asked-questions\"><span class=\"ez-toc-section\" id=\"Frequently-asked-questions\"><\/span><strong>Frequently asked questions<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1749064548669\"><strong class=\"schema-faq-question\"><strong>Can I schedule multiple site-wide sales in advance?<\/strong><\/strong> <p class=\"schema-faq-answer\">You can use automation tools like MESA to schedule multiple sales campaigns with different start and end times.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1749064562800\"><strong class=\"schema-faq-question\"><strong>How do I choose the right discount amount for my site-wide sale?<\/strong><\/strong> <p class=\"schema-faq-answer\">Consider factors like profit margins, customer expectations, and competitor pricing when selecting a discount amount.\u00a0<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1749064571933\"><strong class=\"schema-faq-question\"><strong>Can I exclude certain products from a site-wide sale?<\/strong><\/strong> <p class=\"schema-faq-answer\">Yes, most automation tools allow you to specify which products or collections should be included or excluded from a site-wide sale.<\/p> <\/div> <\/div>\n\n\n\n<div class=\"card-next-steps\">\n\t<div class=\"card__content\">\n\t\t<h4>What to do next&#8230;<\/h4>\n<p>The fastest way to see automation working in your store is to start with a single workflow.<\/p>\n<ol>\n<li><a href=\"https:\/\/www.getmesa.com\/pricing\"><strong>Try MESA free<\/strong><\/a> \u2014 start a 7-day free trial and get your first workflow running.<\/li>\n<li><a href=\"https:\/\/www.getmesa.com\/templates\"><strong>Browse the template library<\/strong><\/a> \u2014 pre-built workflows for the most common Shopify automation tasks.<\/li>\n<li><a href=\"https:\/\/www.getmesa.com\/yedric\"><strong>Talk to Yedric<\/strong><\/a> \u2014 describe what you want to automate, and let our AI assistant build it for you.<\/li>\n<li><a href=\"https:\/\/www.getmesa.com\/support\"><strong>Get free workflow setup<\/strong><\/a> \u2014 MESA&#8217;s team will build your first workflow at no cost.<\/li>\n<\/ol>\n\t<\/div><!-- \/.card__content -->\n\n\t\n<div class=\"socials card__socials\">\n\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/twitter.com\/getmesa\" target=\"_blank\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/twitter-icon.svg\" class=\"attachment-small size-small\" alt=\"icon: twitter\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.youtube.com\/@getmesa\" target=\"_blank\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/youtube-icon.svg\" class=\"attachment-small size-small\" alt=\"icon: youtube\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.linkedin.com\/company\/9754608\/\" target=\"_blank\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/linkedin-icon.svg\" class=\"attachment-small size-small\" alt=\"linkedin icon\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t<\/ul>\n<\/div><!-- \/.socials -->\n<\/div><!-- \/.card-next-steps -->\n","protected":false},"excerpt":{"rendered":"<p>Scheduling a site-wide sale on Shopify lets you plan and run promotions across your entire store without manually updating prices&#8230;.<\/p>\n","protected":false},"author":1,"featured_media":14122,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[48],"tags":[66],"class_list":["post-14107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-workflow-tutorials","tag-shopify"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Schedule a Sale on Shopify and Automate Discounts<\/title>\n<meta name=\"description\" content=\"Learn how to schedule a sale on Shopify. Automate site-wide discounts, set start and end times, and simplify your store\u2019s promotions easily.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Schedule Site-Wide Sales On Shopify\" \/>\n<meta property=\"og:description\" content=\"Scheduling a site-wide sale on Shopify lets you plan and run promotions across your entire store without manually updating prices. With a start and end\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/\" \/>\n<meta property=\"og:site_name\" content=\"MESA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/mesabyshoppad\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-10T16:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T23:01:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/schedule-sales.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ryan ODonnell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@getmesa\" \/>\n<meta name=\"twitter:site\" content=\"@getmesa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ryan ODonnell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/\"},\"author\":{\"name\":\"Ryan ODonnell\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/person\\\/5ed8ee9c6f19090c4d5acb4f45efacb4\"},\"headline\":\"How To Schedule Site-Wide Sales On Shopify\",\"datePublished\":\"2025-06-10T16:00:00+00:00\",\"dateModified\":\"2025-12-22T23:01:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/\"},\"wordCount\":983,\"publisher\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/schedule-sales.png\",\"keywords\":[\"shopify\"],\"articleSection\":[\"Workflow Tutorials\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/\",\"name\":\"How to Schedule a Sale on Shopify and Automate Discounts\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/schedule-sales.png\",\"datePublished\":\"2025-06-10T16:00:00+00:00\",\"dateModified\":\"2025-12-22T23:01:09+00:00\",\"description\":\"Learn how to schedule a sale on Shopify. Automate site-wide discounts, set start and end times, and simplify your store\u2019s promotions easily.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064548669\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064562800\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064571933\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/schedule-sales.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/schedule-sales.png\",\"width\":1280,\"height\":720,\"caption\":\"How To Schedule Site-Wide Sales On Shopify\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Schedule Site-Wide Sales On Shopify\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/\",\"name\":\"MESA\",\"description\":\"Discover how to automate your Shopify growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#organization\",\"name\":\"MESA - AI automation Platform\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/mesa-shoppad.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/mesa-shoppad.jpeg\",\"width\":225,\"height\":225,\"caption\":\"MESA - AI automation Platform\"},\"image\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/web.facebook.com\\\/mesabyshoppad\\\/\",\"https:\\\/\\\/x.com\\\/getmesa\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/shoppad\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCqsf_WhcGEsZMvms1idivyw\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/person\\\/5ed8ee9c6f19090c4d5acb4f45efacb4\",\"name\":\"Ryan ODonnell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g\",\"caption\":\"Ryan ODonnell\"},\"sameAs\":[\"https:\\\/\\\/www.getmesa.com\"],\"jobTitle\":\"Director of Marketing\",\"worksFor\":\"MESA\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064548669\",\"position\":1,\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064548669\",\"name\":\"Can I schedule multiple site-wide sales in advance?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You can use automation tools like MESA to schedule multiple sales campaigns with different start and end times.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064562800\",\"position\":2,\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064562800\",\"name\":\"How do I choose the right discount amount for my site-wide sale?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Consider factors like profit margins, customer expectations, and competitor pricing when selecting a discount amount.\u00a0\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064571933\",\"position\":3,\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#faq-question-1749064571933\",\"name\":\"Can I exclude certain products from a site-wide sale?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, most automation tools allow you to specify which products or collections should be included or excluded from a site-wide sale.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"HowTo\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#howto-1\",\"name\":\"How To Schedule Site-Wide Sales On Shopify\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#article\"},\"description\":\"This workflow will automate scheduling a site-wide sale for all products in a Shopify store.\",\"totalTime\":\"P0DT0H5M\",\"step\":[{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749062778572\",\"name\":\"Schedule a sale\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"Use the built-in Schedule tool to trigger the site-wide sale at a specified date and time.\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-9c661498899c0a9c0887e52ff3c187fb\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/trigger-schedule-1.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/trigger-schedule-1.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063130272\",\"name\":\"Discount amount\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"This custom code step calculates the discount to apply to each product variant using custom code. Click Edit code, then paste the following snippet:\\\/**\u00a0* Discount amount\u00a0*\\\/const Mesa = require('vendor\\\/Mesa.js');module.exports = new class {\u00a0\u00a0script = (payload, context) => {\u00a0\u00a0\u00a0\u00a0const vars = context.steps;\u00a0\u00a0\u00a0\u00a0let discountAmount = context.automation.outputs[0].metadata.discount_amount;\u00a0\u00a0\u00a0\u00a0Mesa.trigger.setTaskExternalData({\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\\\"label\\\": \\\"Discount amount: \\\" + discountAmount\u00a0\u00a0\u00a0\u00a0})\u00a0\u00a0\u00a0\u00a0Mesa.log.info(JSON.stringify(context));\u00a0\u00a0\u00a0\u00a0\\\/\\\/ We're done, call the next step!\u00a0\u00a0\u00a0\u00a0Mesa.output.next({\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\\\"discount_amount\\\": discountAmount\u00a0\u00a0\u00a0\u00a0});\u00a0\u00a0}}\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-d5d1ce8e9cb532d7f3f33856a939f0bd\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-169.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-169.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063285790\",\"name\":\"Get list of products\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"Retrieves all products from your Shopify store to prepare them for the price update.\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-41ede955a699f87419a3a58e620bfdfe\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-170.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-170.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063326948\",\"name\":\"Loop over products\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"The Loop iterates through each product returned from the previous step.\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-a878de02b037689f388764d6b1d2db76\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-171.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-171.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063368305\",\"name\":\"Loop over variants\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"Next, use another Loop to iterate through each product's variants. This ensures that all product variants are considered for sale.\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-dbe35660e06991cde92703fb61d66769\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-172.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-172.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063492294\",\"name\":\"Check if the \u201cCompare At Price\u201d exists\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"The built-in Filter checks whether the variant has an existing compare-at price or if it equals 0.\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-2093002a928d633fbbd3ab93f5af8d84\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-173.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-173.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063525113\",\"name\":\"Update product variant\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"Next, update the variant\u2019s price using the calculated discount, and change the original price as the compare-at price.\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-58f4b70bf5ba47f2f734d2af2b7476e6\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-174.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/image-174.png\"}},{\"@type\":\"HowToStep\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#how-to-step-1749063563543\",\"name\":\"Turn workflow \u201cOn\u201d\",\"itemListElement\":[{\"@type\":\"HowToDirection\",\"text\":\"Be sure to save the workflow and turn it \u201cOn\u201d when ready.\u00a0\"}],\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/how-to-schedule-a-sale-on-shopify\\\/#schema-image-c65ab944d835c573d203cabe41b95d11\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30.png\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Schedule a Sale on Shopify and Automate Discounts","description":"Learn how to schedule a sale on Shopify. Automate site-wide discounts, set start and end times, and simplify your store\u2019s promotions easily.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/","og_locale":"en_US","og_type":"article","og_title":"How To Schedule Site-Wide Sales On Shopify","og_description":"Scheduling a site-wide sale on Shopify lets you plan and run promotions across your entire store without manually updating prices. With a start and end","og_url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/","og_site_name":"MESA","article_publisher":"https:\/\/web.facebook.com\/mesabyshoppad\/","article_published_time":"2025-06-10T16:00:00+00:00","article_modified_time":"2025-12-22T23:01:09+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/schedule-sales.png","type":"image\/png"}],"author":"Ryan ODonnell","twitter_card":"summary_large_image","twitter_creator":"@getmesa","twitter_site":"@getmesa","twitter_misc":{"Written by":"Ryan ODonnell","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#article","isPartOf":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/"},"author":{"name":"Ryan ODonnell","@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/person\/5ed8ee9c6f19090c4d5acb4f45efacb4"},"headline":"How To Schedule Site-Wide Sales On Shopify","datePublished":"2025-06-10T16:00:00+00:00","dateModified":"2025-12-22T23:01:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/"},"wordCount":983,"publisher":{"@id":"https:\/\/www.getmesa.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#primaryimage"},"thumbnailUrl":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/schedule-sales.png","keywords":["shopify"],"articleSection":["Workflow Tutorials"],"inLanguage":"en-US"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/","name":"How to Schedule a Sale on Shopify and Automate Discounts","isPartOf":{"@id":"https:\/\/www.getmesa.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#primaryimage"},"image":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#primaryimage"},"thumbnailUrl":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/schedule-sales.png","datePublished":"2025-06-10T16:00:00+00:00","dateModified":"2025-12-22T23:01:09+00:00","description":"Learn how to schedule a sale on Shopify. Automate site-wide discounts, set start and end times, and simplify your store\u2019s promotions easily.","breadcrumb":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064548669"},{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064562800"},{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064571933"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#primaryimage","url":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/schedule-sales.png","contentUrl":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/schedule-sales.png","width":1280,"height":720,"caption":"How To Schedule Site-Wide Sales On Shopify"},{"@type":"BreadcrumbList","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.getmesa.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How To Schedule Site-Wide Sales On Shopify"}]},{"@type":"WebSite","@id":"https:\/\/www.getmesa.com\/blog\/#website","url":"https:\/\/www.getmesa.com\/blog\/","name":"MESA","description":"Discover how to automate your Shopify growth","publisher":{"@id":"https:\/\/www.getmesa.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.getmesa.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.getmesa.com\/blog\/#organization","name":"MESA - AI automation Platform","url":"https:\/\/www.getmesa.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/mesa-shoppad.jpeg","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/mesa-shoppad.jpeg","width":225,"height":225,"caption":"MESA - AI automation Platform"},"image":{"@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/mesabyshoppad\/","https:\/\/x.com\/getmesa","https:\/\/www.linkedin.com\/company\/shoppad\/","https:\/\/www.youtube.com\/channel\/UCqsf_WhcGEsZMvms1idivyw"]},{"@type":"Person","@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/person\/5ed8ee9c6f19090c4d5acb4f45efacb4","name":"Ryan ODonnell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g","caption":"Ryan ODonnell"},"sameAs":["https:\/\/www.getmesa.com"],"jobTitle":"Director of Marketing","worksFor":"MESA"},{"@type":"Question","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064548669","position":1,"url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064548669","name":"Can I schedule multiple site-wide sales in advance?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"You can use automation tools like MESA to schedule multiple sales campaigns with different start and end times.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064562800","position":2,"url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064562800","name":"How do I choose the right discount amount for my site-wide sale?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Consider factors like profit margins, customer expectations, and competitor pricing when selecting a discount amount.\u00a0","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064571933","position":3,"url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#faq-question-1749064571933","name":"Can I exclude certain products from a site-wide sale?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes, most automation tools allow you to specify which products or collections should be included or excluded from a site-wide sale.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"HowTo","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#howto-1","name":"How To Schedule Site-Wide Sales On Shopify","mainEntityOfPage":{"@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#article"},"description":"This workflow will automate scheduling a site-wide sale for all products in a Shopify store.","totalTime":"P0DT0H5M","step":[{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749062778572","name":"Schedule a sale","itemListElement":[{"@type":"HowToDirection","text":"Use the built-in Schedule tool to trigger the site-wide sale at a specified date and time."}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-9c661498899c0a9c0887e52ff3c187fb","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/trigger-schedule-1.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/trigger-schedule-1.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063130272","name":"Discount amount","itemListElement":[{"@type":"HowToDirection","text":"This custom code step calculates the discount to apply to each product variant using custom code. Click Edit code, then paste the following snippet:\/**\u00a0* Discount amount\u00a0*\/const Mesa = require('vendor\/Mesa.js');module.exports = new class {\u00a0\u00a0script = (payload, context) => {\u00a0\u00a0\u00a0\u00a0const vars = context.steps;\u00a0\u00a0\u00a0\u00a0let discountAmount = context.automation.outputs[0].metadata.discount_amount;\u00a0\u00a0\u00a0\u00a0Mesa.trigger.setTaskExternalData({\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"label\": \"Discount amount: \" + discountAmount\u00a0\u00a0\u00a0\u00a0})\u00a0\u00a0\u00a0\u00a0Mesa.log.info(JSON.stringify(context));\u00a0\u00a0\u00a0\u00a0\/\/ We're done, call the next step!\u00a0\u00a0\u00a0\u00a0Mesa.output.next({\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"discount_amount\": discountAmount\u00a0\u00a0\u00a0\u00a0});\u00a0\u00a0}}"}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-d5d1ce8e9cb532d7f3f33856a939f0bd","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-169.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-169.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063285790","name":"Get list of products","itemListElement":[{"@type":"HowToDirection","text":"Retrieves all products from your Shopify store to prepare them for the price update."}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-41ede955a699f87419a3a58e620bfdfe","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-170.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-170.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063326948","name":"Loop over products","itemListElement":[{"@type":"HowToDirection","text":"The Loop iterates through each product returned from the previous step."}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-a878de02b037689f388764d6b1d2db76","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-171.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-171.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063368305","name":"Loop over variants","itemListElement":[{"@type":"HowToDirection","text":"Next, use another Loop to iterate through each product's variants. This ensures that all product variants are considered for sale."}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-dbe35660e06991cde92703fb61d66769","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-172.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-172.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063492294","name":"Check if the \u201cCompare At Price\u201d exists","itemListElement":[{"@type":"HowToDirection","text":"The built-in Filter checks whether the variant has an existing compare-at price or if it equals 0."}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-2093002a928d633fbbd3ab93f5af8d84","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-173.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-173.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063525113","name":"Update product variant","itemListElement":[{"@type":"HowToDirection","text":"Next, update the variant\u2019s price using the calculated discount, and change the original price as the compare-at price."}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-58f4b70bf5ba47f2f734d2af2b7476e6","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-174.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/image-174.png"}},{"@type":"HowToStep","url":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#how-to-step-1749063563543","name":"Turn workflow \u201cOn\u201d","itemListElement":[{"@type":"HowToDirection","text":"Be sure to save the workflow and turn it \u201cOn\u201d when ready.\u00a0"}],"image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/how-to-schedule-a-sale-on-shopify\/#schema-image-c65ab944d835c573d203cabe41b95d11","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30.png","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/screencapture-app-getmesa-automations-6838f476775f029a6807642a-builder-2025-06-05-11_31_30.png"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts\/14107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/comments?post=14107"}],"version-history":[{"count":22,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts\/14107\/revisions"}],"predecessor-version":[{"id":17306,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts\/14107\/revisions\/17306"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/media\/14122"}],"wp:attachment":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/media?parent=14107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/categories?post=14107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/tags?post=14107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}