A bath bomb is a reaction waiting for water, so humidity is its shelf life: moisture from the air starts the fizz early, the surface grows bumps and cracks, and by the time it reaches a bath it barely fizzes. Fragrance fades too. Shrink wrap or a sealed bag keeps the air out; an open basket in a humid bathroom shop doesn't. In the example below, an Austin bath bomb maker's shrink-wrapped bombs passed every test through day 120, and they're dated 90 days from the batch, a 25% margin. Below is what ends a bath bomb's shelf life, how storage changes it, the study, the date on the label, and a free template.
The short version
- Humidity ends a bath bomb: it fizzes early and cracks.
- Fragrance fades over months.
- Shrink-wrap or seal each bomb.
- Store them dry, away from bathrooms and windows.
- Run a real-time stability study and leave a margin.
- Print a batch code and a best-by date.
- TaroStack gives every batch its date from the shelf life you set. More below.
What ends its shelf life
| What ends it | What happens | What slows it |
|---|---|---|
| Early reaction | Moisture starts the fizz; less is left for the bath | Shrink wrap; dry storage; dry the bombs fully before wrapping |
| Cracks and warts | Bumps and cracks as it reacts with air | Shrink wrap; the right binder and dry time |
| Fragrance fade | Scent weakens over months | Shrink wrap; cool storage |
| Color bleed | Colors spot or run in damp air | Dry storage; skin-safe colorants at the right amount |
Pricing is in how to price bath bombs, and the wrapping in how to package bath bombs for sale.
How it's stored
| Stored | In the example's tests | On the label |
|---|---|---|
| Shrink-wrapped, dry room | Passed every test through day 120 | Best by 3 months |
| Unwrapped basket in a boutique | Warts and weak fizz by week 2 in a side study | Wrapped before they go to the boutique |
| Sealed bag with a desiccant | Not part of the study | Used for online orders in summer |
The fizz test is simple: one bomb in a sink of warm water, timed until the fizzing stops.
An example: a shelf life study
Bluebonnet Bath Co., the made-up bath bomb maker in Austin, Texas, I use in these examples, shrink-wrapped bombs from one batch, kept them on a shelf in a dry room, and tested two at each pull:
| Test | Pass if | Day 0 | Day 30 | Day 60 | Day 90 | Day 120 | Day 180 |
|---|---|---|---|---|---|---|---|
| Fizz time, seconds | at least 120 | 180 | 175 | 165 | 150 | 130 | 90 |
| Fragrance score, 1 to 9 | at least 6 | 9 | 9 | 8 | 7 | 6 | 5 |
| Cracks and warts, 1 to 5 | at most 2 | 1 | 1 | 1 | 1 | 2 | 3 |
| All pass? | Pass | Pass | Pass | Pass | Pass | Fail |
Everything passed through day 120; at day 180 the fizz lasted 90 seconds, the fragrance had faded and cracks showed. Taking a 25% margin off day 120 gives 90 days, three months. How the pulls and margin are planned is in shelf life testing.
The date on the label
No federal rule requires an expiration date on a cosmetic; the maker is responsible for the product staying safe for as long as it's sold and used, and a stability study is how a small maker knows. Many print a batch code, an expiration or best-by date, and the open-jar symbol with a number of months, the period after opening. The business around the bombs is in bath bomb business plan.
Get the template
Download the bath bomb shelf life study template. One sheet: the product, the lot tested, the day it was made, how it's stored and the margin to leave; then each test with its limit and the result at each pull. It marks each pull pass or fail, finds the last day everything passed, takes the margin off, and gives the shelf life for the label and the date for a batch made today. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
The study gives one date for one bomb. Twelve scents, batches every week before the holidays, a boutique and three markets: someone has to date each batch and send the oldest bombs first, before they lose their fizz.
How TaroStack does it
TaroStack gives every batch its date from the shelf life you set, and sends the oldest out first.
Dates from the shelf life. Each bath bomb carries its shelf life in days, and each batch's lot gets its production date and the date that follows from it.
First-expired-first-out. Orders take the oldest lots first by default, and a boutique can be set to take only stock with enough days left.
What's coming up. A forecast shows what will expire unsold and what it costs, and anything thrown out is recorded with its reason, expired or spoiled, so waste shows by item.
| The job | Spreadsheet | In TaroStack |
|---|---|---|
| The date on a batch | Worked out by hand | From the shelf life, on the lot |
| Which batch goes out first | Dates on tape | First-expired-first-out |
| Stock with enough days for a boutique | Checked by hand | The customer's shelf-life rule |
| What expired last month | Not counted | Waste by reason |
Lots, dates, first-expired-first-out and the expiry forecast are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
