MMS 2026 Foundation — Artist HQ LP + Green Room + Giveaway
Restructures the MMS 2026 landing page around the "Artist HQ" brand, ships the Green Room registration and Vedder giveaway endpoints, adds a sourceCode attribution dimension, and delivers the immediate-send email chain for Green Room registrants. The comp-reservations primitive (Free Practice Week booking) was already live; this work adds the day-of hospitality layer on top.
Why
The initial MMS LP (/lp/mms2026 after #710) presented four activations (Free Practice Week, Green Room, Vedder giveaway, live performances) as peers. The revised mental model: Artist HQ is the umbrella. Free Practice Week and Green Room are the two pillars. Vedder giveaway is secondary (day-of, tent only). Live performances are a Green Room amenity, not a stage. The reframe sharpens each funnel so performing bands (Green Room reg) and public/civilians (Vedder tent) get distinct conversion paths.
Two conversion funnels
Artist funnel (performing bands): paid ad + MMS email → Artist HQ LP → Green Room registration → nurture email → day-of Green Room → post-event free credit offer.
Public funnel (civilians): What's Happening Salem + MMS social + walk-up → amphitheater tent → Vedder iPad kiosk → giveaway entry → immediate thank-you → consolation/winner email → free credit offer.
Both funnels terminate at MG10 Cherry City (the physical Green Room venue).
Key definitions
- Free Practice Week = free hourly rehearsal comp at MG10, June 15–21. Bookable via
/lp/mms2026comp booking modal. Offer codeMMS_SALEM_2026. Eligible: performing bands (honor system). - Green Room = day-of (June 21) hospitality at MG10: free sticks, photos, guitar tech, drum tech, free practice, live performances from Metrognome artists. Not a stage — amenities. Registration is pre-event via the landing page.
- Free Credit Promo = existing
/promo/free-credits(50 credits). Post-event CTA only; never promoted pre-event or day-of to performing bands. Always the conversion CTA for the public/Vedder track. - MMS-TENT-2026 = source code for Vedder kiosk entries. Hardcoded on the giveaway endpoint (client cannot override).
Endpoints shipped
POST /api/leads/green-room-registration
Artist HQ LP form target. Creates an Inquiry of type=GREEN_ROOM_REGISTRATION + ConversionAttribution + consent + Meta CAPI Lead event + PostHog event. Fields: email, firstName, lastName, phone (optional), bandName (optional, stored in inquiry.metadata), locationId (optional), smsMarketingConsent (optional), attribution (includes sourceCode).
sourceCode is threaded through AttributionService and stored on ConversionAttribution.sourceCode (indexed). The UTM source on inbound traffic maps to MMS_SOURCE_CODES:
| UTM source | Source code |
|---|---|
paid / Meta ad |
MMS-ARTISTHQ-LP-PAID |
mms / MMS email |
MMS-ARTISTHQ-LP-MMS |
whs / What's Happening Salem |
MMS-ARTISTHQ-LP-WHS |
metrognome / MG social |
MMS-ARTISTHQ-LP-METROGNOME |
| Vedder kiosk (always) | MMS-TENT-2026 |
After commit, fires sendGreenRoomConfirmation({ userEmail, userName, bandName, showFreePracticeMention }). The showFreePracticeMention flag is true when inquiry.createdAt < 2026-06-13T00:00:00Z — FPW booking link appears as a bottom-of-email forward-to-bandmates CTA only when FPW is still actionable.
POST /api/leads/giveaway-entry
Vedder iPad kiosk target. Creates a GIVEAWAY_ENTRY inquiry. Always tags sourceCode=MMS-TENT-2026 (immutable — client payload cannot override). Gated by MMS_VEDDER_LIVE env flag (default false; returns 503 when false). When false the GET acts as a kiosk-side health probe without revealing any live state. The live flag is the R-02 compliance gate — the endpoint must not go live until sweepstakes official rules are lawyer-reviewed and finalized.
Schema changes
InquiryType: + GREEN_ROOM_REGISTRATION, GIVEAWAY_ENTRY
ConversionAttribution: + sourceCode String? @map("source_code") @index
Migration: 20260526115719_mms_inquiry_types_and_attribution_source_code.
attributionSchema in @mg/shared-schemas gains sourceCode?: string (max 80 chars). AttributionService threads sourceCode through hasAttributionData, hasPersistableAttribution, buildConversionAttributionData, extractAttributionFromStripeMetadata, buildStripeAttributionMetadata, and the carryForwardAttribution inquiry-rehydration block.
Email chain (shipped #731)
Two templates in apps/api/src/templates/emails/:
GreenRoomConfirmationEmail.tsx— immediate-send on registration. Covers Green Room logistics (sticks, photos, guitar tech, drum tech, free practice, live performances, hours, MG10 address). Bottom CTA: forward to bandmates. WhenshowFreePracticeMention=true: adds a soft FPW booking link. No Free Credit Promo in this email.GreenRoomNurtureEmail.tsx— reminder + last call. Fires reg+7d OR T-3 (June 18), whichever comes first, and only if registrant hasn't taken further action. Forward-to-bandmates CTA links to FPW booking. No Free Credit Promo.
EmailService.sendGreenRoomConfirmation() is called from the Green Room registration endpoint's after() block. Nurture scheduling is separate (not yet wired to a cron trigger as of the current build — see open items).
LP restructure
/lp/mms2026 (apps/web/src/app/(landing)/lp/mms2026/) was rebuilt around Artist HQ framing (#728):
- Primary CTA: Green Room registration form (inline, above the fold on the artist track).
- Secondary CTA: Free Practice Week booking modal (same comp-reservations surface as before).
- Vedder section: present as day-of discovery, no entry form on this page (R-02 gate). Copy does not mention "stage" — always Green Room amenity framing.
- Source code: inbound UTM source maps to
MMS_SOURCE_CODESkeys; Green Room form attaches the matching code on submit. - OG/SEO (#729): dynamic OG image (1200x630) at
/lp/mms2026/opengraph-image.tsx— branded magenta radial glow with MMS festival logo, "Artist HQ." headline.robots: { index: true, follow: true }(indexable for "make music salem" / "metrognome" queries).
ForkCard molecule extracted from MarketLandingContent into apps/web/src/components/molecules/marketing/ForkCard.tsx (shared by the market LP and MMS2026 LP).
Source code taxonomy
10 codes defined in @mg/shared-schemas/src/api/mms.ts as MMS_SOURCE_CODES:
MMS-REHEARSAL-2026 Free Practice Week booking source
MMS-TENT-2026 Vedder giveaway entry (kiosk)
MMS-GREENROOM-2026 Green Room registration (LP)
MMS-STAGE-2026 MG member performer (internal only)
MMS-ARTISTHQ-LP-PAID Paid-ad-sourced LP → Green Room reg
MMS-ARTISTHQ-LP-MMS MMS-email-sourced LP → Green Room reg
MMS-ARTISTHQ-LP-WHS What's Happening Salem newsletter LP
MMS-ARTISTHQ-LP-METROGNOME MG social-sourced LP
MMS-FREECREDIT-KIOSK Free Credit Promo from Vedder kiosk email (6/21)
MMS-FREECREDIT-POSTEVENT Free Credit Promo from post-event emails (6/23–6/24)
Per-surface offer CTA table
| Surface | Audience | When fires | Main message | Bottom offer CTA |
|---|---|---|---|---|
| Artist HQ LP (pre-event) | Performing bands | 5/29 → 6/21 | Green Room reg + FPW booking | — |
| Green Room confirmation email | Performing bands | on reg (5/29 → 6/21) | Green Room logistics | Forward to bandmates (+ soft FPW link if reg < 6/13) |
| Green Room nurture email | Performing bands | reg+7d OR T-3 (6/18) | Reminder + last call | Forward to bandmates → FPW |
| Vedder kiosk thank-you email | Public | 6/21 day-of | Entry confirmed | Free Credits (share or redeem) |
| Green Room post-event thank-you | Performing bands | 6/23 | Thank you + recap | Free Credits |
| Vedder consolation email | Public | 6/24 | Winner announced | Free Credits |
Risk register
R-02 (sweepstakes legal): The Vedder giveaway endpoint (/api/leads/giveaway-entry) and all Vedder-specific copy are gated behind MMS_VEDDER_LIVE=false by default. Do not flip this flag or publish Vedder-specific copy until Paul confirms lawyer-reviewed sweepstakes rules are finalized.
Open items
- Nurture email trigger:
GreenRoomNurtureEmail.tsxtemplate exists; the cron/scheduled-send trigger (reg+7d or T-3, whichever first) is not yet wired. Needs a scheduled job or a post-event batch script. - Post-event emails: Green Room thank-you (6/23) and Vedder consolation (6/24) email drafts needed before event day. Templates not yet created.
- Vedder R-02 clearance: confirm with Paul before flipping
MMS_VEDDER_LIVE.
Related
- [[comp-reservations]] — Free Practice Week booking primitive
- [[make-music-salem-comp]] — original one-off MMS comp design
docs/marketing/paid-meta.md— Phase-1 funnel rebuild contextapps/api/src/app/api/leads/green-room-registration/route.tsapps/api/src/app/api/leads/giveaway-entry/route.tsapps/api/src/templates/emails/GreenRoomConfirmationEmail.tsxapps/api/src/templates/emails/GreenRoomNurtureEmail.tsxpackages/shared-schemas/src/api/mms.ts