← All playbooks · Raw API
utility-landing-pages
# Utility & thin landing pages — HopSkipDrive
Playbook for **form-forward contact pages**, **thank-you** confirmations, and **thin campaign** one-offs. Keep stacks minimal — not full audience hubs or offerings.
## URL patterns
| Kind | Examples | Notes |
|------|----------|--------|
| Contact / quote | `/quote`, `/connect-with-us` | Form primary; may add light proof modules |
| Thank-you | `/get-a-quote-thank-you` and similar | Confirmation after form submit; **usually `indexed: false`** |
| Redirected legacy thank-yous | `/thank-you-*` → often `/get-a-quote-thank-you/` | Prefer editing the **canonical** destination page |
| Download / one-off campaign | Varies | Thin LP; often unlisted |
Legacy paths in redirects (e.g. `/get-a-quote-schoolbus-ride` → `/quote/`) should **not** get new CMS pages unless product asks.
## Page fields
| Field | Guidance |
|-------|----------|
| `indexed` | **`false`** for thank-you and most campaign one-offs; **`true`** for public contact (`/quote`, `/connect-with-us`) unless product says otherwise |
| `hidden` | Only if the page must not render when published |
| `title` / `description` | Clear for contact pages; thank-you can stay short |
| `featuredImage` | Optional; site default acceptable for thank-you |
| Template | Often **General page template - b2b newsletter** (verified on quote / thank-you / connect) |
## Typical content stacks (live CMS)
### Quote — `/quote`
1. **Form and image** — primary HubSpot/contact form
2. Optional **Video grid** (+ external videos) — social proof
### Connect — `/connect-with-us`
1. **Form and image** only — minimal
### Thank-you — `/get-a-quote-thank-you`
1. **Text and Floating Image** hero in `topContent` only
2. No form, no long marketing stack
3. **`indexed: false`**
### Pattern summary
| Goal | Stack |
|------|--------|
| Capture lead | **Form and image** (or sticky form variants if already on clone) |
| Confirm submission | Short hero / simple text; no second form |
| Thin campaign | Clone closest utility page; keep 1–3 modules max |
**Forms:** Reuse portal/form configuration from the clone page — do not invent HubSpot form IDs.
## Campaign one-offs
When product needs a temporary LP:
1. Clone `/quote` or a similar thin page (`task-clone-page`)
2. Set a unique `slug`, clear `cmsLabel`
3. Set **`indexed: false`** unless SEO is intentional
4. One primary orange CTA / form
5. Prefer redirects from old campaign URLs over keeping many live CMS pages
Do **not** clone `/schools` or `/safety` for a thank-you page.
## Reference pages
| Path | Clone when |
|------|------------|
| `/quote` | New contact / quote funnel |
| `/connect-with-us` | Minimal form-only contact |
| `/get-a-quote-thank-you` | Post-submit confirmation |
## Workflow
1. Read `cms-edit://customer/pages` and this playbook
2. Confirm kind: contact vs thank-you vs campaign
3. Open or clone the closest utility reference
4. Keep stack thin; set `indexed` correctly
5. `preview urls` → `diff` → `save` → `task-publish-handoff`
## Out of scope
- Legal/policy documents → `legal-policy-pages`
- Full marketing hubs / offerings / program verticals
- Building multi-section product pages under a thank-you slug
- Creating parallel quote pages for every ad campaign when a redirect to `/quote` is enough
## Related
- Hub: `cms-edit://customer/pages`
- Forms on marketing pages: still clone from offerings/hubs when the page is a full product LP (`offering-pages` / `audience-hubs`)