Boost Revenue with Cross-Sells During Your Shopify Booking Checkout
Boost Revenue with Cross-Sells During Your Shopify Booking Checkout
By

A photography studio in Chicago has a recurring problem: weekdays are dead. Monday through Thursday, the studio averages 2 bookings per day. Friday through Sunday, it averages 8. The empty weekday slots represent lost revenue of roughly $1,200 per week. The owner tried posting "Weekday Discount!" on Instagram once. It generated 3 bookings and then nothing. There was no urgency, no deadline, and no follow-up. The promotion was a single social media post with no structure behind it. She did not track how many people saw it, how many clicked the booking link, or how many actually booked. The entire effort was invisible from a data perspective.
Limited-time promotions solve this problem by creating urgency around specific time windows. A "20% off all Tuesday bookings this month" promotion is fundamentally different from a generic "we have discounts" post because it has a clear deadline, a specific target, and a measurable outcome. Here is how to build limited-time promotions for service businesses on Shopify that actually fill empty slots and generate revenue.
Permanent discounts teach customers to wait. If your massage studio always offers 15% off, customers learn that they never need to book at full price. Limited-time promotions work because they create a decision trigger: book now or miss the discount. The psychology is simple but powerful.
A customer who sees "20% off Wednesday massages, this week only" makes a decision within minutes. A customer who sees "15% off all massages" bookmarks it and forgets. According to a 2025 study by Klaviyo, time-limited promotional emails convert at 3.2x the rate of evergreen discount emails. The difference is urgency. A deadline forces action.
Instead of discounting everything, you discount the slots that are empty. A salon with open Tuesday at 2:00 PM and Tuesday at 4:00 PM runs a promotion targeting those specific times. The promotion fills the gap without discounting slots that would sell at full price anyway. A marketing consultant in Seattle who runs a monthly strategy workshop noticed that Tuesday sessions sold out in 2 hours while Thursday sessions took 5 days to fill. He created a Thursday-only 15% early-bird promotion and reduced Thursday sellout time from 5 days to 36 hours. The Tuesday sessions remained at full price. This is the difference between a blanket sale and a strategic promotion.
A first-time customer who books through a limited-time promotion may become a full-price repeat customer. A yoga studio in Denver that ran a "First class free, this weekend only" promotion converted 34% of promotional attendees into monthly members within 60 days. The promotion cost was one free class per person. The return was a $120/month membership.
A flash sale announces a discount with a short deadline. "25% off all bookings made before midnight Friday." Flash sales work best for filling empty slots in the next 7 to 14 days. The short window creates urgency and forces immediate action.
Offer a lower price for customers who book a specific event or time slot more than 2 weeks in advance. "Book our Saturday workshop before June 15 and pay $149 instead of $175." Early-bird pricing fills seats early, reduces last-minute cancellations, and gives you a predictable attendee count for planning.
Align promotions with seasonal demand patterns. A ski rental shop offers 20% off winter rentals in October. A swim school offers 15% off summer lessons in March. Seasonal promotions capture customers who are planning ahead and willing to commit early for a better price.
Discount the time slots that are consistently empty. A salon with empty Wednesday afternoon slots offers 20% off all Wednesday 1:00 PM to 4:00 PM bookings. This fills the gap without touching peak-time revenue. Cowlendar's service-level pricing configuration lets you set different prices for different time slots.
Pair a service with a product at a combined discount. A photography studio bundles a headshot session ($99) with a retouched digital image package ($49) at a combined price of $129 (a $19 savings). The bundle increases the average order value while giving the customer a perceived deal. For more strategies on adding upsells during the booking flow, see our guide on how to upsell add-ons during a Shopify booking.

