# Marketing funnel

`Drape-Marketing` (www.drape.to) is the top of the funnel for both sides of the
marketplace. It is a static Next.js site with no auth — its whole job is to route
the right visitor to the right next step.

```mermaid
graph TB
    Landing["www.drape.to<br/>landing"]
    Landing -->|shopper| Waitlist["/download<br/>waitlist form"]
    Landing -->|brand| ForBrands["/for-brands"]
    ForBrands --> Apply["brand.drape.to/apply"]
    Referral["/join?ref=CODE"] -->|stores code| Landing
    Share["/product/{id}"] -->|Open in Drape| Deep["drape://product/{id}"]
```

## Shopper path

The landing page tells the three-step story — **SELECT → YOU → DRAPED** — then
drives to the waitlist. Because the consumer app is pre-launch, the final CTA is
gated on a `NEXT_PUBLIC_DOWNLOADS_ENABLED` flag: while it is off, visitors see
"Be first to try Drape" and a waitlist form (`POST /api/marketing/waitlist`); when
it flips on, the same slot shows App Store / Play Store links.

## Brand path

"For Brands" links from the landing page to `/for-brands`, which carries the full
pitch, plan tiers, how-it-works, and FAQ (see [For brands](./for-brands.md)). Its
CTAs deep-link out to `brand.drape.to/apply` for new brands and
`brand.drape.to/login` for returning ones.

## Referral and product-share

- **Referral** — `/join?ref=CODE` reads the code, upper-cases it, and stores it in
  `localStorage` under `drape_referral_code` so it can be attributed at signup.
- **Product share** — `` `/product/{id}` `` is a client-rendered share page that
  fetches `` `GET /api/products/{id}` `` and renders an **Open in Drape** deep link
  (`drape://product/{id}`) plus an app-download CTA.

:::note[Verify the share/referral routes end-to-end]
The `/join` and `` `/product/{id}` `` routes exist and do not 404, but a public
HTML fetch of them returned the generic app shell rather than referral- or
SKU-specific content — they behave as client-side/deep-link routes. Treat
referral attribution and per-product share as **wired but worth verifying live**
rather than confirmed from the marketing HTML alone.
:::

## Funnel state today

The consumer funnel terminates at a **waitlist**, not a download — no App Store,
Play Store, or TestFlight link is public yet. The brand funnel is **live** end to
end: apply → review → approval → onboarding at `brand.drape.to`. In other words,
the brand side of the marketplace is open for business while the shopper side is
still gated. See [Shipping](../shipping/overview.md) for what it takes to open the
consumer side.
