Promo Codes
Promo codes snapshot (manual). Stripe is the source of truth โ verify before sending to customers.
Last updated: Jun 5, 2026
About the 267 active codes
Stripe holds 267 active promotion codes across 9 coupons. Of these, ~83 are intentional and documented on this page (the 70-property Partnership Launch wave under coupon W8K6JWCH, plus founder/general codes). The remaining ~184 are property-specific codes from a January 2026 bulk-generation batch (coupons q1PtDFSK / 50OFF3 with 94 codes and TAKE50 with 91 codes) that were never distributed. They share the same property-naming scheme as the March Partnership Launch (e.g. THEBISBY3/THEBISBY6, PORTSIDE3/PORTSIDE6) but use different discounts ($50 ร 3mo, TAKE50 family). All 184 are kept active per founder discretion — if a customer somehow discovers and uses one, the discount is accepted as a valid signup.
Total lifetime redemptions: 32 (includes 23 historical SETUPFREE uses). Stripe is the source of truth; verify before sending any code to a customer.
Deactivated Jun 4, 2026: the two legacy 100%-off setup-fee codes (SETUPFREE, WAIVEDSETUP) were disabled in Stripe so they can no longer be redeemed at checkout (reversible; redemption history retained). A separate FAMILY coupon (100% off, forever) remains in place but has no promotion code, so it is not redeemable at checkout โ manual/dashboard application only.
Revenue Tiers (6-Month)
Quick reference for revenue impact by discount level:
| 6-Mo Revenue | Discount Type | Example Codes |
|---|---|---|
| $1,794 | Full price (no promo) | โ |
| $1,744 | One-time $50 off | SAVE50 |
| $1,644 | $50/mo ร 3 months | 50OFF3, ZB50, MB50, BUNNYHIVE |
| $1,569 | $75/mo ร 3 months | BUNNYHIVEVIP |
| $1,494 | Multiple paths | 100OFF3, 150OFF2, TAKE50, ZACHVIP, MARYVIP |
| $1,396 | $100/mo × 4 months (partnership) | 70 property codes (HAUS25, BEACON, etc.) |
Setup Fee Codes โ Legacy / Do Not Use
Legacy Codes
Setup fee has been eliminated. Do not issue setup-fee promo codes going forward. These codes were deactivated in Stripe on Jun 4, 2026 and can no longer be redeemed at checkout (deactivation is reversible; redemption history is retained).
Usage counts may be stale; check Stripe for current redemption totals.
| Code | Discount | Duration | 6-Mo Rev | 12-Mo Rev | Notes |
|---|---|---|---|---|---|
SETUPFREE |
100% off | Once | $1,794 | $3,588 | Deactivated Jun 4, 2026; 23 historical uses (setup fee no longer exists) |
WAIVEDSETUP |
100% off | Once | $1,794 | $3,588 | Deactivated Jun 4, 2026; 0 uses |
Monthly Discount Codes โ General
Usage counts may be stale; check Stripe for current redemption totals.
| Code | Discount | Duration | 6-Mo Rev | 12-Mo Rev | Notes |
|---|---|---|---|---|---|
SAVE50 |
$50 off | 1 month | $1,744 | $3,538 | One-time discount; 3 uses |
50OFF3 |
$50/mo | 3 months | $1,644 | $3,438 | General use |
100OFF3 |
$100/mo | 3 months | $1,494 | $3,288 | General use |
150OFF2 |
$150/mo | 2 months | $1,494 | $3,288 | Aggressive hook |
TAKE50 |
$50/mo | 6 months | $1,494 | $3,288 | General use |
50OFF6 |
$50/mo | 6 months | $1,494 | $3,288 | Alias for TAKE50 |
Mommies50 |
$50/mo | 12 months | $1,494 | $2,988 | Hoboken Mommies; 6 uses |
MOMMIES-50 |
$50/mo | 12 months | $1,494 | $2,988 | Alias for Mommies50 |
Partner / Referral Codes
| Code | Discount | Duration | 6-Mo Rev | 12-Mo Rev | Notes |
|---|---|---|---|---|---|
BUNNYHIVE |
$50/mo | 3 months | $1,644 | $3,438 | BunnyHive partnership |
BUNNYHIVEVIP |
$75/mo | 3 months | $1,569 | $3,363 | BunnyHive VIP |
THEJORDAN |
$50/mo | 6 months | $1,494 | $3,288 | Jordan referral |
Partnership Property Codes (70 Properties)
Promo Landing Page Codes
These 70 codes are tied to property-specific promo landing pages at mystoragevalet.com/promo/{slug}. Each code is a Stripe promotion code on coupon W8K6JWCH (“Partnership Launch — $100 Off × 4 Months”). See Partnerships > Promo Landing Pages for the outreach strategy.
| Slug | Property Name | Promo Code |
|---|---|---|
jefferson1000 | 1000 Jefferson | JEFFERSON1000 |
seventy7 | 7 Seventy House | SEVENTY7 |
provost10 | 10 Provost | PROVOST10 |
cmpndcottage | 26 Cottage | CMPNDCOTTAGE |
fiftyseven11 | 57 Eleven | FIFTYSEVEN11 |
newark245 | 245 Newark | NEWARK245 |
riverroad615 | 615 River Road | RIVERROAD615 |
avenue1800 | 1800 Avenue | AVENUE1800 |
harbor1500 | Harbor 1500 | HARBOR1500 |
jefferson1125 | 1125 Jefferson | JEFFERSON1125 |
1404willow | 1404 Willow | 1404WILLOW |
1417adams | 1417 Adams | 1417ADAMS |
alexander | The Alexander | ALEXANDER |
artisan | Artisan Series | ARTISAN |
avalon | Avalon Cove | AVALON |
beacon | The Beacon | BEACON |
bela | BELA and The Bedford | BELA |
bexley | The Bexley | BEXLEY |
blvd | The BLVD Collection | BLVD |
capstone | The Capstone | CAPSTONE |
castiron | Cast Iron Lofts | CASTIRON |
cmpnd | CMPND | CMPND |
courtyard | Courtyard at Jefferson | COURTYARD |
declan | The Declan | DECLAN |
devan | The Devan | DEVAN |
duchess | Duchess Apartments | DUCHESS |
dvora109 | DVORA 109 Columbus | DVORA109 |
dvora | Hamilton House | DVORA |
edgelofts | Edge Lofts | EDGELOFTS |
elementflats | Element Flats | ELEMENTFLATS |
embankment | Embankment House | EMBANKMENT |
estuary | Estuary Apartments | ESTUARY |
gallery | Gallery Lofts | GALLERY |
grandview | Grandview I | GRANDVIEW |
greyson | The Greyson | GREYSON |
hamiltoncove | Hamilton Cove | HAMILTONCOVE |
harlow | The Harlow | HARLOW |
haus25 | Haus25 | HAUS25 |
hobokenconnect | Charlie at Hoboken Connect | HOBOKENCONNECT |
hobokenpoint | Hoboken Point | HOBOKENPOINT |
infinity | Infinity Edgewater | INFINITY |
ironstate | Ironstate Development | IRONSTATE |
jsquared | Journal Squared | JSQUARED |
juliana | Juliana Apartments | JULIANA |
jordan | The Jordan | JORDAN |
leleo | Le Leo | LELEO |
libertyharbor | Liberty Harbor | LIBERTYHARBOR |
libertytowers | Liberty Towers | LIBERTYTOWERS |
lincolnharbor | Lincoln Harbor | LINCOLNHARBOR |
marinerslanding | Mariners Landing | MARINERSLANDING |
modera | Modera Lofts | MODERA |
moorings | Moorings | MOORINGS |
morgan | The Morgan at Provost Square | MORGAN |
observerpark | Observer Park | OBSERVERPARK |
onenj | The One NJ | ONENJ |
overlook | Overlook Flats | OVERLOOK |
parkgarden | Park + Garden | PARKGARDEN |
riello | Riello Edgewater | RIELLO |
riverhouse11 | RiverHouse 11 | RIVERHOUSE11 |
riverhouse9 | RiverHouse 9 | RIVERHOUSE9 |
rivertrace | RiverTrace | RIVERTRACE |
rivet | Rivet | RIVET |
sable | Sable | SABLE |
soholofts | Soho Lofts | SOHOLOFTS |
solo | Solo | SOLO |
swiftco | Swift & Co | SWIFTCO |
thejames | The James | THEJAMES |
urby | Hoboken Urby | URBY |
vermella | Vermella | VERMELLA |
vine | VINE Apartments | VINE |
All codes: $100/mo off × 4 months (repeating). Stripe coupon W8K6JWCH. 6-month revenue: $1,396. 12-month revenue: $3,188.
Slug rules: Lowercase, no spaces, no hyphens, no special characters. Must be unique across all entries.
Demo page: mystoragevalet.com/promo/sample exists as a demo-only preview for partnership outreach. SAMPLE appears in the website’s PROPERTIES object but is not a real Stripe promotion code — the code block is hidden and the CTA routes to the partnerships contact form. See Partnerships > Sample Demo Page.
Partner Marketing Assets (Print Collateral)
Where the print assets live
Print-ready resident promo assets (postcard + flyer, each in a print-shop and a home-print PDF) are published to Google Drive → “My Drive / Storage Valet — Partner Marketing Assets” — one folder per property, plus _INDEX.csv and _README.txt. Google Drive is the cross-tool access layer: Claude, ChatGPT, Gemini, and humans all reach Drive; none can read iCloud.
Each property folder holds 4 PDFs on the v6 “Operation Midnight Teal” brand, each carrying a scannable QR to that property’s /promo/{slug} page: Postcard and Flyer, each in a print-shop version (bleed + crop marks) and a home-print version.
Engine (stays in iCloud): ~/Documents/storagevalet/Marketing/Collateral/promo-cards-v6/
- Generate:
./make-property-assets.sh <slug> <CODE> "<Name>"→ 4 PDFs inoutput/<slug>/ - Publish to Drive (human-friendly names + rebuild
_INDEX.csv):./publish-to-drive.sh(all properties inpartners.txt) or./publish-to-drive.sh <slug> "<Name>"(single)
⚠ The Google Drive desktop app must be running for published files to upload to the cloud (open -a "Google Drive") — it does not auto-launch. If newly published assets aren’t appearing online, check that first.
Press-grade print files (press-ready.sh)
The two print-shop PDFs are automatically normalized into true press-ready files by press-ready.sh (Ghostscript), which runs inside make-property-assets.sh right after render. It tags every page with a proper TrimBox + BleedBox (so a professional RIP knows the exact cut line), embeds all fonts, sets /prepress quality, and applies no image downsampling. Ghostscript is in the shared Brewfile; if it is missing the script prints a notice and leaves the PDFs un-normalized.
Print color — Tagged RGB (PDF/X‑4 style) by default, CMYK on demand
Decision (Jun 5, 2026): print files stay in brand-accurate RGB by default. The print shop’s color-managed press handles the conversion, which keeps the Electric Teal #00D4AA vivid — forcing CMYK up front dulls it. For an offset shop that requires CMYK, regenerate with ./press-ready.sh <in.pdf> <out.pdf> <card|flyer> --cmyk (Ghostscript’s generic CMYK; a real SWOP profile can be dropped in for a production run).
Page geometry (0.125 in / 9 pt bleed): postcard page 450×306 pt (6.25×4.25 in) → TrimBox [9 9 441 297]; flyer page 630×810 pt (8.75×11.25 in) → TrimBox [9 9 621 801]; BleedBox is the full page in both. Standalone use: ./press-ready.sh <in.pdf> <out.pdf> <card|flyer> [--cmyk].
Live as of Jun 4, 2026 — 7 partner properties: Willow Bridge — The Jordan, Mariners Landing, Artisan Series, 1125 Jefferson; Advance Realty — The Harlow, The Bexley, Edge Lofts. Pre-construction 1404 Willow and 1417 Adams are intentionally excluded until they open. Codes/pages source of truth: the property-code table above + sv-website/promo/index.html + Stripe coupon W8K6JWCH.
Runbook โ Create a Promo Set for a Property (any offer)
The canonical, AI-executable playbook for standing up everything a property needs: a working promo code, a live trackable page, and print-ready cards — for whatever offer is being tested. It is deliberately instruction-driven, not hard-automated: a Claude Code session runs it from the inputs you give, so the offer can vary per experiment without changing any tooling.
Mental model
- Coupon = the offer. The discount itself (amount, duration) lives on a Stripe coupon. One coupon per distinct offer.
- Promotion code = the property’s door into an offer’s coupon. One per property (e.g.
JORDAN). 71 doors can point at the same offer, or different test offers. - Promo page (
/promo/{slug}) = the trackable landing page the QR points to. - Assets = the postcard + flyer carrying that QR.
What you provide
- Property name + slug (lowercase, no spaces or hyphens — see slug rules in Technology).
- The offer being run — e.g. “$100/mo off × 4 months” (the standard intro), “$75/mo × 6”, “first month free”, “20% off × 6”.
- Optional: an experiment label if you’re A/B-testing offers across properties.
Steps (a Claude Code session runs these)
- Pick or create the offer’s coupon. If it’s the standard intro ($100/mo × 4), reuse
W8K6JWCH. For a new offer to test, create the coupon first, with a recognizable name:
(stripe coupons create -d name="$75 off x 6mo" \ -d amount_off=7500 -d currency=usd \ -d duration=repeating -d duration_in_months=6amount_offis in cents; use-d percent_off=Nfor a percentage, or-d duration=oncefor a one-time discount.) - Create the property’s promotion code on that coupon, tagged for cohort analysis:
The metadata is what makes the cohort measurable later. Idempotency check:stripe promotion_codes create -d coupon=<COUPON> -d code=<CODE> \ -d metadata[property_slug]=<slug> -d metadata[property_name]="<Name>" \ -d metadata[offer]="<offer name>" -d metadata[experiment]="<label>"python3 stripe-promo-sync.py(audit) orstripe promotion_codes list -d code=<CODE>confirms it isn’t already there. For the standard offer across many properties at once,stripe-promo-sync.py --createmakes every missing code in one pass. - Switch the promo page on. Add the property to the
PROPERTIESobject insv-website/promo/index.html, commit + push (Vercel auto-deploys in ~60s). This makes/promo/{slug}live — the URL the QR encodes (?src=qr) and where thepromo_page_viewanalytics event fires. Full technical steps + slug rules: Technology → Promo Page Architecture → Adding a New Property (technology.html). - Generate + publish the assets from the iCloud engine:
cd ~/Documents/storagevalet/Marketing/Collateral/promo-cards-v6 python3 sync-properties.py # reconcile from index.html ./make-property-assets.sh <slug> <CODE> "<Name>" # 4 press-ready PDFs ./publish-to-drive.sh <slug> "<Name>" # if a partner we distribute to - Verify end to end.
python3 stripe-promo-sync.pyshows the property OK (active on its coupon);/promo/{slug}returns HTTP 200 and the QR decodes to the right page (both covered bysales-engine-check.sh).
Measuring offers & cohort LTV
Because each offer is its own coupon and every code carries metadata, you can compare offers cleanly with no extra tooling:
- Top of funnel (analytics):
promo_page_view/promo_cta_clickbycode+src→ which properties and offers draw scans and clicks. - Conversion + LTV (Stripe): a redeemed code applies its coupon to the customer’s subscription. Group customers by coupon (the offer) or promotion code (the property) → MRR, months retained, churn, realized revenue = that cohort’s LTV over time.
- On demand: ask a Claude Code session to “pull the cohort / LTV breakdown for offer X” — it queries Stripe subscriptions + invoices alongside GA4. No standing dashboard required. (Customer→code attribution lives in Stripe today; a
promo_codecolumn on the customer record is a planned enhancement.)
The one rule that keeps this measurable
One coupon per distinct offer, and consistent metadata on every code (property + offer name). That discipline is the entire basis for valid offer-vs-offer and cohort-LTV comparisons. Reuse one coupon across different offers, or skip the metadata, and the analysis becomes unreliable.
Engine-local quick version (the “one prompt”): promo-cards-v6/PROPERTY-MARKETING-PROCESS.md. Changing the standard intro offer requires founder sign-off; running a new experimental offer alongside it does not.
Founder Personal Codes โ Zach
| Code | Discount | Duration | 6-Mo Rev | 12-Mo Rev | Notes |
|---|---|---|---|---|---|
ZB50 |
$50/mo | 3 months | $1,644 | $3,438 | Zach personal share |
ZB100 |
$100/mo | 3 months | $1,494 | $3,288 | Zach personal share |
ZB150 |
$150/mo | 2 months | $1,494 | $3,288 | Zach personal share |
ZACHVIP |
$75/mo | 4 months | $1,494 | $3,288 | Zach VIP referral |
Founder Personal Codes โ Mary
| Code | Discount | Duration | 6-Mo Rev | 12-Mo Rev | Notes |
|---|---|---|---|---|---|
MB50 |
$50/mo | 3 months | $1,644 | $3,438 | Mary personal share |
MB100 |
$100/mo | 3 months | $1,494 | $3,288 | Mary personal share |
MB150 |
$150/mo | 2 months | $1,494 | $3,288 | Mary personal share |
MARYVIP |
$75/mo | 4 months | $1,494 | $3,288 | Mary VIP referral |
Redemption Tracking
Coming Soon
Future enhancements will include: redemption counts, conversion rates, revenue attribution by code, and campaign performance metrics.
Planned metrics for each code:
- Total redemptions โ How many times the code has been used
- Active subscribers โ Current customers who used this code
- Churned subscribers โ Former customers who used this code
- Revenue generated โ Total and average revenue per redemption
- Conversion rate โ Checkout starts vs. completions with code
- Campaign attribution โ Which marketing channel drove usage