Look at your booking data from the last 30 days. Which time slots are consistently empty? Which days have the lowest utilization? The promotion should target those specific gaps, not your entire schedule. A promotion that fills a Tuesday at 2:00 PM is more profitable than a promotion that discounts a Saturday at 10:00 AM that would have sold anyway.
In your booking app, create a separate service listing for the promotion. Give it a clear name: "Weekday Special: 60-Minute Massage, 20% Off" or "Tuesday Only: Haircut + Beard, $45 (Regular $60)." Set the discounted price and configure the availability to match the time slots you want to fill.
Define when the promotion starts, when it ends, and which dates it applies to. A 48-hour flash sale might run Friday through Sunday. A monthly off-peak promotion might run every Wednesday for the month of June. Cowlendar's service availability settings let you restrict a promotion to specific days and time windows.
Send a promotional email to your customer list announcing the limited-time offer. Post on Instagram and Facebook with the deadline prominently displayed. Use countdown stickers in Stories to create visual urgency. For more on email flows, see our guide on Klaviyo and Cowlendar email flows.
After the promotion ends, calculate: how many bookings were made, how much revenue was generated, and what the average discount was. If the promotion filled 8 out of 10 empty slots at a 20% discount, you generated revenue from slots that would have been empty. The discount cost you less than the empty slot revenue.
If an off-peak promotion works (e.g., Wednesday discounts fill the schedule), make it a recurring promotion. Create the discounted service once and set it to be available every Wednesday. Cowlendar's recurring service configuration handles this automatically.
For a walkthrough of setting up automatic discounts and promotional pricing on Shopify, this video on creating automatic discounts in Shopify covers the general process.

