How to build a promo page that turns itself off when it ends

A promo page turns itself off if you give the price and the discount code an end date. Here are the three switches that run on their own, and the one that still depends on your memory.

On January 8th, going through her books, Mariana found that four of the best-selling toys in her Orizaba store were still at the Buen Fin price. She’d marked them down by hand herself on November 13th. Eight weeks of giving away a twenty percent discount she never meant to keep giving.

And up top, on her profile, the Buen Fin post was still live, advertising a discount that no longer existed.

A promo page is a page built around a single offer — a price, a date, and a button — made so people show up, buy, and it’s done. That last part of the sentence is the one almost nobody writes down the same day they turn the promo on: when it ends.

Why does a promo with no end date become your new price?

Because nothing turns it off. A promo with no ending doesn’t end — it just stays; three weeks in, it’s not a promo anymore, it’s what your stuff costs.

And here’s where the trap is. Turning a promo on is a decision: you sit down, pick the products, write the discount, publish. Turning it off isn’t a decision, it’s a memory. And nothing forces you to remember: no customer asks you to, no order flags it, no day makes it get in your way. Time just passes and you keep undercharging.

Mariana wasn’t disorganized. She was missing the thing almost everyone misses: writing the ending the same day you write the beginning.

How do you make a promo turn itself off?

By giving it both dates when you create it — not just the start. In your page’s console, a scheduled offer has four states, and you only ever write one of them.

The four are called Scheduled, Active, Ended, and Turned off. You create the offer with its window — “November 14th to 17th” — and it’s born Scheduled. On the 14th it moves itself to Active: the price drops in the store and the old price shows crossed out, without you touching anything. On the 18th it moves itself to Ended and the price goes back to normal. Turned off is the only one of the four that needs you to click something, and it’s there to cut a promo short.

The clock is literal: the sweep that turns scheduled items on and off runs every minute. If you set it to end Sunday at 11:59 pm, it ends Sunday at 11:59 pm — not Monday whenever you happen to remember.

Two things to know before you set one up. An offer can only ever lower the price: a sale price equal to or higher than the regular one gets rejected, so you can’t inflate it first and “discount” it after. And when a scheduled offer is retired, it goes back to draft — it doesn’t get deleted. Next year you turn it back on with new dates.

What if you’d rather use a discount code?

The code is the other half, and it comes with its own clocks. When you create a coupon it asks for Code, Start date (optional), Expiration date (optional), Maximum uses (optional), and Maximum uses per customer (optional). Every field that says “optional” there is an automatic switch: leave it blank, and there’s nothing left to turn it off.

A coupon stops applying for four reasons, and only one of them is on you — that it hasn’t started yet, that it’s already expired, that it ran out of uses, or that you turned it off yourself. Three clocks and one button.

Not every promo is a percentage off. Two that get used a lot here are minimum purchase and free shipping. Minimum purchase: the coupon only kicks in once the order hits a certain amount, measured on what the customer bought, not counting shipping. Free shipping doesn’t discount merchandise — it just doesn’t charge the customer for shipping. Both carry the same dates and the same use limits.

There’s also a checkbox that says Apply automatically: the discount applies on its own at checkout, without the customer typing anything. That one’s for the person who arrives from your promo page and never saw a code at all — which is almost everyone.

How do you make a promo that ends by quantity instead of by date?

With Maximum uses. “The first 50” is a promo with an ending just like “until Sunday” — except here the ending is set by people, not the calendar. Once it hits 50 uses, the coupon stops applying on its own.

It’s useful when what’s tight isn’t the date but the inventory. If you have 30 units of the toy on sale, set 30 uses and you won’t sell unit number 31 at the promo price. And if you set Maximum uses per customer to 1, you stop one person from cleaning out the whole offer.

How do you get your promo page ready for Buen Fin?

You describe it, dates included. Something as specific as: “a page for my toy store’s Buen Fin, with these ten toys on sale, a code BUENFIN20 from November 14th to 17th with a maximum of 50 uses, and have the page take itself down on Monday the 18th.” It comes out published, with its own link, and the offer is already born with both its dates.

That link is the one you send over WhatsApp and pin to your profile. It isn’t your regular page with a banner slapped on top — it’s a separate page, with exactly one job, that exists for as long as the promo lasts.

What won’t the page do for you?

There’s no button that says “promo.” Here, a promo is two things with dates attached — a sale price and, if you want one, a code — and in the console they live as Price lists and Coupons. Knowing that saves you from hunting for something that doesn’t exist.

What turns itself off is whatever has a date on it: the entry, the price, the code. The text you wrote does not. If your page’s headline says “20% off this weekend,” that headline stays right there until you change it. That’s exactly why it pays to make the promo its own page with its own end date, instead of a line pasted over your regular cover.

And nobody’s going to remind you. No email arrives saying “your promo ends tomorrow” or “it just ended” — none needed, because the work already happened on its own. Deciding to extend it is still up to you, and that’s the one thing you do have to write down.

Read it like you just showed up today

Open your Instagram or Facebook and scroll down to the last promo you posted. Now read it like someone arriving today who knows nothing about your business: can you tell, from what’s actually written there, whether it’s still live? If you can’t, neither can your customer — and the one who shows up asking for it will be right to.

For the next one, flip the order: write down the day it ends before you write how big the discount is. If you don’t know what day it ends, you don’t have a promo yet — you have a new price.

Describe it with both dates in Proyecta and publish it at proyecta.dev.