# GHL Product Creation via UI — field-by-field walkthrough

Products/payments endpoints 401 under the V3 agency token, so subscription products are **UI-only builds** — the agent walks Rob through the form one screen at a time. This is the field map as encountered 2026-08-10 building "The Premium Line" ($497/mo, trial-to-the-1st). Verify completion via Rob's report or a UI screenshot (vision_analyze works well) — never via API.

## Getting to a FRESH create form

Sub-account view (not agency) → **Payments → Products → + Create Product** (top right).

**PITFALL — the edit-screen trap (near-miss, live 2026-08-10):** clicking a product row opens its EDIT form, which looks like a create form but is pre-filled (Rob landed in "Growth @ $479"). If ANY field is pre-populated, back out to the list and use the + Create Product button. Never edit/clone a mismatched existing product to save time — the price/type mismatch poisons the checkout.

## Field map (top to bottom)

| Field | Setting | Why |
|---|---|---|
| Title | Product name | Customer-visible on the order form |
| Enable Product Label + start/end dates | **Skip entirely** | Ecommerce-store ribbon only ("New"/"Sale" badges with a display window). NOT billing-related — the dates are label display windows, not subscription dates. Rob will ask about these; they're a red herring for funnel sales. |
| Product Tax Category | **No** | CO LLC selling subscription services to local businesses. Revisit with a CPA only at scale / cross-state sales. |
| Statement Descriptor | Legal entity name (default) | Shows on customer's bank statement; entity name is fine. |
| Product Media | **Skip** | Order form shows name + price; no thumbnail needed for a service. |
| Price | e.g. `497` | |
| Billing Period | `Monthly` | |
| **Trial Period** | **Day-count ONLY — no date picker** | See quirk below. |
| Number of Payments | **Ongoing / 0 / blank** | Never-ending subscription. Do NOT cap at 12/24 — Charter rate is "locked for life," customer pays until cancel. |
| Setup Fee | **0 / blank** when copy says "$0 today, setup free" | A nonzero setup fee charges TODAY and silently contradicts the "$0 due today" trial copy. |
| Include in Online Store | **OFF** for funnel-only sales | ON = publicly browsable GHL storefront (breaks the controlled one-town-one-agency scarcity channel). OFF = still attachable to any Order Form element in any funnel. Sales channel is flyer QR → funnel page → order form, not store browse. |
| Product Type | **Physical or Digital ONLY — no Service/Subscription option exists**, and the type is not changeable after creation | Physical = shipping-address fields on checkout; Digital = skipped. Pick Digital at creation if offered. If stuck Physical (GHL's default — all of RRR's products show Physical), it's cosmetic: extra shipping fields on the form, billing still works. Not worth a rebuild. |
| Track Inventory | **OFF** | Services have no stock count. |

## Duplicate-product trap (hit live 2026-08-10)

After saving, check the Products LIST, not just the product's own detail panel: a renamed legacy product ("Growth" $479, renamed "The Premium Line") sat beside the new $497 one under the SAME display name. Same-name products at different prices = wrong-product wiring risk on the order form. Delete or rename ("OLD — DO NOT USE") the stale one before building the funnel. Also: the detail panel's "Additional Information" / Stripe-sync timestamps show the LAST SYNC time, which can predate tonight's create — don't use them to confirm freshness; trust the list's price + the create flow you just ran.

## Trial day-count quirk (important)

GHL's trial is **N days from each individual signup date**, not a calendar date. To honor "bills on the 1st of next month" copy:

- Day count = days from TODAY to the 1st (Aug 10 → Sep 1 = **22**).
- Only exact for same-day signups — an Aug 15 signup bills Sep 6, not Sep 1.
- **Bump the number on the 1st of each month** (Sep 1 → set `30` for Oct 1) as long as the offer stays live, or the copy drifts out of true. (In practice: changing the trial day-count typically affects NEW subscriptions only — existing subscribers keep the billing anchor set at their signup. Re-verify against live behavior before promising otherwise.)

## Post-save verification

Confirm with Rob: product appears in Payments → Products list with correct name, price, billing period, and trial days shown. THEN the Order Form element in the funnel page can be pointed at it (build sequence in the session handoff: work/ghl/SESSION-HANDOFF-premium-line-landing-pages.md).