Cowlendar is a native Shopify booking app with 22,500+ active merchants, a 4.9-star rating, and 2,056+ reviews. It supports per-service pricing, time-limited availability, group bookings, and deposits on every plan, starting at $13.99/month. For limited-time promotions, Cowlendar's ability to create separate service listings with different prices and availability windows makes it straightforward to run targeted promotions for specific time slots. Cowlendar also offers subscriptions for recurring service plans and a public API for businesses that need custom promotion logic.
Sesami has a 4.6-star rating and starts at $19/month. Sesami supports promotional pricing through its service configuration and Sesami Flows can automate follow-up sequences for customers who book during a promotion (e.g., "Thanks for booking! Here's 10% off your next full-price session"). Its POS integration allows in-store promotion sign-ups. However, Sesami's pricing scales to $299/month, which is significantly more expensive than Cowlendar for businesses that primarily need promotional tools.
BookThatApp has a 4.7-star rating and starts at $25/month. BookThatApp handles resource-based promotions (e.g., "Book a kayak on Tuesday and get 15% off") well because its resource allocation features can target specific inventory. For rental businesses that want to run off-peak promotions on specific equipment, BookThatApp's resource-level pricing is more detailed than Cowlendar's. However, its interface is more complex for simple service promotions.
Meety offers a free tier and paid plans from $14/month. Meety handles basic promotional pricing through its service configuration, which works for solo practitioners who want to run a simple discount. However, Meety lacks time-limited availability controls, automated promotion scheduling, and the promotional email integration that Cowlendar provides through Klaviyo.
A 20% discount on an empty Tuesday slot generates revenue from a slot that would have been empty. A 20% discount on a Saturday morning slot that would have sold anyway is lost revenue. Always target promotions at gaps, not at your entire schedule.
Offer 10% off for a single booking and 20% off for a 3-session package. The tiered structure incentivizes commitment. A massage client who books a single session at $108 (after 10% off) might book a 3-session package at $288 (after 20% off) instead of paying $360 at full price. You lose $72 in discount but gain $288 in guaranteed revenue and 3 confirmed sessions. Over a year, a client who books 3-session packages every quarter generates $1,152 in revenue compared to a single-session client who books 4 times at full price ($432). The tiered structure increases both commitment and lifetime value.
After a customer books through a limited-time promotion, send a follow-up email 7 days later offering a smaller discount on their next full-price booking. "Thanks for joining us last Tuesday! Here's 10% off your next session." This converts the promotional customer into a repeat customer at a reduced acquisition cost. A yoga studio in Portland that implemented post-promotion follow-ups saw 28% of promotional customers return for a second visit within 30 days, compared to 9% without the follow-up sequence. For more on email flows, see our guide on how to prevent double bookings on Shopify.
Limit the number of discounted bookings available. "First 20 bookings get 25% off" is more compelling than "25% off all bookings this week." The cap creates scarcity, which amplifies urgency. Once the cap is reached, the promotion ends, and the remaining slots return to full price. A barbershop that capped its Monday promotion at 10 discounted slots saw all 10 sell out within 6 hours of the email being sent. The same promotion without a cap took 48 hours to fill 8 slots. The cap accelerated the booking decision.
A promotion that fills 10 slots at 20% off might generate $800 in revenue. A promotion that fills 5 slots at 10% off might generate $675 in revenue but at a higher profit margin because the discount is smaller. Track both revenue and profit per promotion to determine which discount levels and time windows produce the best financial outcome for your business. A simple spreadsheet with columns for promotion type, discount percentage, slots filled, revenue generated, and profit margin gives you the data to make informed decisions about future promotions. Without this tracking, you are guessing. A salon owner in Miami who started tracking promotion ROI realized that her 30% flash sales generated less profit than her 10% off-peak discounts, even though the flash sales filled more slots. The data changed her entire promotional strategy.
For most service businesses, 1 to 2 promotions per month is the right frequency. Running promotions too often (weekly) trains customers to wait for discounts. Running them too infrequently (quarterly) means you are not filling empty slots consistently. The sweet spot depends on your business: a salon with 30% empty weekday slots might run a monthly off-peak promotion, while a photography studio with rare gaps might run quarterly flash sales. Track your promotion frequency against your booking utilization rate. If utilization increases by 15% or more during a promotion month, the promotion is working. If it stays flat, you need a different targeting strategy.
The standard range is 10% to 25%. A 10% discount is enough for a gentle nudge on a slightly underbooked day. A 25% discount is appropriate for a flash sale targeting a specific time window (e.g., "25% off all Tuesday bookings this week"). Avoid discounts above 30% because they erode margins and attract price-sensitive customers who may not return at full price.
Yes. Create a separate service listing in Cowlendar for the promotion and restrict its availability to the specific time slots you want to fill. A salon might create "Weekday Afternoon Special: Haircut, $40" that is only available Tuesday through Thursday from 1:00 PM to 4:00 PM. The regular-priced service remains at full price for all other time slots. This dual-listing approach means customers who book peak-time slots pay full price while customers who choose off-peak slots get the discount. The booking system enforces the availability restriction automatically, so you don't have to manually verify which bookings qualify for the promotion.
Use three channels simultaneously: email (to your existing customer list), social media (Instagram Stories with countdown stickers, Facebook posts), and your website (a banner or pop-up on your booking page). Send the email at least 48 hours before the promotion ends to give customers time to book. Post on social media daily during the promotion with a reminder of the deadline.
Yes. Cowlendar supports both promotional pricing and deposit requirements simultaneously. A customer booking a 20% discounted session still pays a deposit at booking, which protects you from no-shows. The deposit is calculated on the discounted price, not the original price. This ensures that even promotional bookings have financial commitment behind them.
Excessive discounting reduces your average revenue per booking and can attract customers who only book when there is a sale. The key metric is customer lifetime value (CLV). A customer acquired through a 20% promotional discount who returns 3 times at full price generates more revenue than a customer who never booked without a discount. Track your promotional customers' return rate and CLV to ensure promotions are generating long-term value, not just short-term bookings.
Limited-time promotions are the fastest way to fill empty booking slots on Shopify. They work because they create urgency, target specific gaps, and convert one-time promotional customers into repeat full-price clients. The key is precision: discount the empty slots, not your entire schedule. Set a clear deadline, promote through email and social media, and track the results. On Shopify, Cowlendar's per-service pricing and time-limited availability configuration make it straightforward to run targeted promotions that fill gaps without eroding your full-price revenue.