Skip to main content

Changing voucher validity with a promo code

Give vouchers bought with a promo code their own start date and expiry.

M
Written by Matt Adams-Nel

Give vouchers bought with a promo code their own start date and expiry.

A promo code can now change when a voucher can first be used and how long it stays valid. When a customer applies the code, their voucher takes the validity set on the code instead of the product's own. Customers who don't use the code keep the product's normal validity.

For example, run a 20% off code over Black Friday and Christmas, with vouchers bought using it valid from 2nd January to 31st March. You keep your busiest weeks clear and fill quieter ones in the new year.

Set it up

  1. Select your store (property) in the bottom-left of the admin menu.

  2. Go to Promo codes and open a code, or create a new one.

  3. In the Settings card, tick Override voucher validity (below "Restrict by basket total").

  4. Fill in one or both groups below. Leave a group empty to keep the product's setting.

  5. Click Save changes.

Valid from (when the voucher can first be used), choose one:

  • Days after purchase: for example 7. Enter 0 for straight away.

  • Specific date: the voucher starts at 00:00 on that day.

Valid for (how long it lasts), choose one:

  • Period after purchase / activation: a number of days, weeks, months or years, counted from the day the voucher becomes valid.

  • Until a specific date: the voucher expires at 23:59:59 on that day.

How it works with your product settings

Product setting

With the code applied

Validity (length or fixed expiry)

Replaced by the code's "valid for"

Valid from

Replaced by the code's "valid from"

Grace period

Kept, and counted from the new expiry date

Customer picks a later start date in the basket

The later date is used, and the validity runs from it

The change applies only to vouchers the code covers. Use Restrict by product to limit it to selected vouchers. Events, ticket vouchers and physical products keep their own settings. Editing a code later does not change orders already placed.

What your customers see

In the basket, the promo code card lists the items the code applies to with a line for each change, for example "Valid from 1st December 2026" and "Valid until 31st March 2027". The validity text on the product also updates. If the customer removes the code, everything returns to normal.

Test before sharing the code

  1. Restrict the code to one voucher or a small number of uses so customers cannot use it during testing.

  2. Add the voucher to your basket, apply the code and check the validity lines.

  3. Place a test order and check the voucher's valid from and expiry dates in admin.

  4. Remove the code and check the basket returns to normal.

Ideas to try

  • Redeem in the new year: festive discount code, valid from 2nd January, valid until 31st March.

  • Longer validity as a reward: code valid for 24 months instead of 12.

  • Gift for later: valid from 1st December, valid for 6 months.

  • Fixed campaign end: every voucher from the campaign expires on the same date.

Troubleshooting

The validity lines are not in the basket. Check Override voucher validity is ticked with at least one group filled in and saved, and that the basket contains a voucher the code applies to.

The voucher has the product's dates, not the code's. Check the code was applied to the order, and that the order was placed after you saved the setting.

I entered a date and the number of days disappeared. You can only use one option per group, so switching clears the other.

My store is not in English. The validity lines show in English until they are added to your store translations; dates show in your store's language. Contact us to add translations.

Can I set this through the API? Not currently. Validity overrides can only be set in the admin.

Did this answer your question?