Loading tutorials…
Loading tutorials…
GHL's funnel builder is fast enough to launch a campaign by Friday. It's also slow enough to tank your conversion rate if you don't structure pages, tracking, and upsells the way performance specialists do.
Who this is forAgencies and operators building their first 3-10 GHL funnels for clients or themselves. If you have shipped a funnel and the opt-in rate is below 20% (industry baseline 25-40%), this tutorial diagnoses the structural fixes.
What you'll need
Step 1
Standard structure: Opt-in page → Thank You / VSL page → Calendar booking OR Order form → Upsell 1 → Upsell 2 → Final Thank You page. 4-6 pages, no more.
Skip the templates initially. They lock you into structure that may not fit your offer.
On paper, list each page in the funnel. Most healthy funnels: 4-6 pages total.
Each page should have ONE call-to-action. Opt-in page = enter email. VSL page = watch video, then click button. Calendar page = pick time slot. Order page = enter card. Upsell = yes/no button. Thank You = confirmation.
Define the goal conversion event per page (e.g., opt-in submit, button click, payment submit). You will tag tracking pixels at these.
Sketch each page's above-fold area: headline (10 words max), sub-headline (15 words max), 1 visual (image/video), 1 CTA button. That's it.
Step 2
In Sites → Funnels → New Funnel → Add Step → Opt-in. Use a 1-section design: headline + offer + email field + button. Avoid templates over 3 sections — they tank speed.
Funnels → New Funnel → name it ("Lead Gen Funnel — June 2026"). Add first step: type = "Opt-in," name = "Opt-in Page."
Pick a template — but immediately strip it to one section. GHL templates often have 5-8 sections of fluff (testimonials, FAQ, footer) that crater mobile page speed.
Above the fold: headline (clear value prop), sub-headline (specific outcome), email field, "Get Access" button.
Below the fold: ONE trust element (testimonial, logo bar, or guarantee). Nothing else.
Mobile preview — must load in <2 sec on a real phone. Test at PageSpeed Insights (paste the page URL). Mobile score should be 70+.
Save. Set the "Next Step" to your thank-you or VSL page.
Step 3
For paid funnels: add Order Form step. Configure product, price, and a single Order Bump checkbox above the payment button.
Add step → "Order Form." Name it "Checkout."
In the Order Form widget, add your product (price, name, description). Connect to Stripe if not already.
Add ONE order bump (checkbox above the payment button). Order bumps lift average order value 15-30% with zero added effort from the buyer. Examples: "Add the bonus workshop for +$27?" "Add the implementation guide for +$47?"
Above the form: small testimonial OR money-back guarantee. NOT both. Choose one.
Form fields: Email, First Name, Card. Do NOT ask for phone, last name, address, company on the initial buy — every extra field drops conversion 5-15%.
After purchase, set "Next Step" to first upsell page.
Step 4
Upsell pages use saved Stripe card from order form — buyer clicks "Yes, add this" and is charged with zero re-entry of payment info. Conversion lift 20-50% on AOV.
Add step → "Upsell." Configure the upsell offer (separate Stripe product).
Critically: enable "One-click upsell" in the upsell settings. This uses the card token from the original purchase — buyer just clicks the button.
Page structure: Headline + 1-2 paragraphs of "wait, before you go" copy + price + 2 buttons (Yes Add It / No Continue).
Limit to 2 upsells max. Upsell 3+ has rapidly diminishing returns and trains buyers to be suspicious of the funnel.
For each upsell: configure "Yes" → next step (upsell 2 or thank you), "No" → skip to thank you. Buyer should never feel trapped.
Step 5
In Funnel Settings → Tracking. Add Meta Pixel ID, Google Tag (gtag), and TikTok Pixel. Fire conversion events on opt-in submit, order complete, and upsell accepts.
Funnel Settings → Tracking and Analytics. Add platform pixel IDs (Meta Pixel ID, Google gtag ID, TikTok Pixel ID).
For each conversion event, configure when it fires: "Lead" on opt-in submit, "Purchase" on order complete, "AddToCart" on order page view.
GHL fires these via the platform pixels automatically — but VERIFY by opening Meta Pixel Helper / Google Tag Assistant browser extensions and walking through the funnel.
Common failure: pixel fires on page load instead of on form submit. Then EVERY page view counts as a conversion. Fix in funnel settings.
For Meta CAPI (Conversions API), configure separately in Settings → Integrations → Facebook → Add CAPI token. CAPI catches iOS users that lose the browser pixel.
Step 6
Thank-you page = highest-engagement moment of the funnel. Add the next desired action: book a call, join a community, share on social.
Add final step → "Thank You" page.
Headline: "Thanks! Here's what happens next." (sets clear expectation, reduces support tickets).
Embed the calendar widget OR a community-join button OR a social share prompt. Pick ONE next action.
For paid funnels: include order confirmation summary (what they bought, when they'll receive it).
Avoid asking for testimonials on thank-you page — buyer has not received value yet. Save that for a post-delivery email workflow.
Step 7
In live mode, walk the full funnel using a real card and a test product priced at $1. Verify every page loads, payment processes, upsells fire, pixels report, thank-you displays.
Create a $1 test product in Stripe.
Open the funnel URL in incognito on mobile (not your desktop preview).
Walk through every step: opt-in → submit → VSL view → calendar / order → upsell accept → upsell decline → thank you.
During testing, have Meta Pixel Helper and Google Tag Assistant open. Verify pixel fires at each step.
In Stripe Dashboard, confirm the charge processed and refund yourself the $1.
Common bugs caught here: opt-in form not submitting on mobile, upsell button not charging, thank-you page redirect failing. Worth catching in test, not in production.
Common mistakes
Using a heavy template with 5-8 sections on the opt-in page
What goes wrong: Mobile page speed drops to 2-4 seconds load time. 30-50% of mobile traffic bounces before the page renders. On $1,000/mo ad spend, that is $300-500 of wasted spend reaching people who never see the offer.
How to avoid: Strip opt-in page to ONE section above the fold. Maximum ONE trust element below. Compress images to WebP under 100KB. Target PageSpeed Insights mobile score 70+.
Pixel fires on page load instead of conversion event
What goes wrong: Meta reports every page view as a Lead conversion. Smart Bidding optimizes toward maximum page views (cheap) instead of actual leads (expensive but valuable). CPA looks great on paper, real lead volume drops 40-60%. You discover the bug 30 days later.
How to avoid: Configure pixels to fire on specific events: Lead on opt-in submit, Purchase on order complete. Verify with Meta Pixel Helper / Google Tag Assistant before launching ad spend.
Asking for phone/address on the opt-in form
What goes wrong: Every extra field drops opt-in rate 5-15%. Going from email-only (35% opt-in) to email+phone+name (20% opt-in) costs 43% of leads. Across $1K/mo spend, that is 200+ lost leads.
How to avoid: Opt-in form: EMAIL ONLY. Capture name, phone, address later in the funnel (calendar booking, order form) when intent is higher.
Skipping one-click upsells
What goes wrong: Lost AOV. Industry average: one-click upsells lift AOV 20-50% with zero additional ad spend. On $5K/mo in front-end revenue, that is $1K-2.5K/mo of recurring revenue left on the table.
How to avoid: Add ONE upsell (relevant + complementary to the front-end product). Configure one-click via Stripe card token. Limit to 2 upsells max — diminishing returns past that.
No mobile test before launching ad spend
What goes wrong: 70%+ of traffic is mobile. Funnel works fine on desktop but order form has overlapping fields on iPhone Safari. Conversion rate drops 60-80% from mobile. Discovered after $500-2,000 in wasted ad spend.
How to avoid: Always preview the live funnel URL on a real iPhone AND a real Android, not just GHL's mobile-preview view. Walk every step including payment.
Stripe in test mode at launch
What goes wrong: Funnel goes live, ad spend kicks in, buyers attempt to purchase, Stripe rejects every card because it's in Test mode. You only notice when sales = 0 after $500-1,000 of spend.
How to avoid: Before launching ad spend, verify Sub-Account → Settings → Payments → Stripe → Live Mode is enabled. Run a real $1 transaction.
Recap
Done — what's next
How to build GoHighLevel workflows that actually convert
Read the next tutorial
Hand it off
A clean, fast, tracking-correct GHL funnel converts 2-4x better than a default-template build. The difference between 5% and 25% opt-in rate on $3K/mo ad spend is $1K-3K/mo of recovered revenue. A GHL specialist builds your core funnel correctly the first time for $500-1,500 of talent time.
See specialist rates
Functionally yes, on speed and design flexibility slightly behind. The huge advantage is that GHL keeps the funnel, CRM, email, SMS, and reporting in one platform — no Zapier glue between tools. Most agencies switching from ClickFunnels see a 30-50% reduction in monthly software costs.
Yes — Sub-Account → Settings → Domains → Add Domain. Standard pattern: hub.client.com for the funnel. DNS setup is 5 min, SSL provisions in 10-30 min. Make sure DNS is set to DNS-only (not Cloudflare-proxied) so SSL provisions correctly.
GHL has built-in A/B testing on funnel steps. Funnel → Step → Variations → Add Variation. Splits traffic 50/50. Wait for statistical significance (typically 100+ conversions per variant) before declaring a winner.
Usually: (1) uncompressed images — convert PNG/JPG to WebP under 100KB, (2) too many fonts loaded — limit to 1-2, (3) third-party scripts (multiple pixels, chat widgets) blocking render. Audit with PageSpeed Insights and remove non-essential scripts.
Yes, but the built-in shipping/tax tooling is basic compared to dedicated e-commerce platforms (Shopify, WooCommerce). For physical products with complex tax/shipping rules, use Shopify or WooCommerce for checkout and GHL for the marketing funnel + CRM. For simple physical products (one SKU, flat shipping, US-only), GHL is fine.
GoHighLevel
GHL's Workflow Builder is the most powerful piece of the platform — and the easiest to misconfigure into expensive silence. This is the structural setup: triggers that don't fire-and-forget, actions that don't double-send, and the guardrails that catch problems before clients do.
GoHighLevel
GHL’s email and SMS are the highest-leverage channels in the platform — and the easiest to torch by sending too fast, too cold, or without A2P 10DLC registration. This is the setup that keeps you out of spam and out of carrier filters.
GoHighLevel
GHL calendars look simple. Done well, they cut no-show rate from 30% to under 10% and distribute leads evenly across a team. Done quickly, they generate double-bookings, 3am appointment slots, and angry team members.
GoHighLevel
Most agencies pay $297-497/mo for GHL and use 25% of it. The platform is too deep to learn casually. This is the honest framework: when the cost of self-managing exceeds the cost of hiring, and how to tell which side you're on.