Toolkit Calculator
Craft Maker's Toolkit
Enter your unlock code
This was included in your order confirmation email. Paste it below to unlock the calculator.
Can't find your code? Check your order confirmation email, or reach out and we'll resend it.
Craft Batch & Pricing Calculator
Know your numbers before you sell.
Fill in one batch, get an honest per-unit cost and a suggested price that actually covers your time.
Batch Recipe
candle batchWax, wick, fragrance oil, dye
Wax & Fragrance Formulation
Fragrance load is the % of your total pour weight that's fragrance oil — the rest is wax. Check your wax supplier's max tested fragrance load before going above it; most soy blends test safe up to 10–12%.
Wax & Fragrance Formulation
Same math as candles, scoped to a clamshell. Melts typically run a hotter fragrance load than candles — often 8–12%. Still check your wax supplier's max tested load; too hot a load causes sweating/seepage even without a flame involved.
Fragrance / Base Split
No wax here — a car diffuser is fragrance oil diluted in a carrier base (commonly DPG). Switch units any time; numbers convert automatically.
Lye & Superfat Calculator
Enter oils for the whole batch (not per bar). ⚠ Lye (NaOH) is caustic: always add lye to water, never water to lye, and wear gloves and eye protection. Double-check totals against a second calculator before your first pour of any new recipe.
38% of oil weight
Dry Mix & Fizz Ratio
Set dry ingredients as parts (classic start: 2 parts baking soda to 1 part citric acid), plus oil and fragrance as % of total mold weight. Bath bomb fragrance load is typically lower than candles/soap since it touches skin — 2–3% is a common start.
Dry mix ratio (parts)
Batch Ticket
Untitled Candle
Yield: 12 candles
Cost per candle
$0.00
Suggested Price
$0.00
at a 50% margin
Wholesale: $0.00
Profit / candle
$0.00
Profit / batch
$0.00
· · · tear here · · ·
Bonus · Included With Your Purchase
Craft Maker's Toolkit
Lifecycle Email Template Pack
12 proven emails, genericized from a real, working e-commerce brand — plus the exact timing logic for when to send each one. Swap every [BRACKETED] field for your own; keep the structure and sequencing intact.
Welcome 1: "Welcome, [First Name]"
Subject line: "Welcome, [First Name]"
- Eyebrow: "You're officially part of the family"
- Our Story section — 2 short paragraphs on who you are and why the brand exists
- 3-column collection/category preview with "Shop Now" links
- Big discount block: code, %, no expiration, CTA button
Why it works: Leads with story, not sales. By the time the discount appears, the reader already has an emotional reason to care.
Welcome 2: "Find Your [Category]"
Subject line: "Find Your [Category]" (e.g. "Find Your Scent")
- Eyebrow: "[Number] collections. One for every need."
- 3-way visual split across your core collections, each with a one-line vibe descriptor
- Close with a reminder of the still-active welcome code
Why it works: Removes "too many choices" friction by segmenting your catalog into clear buckets.
Welcome 3: "What Everyone's [Verb]ing Right Now"
Subject line: "What everyone's [burning/wearing/using] right now"
- Featured bestseller (large) + 2 smaller bestsellers side by side
- One pulled customer quote styled as a pull-quote
- Trust line referencing total review count
Why it works: No discount pressure — by email 3 the reader has seen the discount twice; this email's job is trust.
Welcome 4: "Still Thinking It Over?"
Subject line: "Still thinking it over?"
- Empathy line: "We get it — sometimes it takes a minute."
- Restated offer block: discount %, code, no expiration
- 3-product inspiration row to remove the "what do I buy" barrier
Why it works: Pairs permission ("no rush") with removing the last real barrier: what to buy.
Cart Abandonment 1: "You Left Something Behind"
Subject line: "You left something behind…"
- Dynamic cart contents block (item, qty, price)
- One short brand-story paragraph for warmth
- CTA: "Complete My Order" linking to saved checkout
Why it works: No discount yet — removes friction and adds warmth while intent is still fresh.
Cart Abandonment 2: "Still Thinking It Over?"
Subject line: "Still thinking it over?"
- Dynamic cart contents block, labeled "Reserved for You"
- Scarcity banner: small batch / limited availability
- One customer testimonial with star rating
Why it works: Shifts tactics from goodwill to gentle urgency.
Cart Abandonment 3: "Last Chance + [X]% Off"
Subject line: "Last chance — [X]% off your cart"
- Discount banner at the very top, before anything else
- Coupon box: code, dashed border, "expires in 48 hours"
- Personal sign-off from the founder(s) by name
Why it works: Warmth → scarcity → discount, in that order. Leading with the discount trains customers to always wait for one.
Browse Abandonment 1: "Still Thinking About It?"
Subject line: "Still thinking about it?"
- Dynamic product card (image, name, price) from the browse event
- One brand-story paragraph
- CTA: "View This [Product]" — no discount
Why it works: Removes friction and adds brand warmth while intent is fresh, without overselling.
Browse Abandonment 2: "Others Are Loving It"
Subject line: "Others are loving it."
- Same dynamic product card
- 3 short review cards: star rating, quote, first name + "Verified Buyer"
- Soft scarcity line
Why a separate flow from cart abandonment: sending the same urgency to low-intent browsers wastes your best offer on people who need it least.
Post-Purchase 1: "Your Order Is Confirmed"
Subject line: "Your order is confirmed!"
- Order summary block: order #, date, total, ship-to city/state
- "A Note From Us" — 2 short paragraphs of brand gratitude, styled as a distinct section
- 4–5 care-tip bullets specific to your product
- Social tag prompt
Why it works: This is the highest-open-rate email in your program. Use it for genuine connection, not a pitch.
Post-Purchase 2: "How's Your [Product]?"
Subject line: "How's your [product]?"
- Warm, low-pressure subhead + reflective opener
- Support line: "If anything wasn't quite right, just reply."
- Reorder section with usage-lifespan framing (or a review-ask block instead)
Why it works: Support-first framing before any ask. The review variant can do double duty if you don't have a standalone review flow.
Review Thank-You + Incentive
Subject line: "A little thank-you"
- Genuine appreciation line — why reviews matter to a small business
- Discount code box: code, % off, "your next order"
- Footer catch-net line for anyone who got the email without reviewing yet
Why it works: Framed as gratitude, not a transaction — the discount reads as a thank-you, not a bribe.
Global rule: cap one flow email per day. If a subscriber qualifies for two flows the same day, cap sends per day at 1 (Klaviyo: Smart Sending). Priority when there's a conflict: Cart Abandonment > Browse Abandonment > Post-Purchase > Welcome. Recovering a sale in progress always wins.
| Send | Skip condition | |
|---|---|---|
| Welcome 1 | Immediately | — |
| Welcome 2 | +2 days | Already placed an order |
| Welcome 3 | +2 days (day 4) | Already placed an order |
| Welcome 4 | +2 days (day 6) | Already placed an order |
Exit the whole flow on "Placed Order."
| Send | Skip condition | |
|---|---|---|
| Cart 1 | 1 hr after cart action | Order placed |
| Cart 2 | +23 hrs (24 hrs total) | Order placed |
| Cart 3 | +48 hrs (72 hrs total) | Order placed |
Only recovery flow that carries a discount — hold it for email 3.
| Send | Skip condition | |
|---|---|---|
| Browse 1 | 1 hr after view | Added to cart OR ordered |
| Browse 2 | +23 hrs (24 hrs total) | Added to cart OR ordered |
Exits into Cart Abandonment if they add to cart later.
| Send | Skip condition | |
|---|---|---|
| Post-Purchase 1 | Immediately | — |
| Post-Purchase 2 | +14 days | — |
- Option A (with a review-platform integration): send immediately after the "Review Submitted" event.
- Option B (no integration): trigger off "Placed Order," delayed 21–30 days, using the review-ask version of Post-Purchase 2 instead of a separate flow.
Day 0 — Signs up → Welcome 1 sends immediately
Day 0 — Views a product → Browse Abandonment 1hr timer starts
Day 0 — Adds to cart → graduates to Cart Abandonment, Browse flow exits
Day 1 — Still no order → Cart Abandonment 2 sends (24hr)
Day 2 — Cart Abandonment 3 sends (72hr, with discount)
Day 3 — Places order → exits Welcome + Cart flows, enters Post-Purchase
Day 17 — Post-Purchase 2 sends → check-in + review ask