# GHL Funnel + Integration Gotchas

**2026-08-15** — accumulated from Premium Line funnel build, GHL OS project, and production debugging

## Order form limitations

- GHL native One Step Order form does **not** support custom fields. Workaround: rename the "Company Name" field to whatever you need (e.g., "Agency Name").
- Product attaches at the funnel-step **Products** tab, not the order form itself.
- Trial = days only (no hour/minute granularity).
- Test order = use a live card + instant cancel — test mode doesn't fully simulate production.

## Mobile checkout fix

Google Pay ON breaks Stripe card embed on phones (gray boxes). Fix:
1. Payments → Integrations → Stripe → Manage Options → Subscriptions dropdown → Google Pay → OFF
2. Verify on a restarted phone (not just refreshed browser)

## GTM watchlist

- GTM-NKWJQWHF is live sitewide on realresultsready.com and on Gannon demo pages
- IP-based GTM filtering doesn't work (dynamic IPs) — use cookie-based exclusion instead
- Watchdog cron `domain-gtm-watchdog` (e818e880c0bb) checks both domains + GTM at 03:00/15:00 UTC

## OAuth / token scoping

- Location-level chooselocation installs FAIL with scopeless short links. Always use the full link with explicit `scope=` parameter.
- Pitfall hit 2026-08-07 for RRR, 2026-08-14 for PL.

## Voice / phone

- PL production voice number: 970-598-5752 (+197****5752)
- 877-LAN-EXIT (+187****3948) currently on bail-bonds agent (Missed Call Only Agent), not PL
- PL has a location-level OAuth token — agency token was reinstalled 2026-08-14 to include PL

## Sub-account costs

- GHL charges per sub-account ($297+/month). Factor this into per-appointment fee models before pricing performance lead-gen offers.
GHL_SUBACCOUNT_COST=free (confirmed by Rob 2026-08-15)
