the short answer yes...however, most cruise lines run specials when the ship is in port or towards the latter part of the cruise if the more expensive treatments are not selling well
If you are going to a port that you have been before or maybe you are just planning either a morning or afternoon excursion, you might save a couple of bucks by booking your spa treatment that day while you are "killing time" and still get the discount
The crowds are huge the first couple of hours you are on the ship..you might try to obtain a copy of the treatments before hand, know what you want, find out the spa number before you board and call from the ship's "house" phone by the purser's desk just as you board..also if you board early, they look for "spa models"
Sea days might have something going on while you are at the spa..
This week I noticed that our final day "at sea" there were "freebies" and specials not offered the rest of the week... (i.e. $1.00 a minute massages) We actually got a free 3-5 minutes hot stone massage after lunch on boarding day!