Skip to content

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/mms2026 comp booking modal. Offer code MMS_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. When showFreePracticeMention=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_CODES keys; 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.tsx template 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.
  • [[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 context
  • apps/api/src/app/api/leads/green-room-registration/route.ts
  • apps/api/src/app/api/leads/giveaway-entry/route.ts
  • apps/api/src/templates/emails/GreenRoomConfirmationEmail.tsx
  • apps/api/src/templates/emails/GreenRoomNurtureEmail.tsx
  • packages/shared-schemas/src/api/mms.ts