Documentation

Everything you need to get GHLThemer running on your GoHighLevel pages — from installation to advanced customization.

Quick Start

GHLThemer works by delivering a CSS file to your GHL pages via a tiny 2-line embed script. No GHL API, no OAuth — just CSS. You can be live in under 5 minutes.

1

Create an account

Sign up free — no credit card required. You get a 7-day trial of all Pro features automatically.
2

Add a client

In the dashboard, click New Client. A client represents one GHL account or sub-account you manage.
3

Add a site

Inside the client, click Add Site. Give it a name (e.g. "Main Funnel"). A unique token is auto-generated — this is what links your GHL page to your theme.
4

Design your theme

Open the Theme Editor for your client. Pick colors, fonts, border radius, and more. Use the live preview pane to see your changes in real time. Save when ready.
5

Paste the embed code into GHL

Copy the 2-line embed code from the site card and paste it into your GHL funnel/website under Settings → Custom Code → Head Tracking Code. Your theme goes live within 30 seconds.

Installing the Embed Code

The embed code is two script tags. The first sets your site token; the second loads the GHLThemer script.

<script>window.__THEME_SITE__ = 'YOUR_SITE_TOKEN';</script>
<script src="https://ghlthemer.com/theme.js"></script>

Replace YOUR_SITE_TOKEN with the token shown on your site card. You can also click the token chip to copy it directly.

Where to paste it in GoHighLevel

  1. Open GoHighLevel and go to your Funnel or Website.
  2. Click Settings (gear icon at the top).
  3. Scroll to Custom Code → paste into the Head Tracking Code box.
  4. Save and reload your funnel page — the theme is now live.
Note: Paste the code in the Head section, not the body. Placing it in the body can cause a visible flash before the theme loads.

How the script works

When a visitor loads your GHL page, theme.js:

  1. Temporarily hides the page (prevents style flash).
  2. Fetches your compiled CSS from ghlthemer.com/api/css/[token].
  3. Injects it into the page as a <style> tag.
  4. Shows the page — all within milliseconds.

A built-in 3-second safety timeout ensures your GHL page always renders even if GHLThemer is temporarily unreachable.

Multiple sites per client

Each site has its own token. If a client has multiple funnels, add a separate site for each one. They all share the same theme — designed once in the Theme Editor.

Theme Editor Reference

The Theme Editor is where you design your client's look. Changes are compiled into CSS on save and delivered to all sites under that client within 30 seconds.

Colors

FieldDescription
primary_colorMain brand color — buttons, links, accents.
secondary_colorSupporting color for secondary elements.
background_colorPage background.
text_colorBody text color.
navbar_bgNavigation bar background.
navbar_textNavigation bar text and icon color.
button_text_colorText color inside buttons.
input_border_colorBorder color on form input fields.
link_hover_colorColor applied to links on hover.

Typography

FieldDescription
heading_fontGoogle Font name for headings (h1–h6).
body_fontGoogle Font name for body text and paragraphs.
font_weightDefault font weight (400, 500, 600, 700).

Layout

FieldDescription
border_radiusCorner rounding: none, sm, md, lg, full.
button_styleButton shape preset: solid, outline, ghost.
section_paddingSpacing above/below page sections.

Custom CSS

The built-in CSS editor (powered by CodeMirror) lets you write arbitrary CSS that gets appended after all auto-generated styles. Use it for overrides that the theme fields don't cover.

CSS Priority order (highest wins):

  1. CSS variables from theme fields
  2. Auto-generated styles
  3. Global patch (applied by GHLThemer admin across all users)
  4. Your custom CSS
  5. Emergency CSS (highest priority override)

CSS Snippets

The Snippets panel offers 20+ pre-built CSS blocks grouped by category (forms, buttons, navbar, etc.). Toggle any snippet on to add it to your theme instantly — no manual typing required.

Theme History

Every time you save, a snapshot is stored. The History drawer (clock icon) shows your last 10 saves — click Restore on any entry to roll back without losing your current version.

Tip: Use the live preview pane on the right to see your changes before saving. It renders real GHL page structure with your theme applied instantly.

Agency & White-label

The Agency plan is built for teams managing themes across multiple GHL accounts. It adds team collaboration, a client portal, and white-label branding.

Team Members

Agency owners can invite up to 5 team members from Dashboard → Team. Each member gets their own login and can manage clients and themes under the shared workspace. The agency owner is responsible for all activity by their team.

Client Portal

You can grant your end-clients access to a white-labelled portal where they can view and (optionally) edit their own theme. Portal access is managed per-client from the client detail page.

Portal permission levels:

  • View only — client can see their theme but not change it.
  • Can edit — client can modify colors, fonts, and custom CSS.
  • Can view theme — granular toggle for specific sections.

White-label Branding

The client portal presents GHLThemer under your own branding — your logo, your domain, your company name. Clients never see the GHLThemer name unless you choose to show it.

Note: White-label features are exclusive to the Agency plan. GHLThemer retains ownership of all underlying technology.

Plans & Limits

GHLThemer offers four plans. Each plan enforces limits on the number of clients, sites per client, and access to advanced features.

FieldDescription
FreeLimited clients & sites. No custom CSS editor. Good for evaluating.
BasicMore clients and sites. Custom CSS enabled.
ProHigher limits, analytics dashboard, theme history.
AgencyUnlimited clients & sites, team members (up to 5), client portal, white-label.

For current pricing and exact limits, see the Pricing page.

Free Trial

New accounts get a 7-day free trial of all Pro features automatically — no credit card required. After the trial, the account reverts to the Free plan unless you upgrade. Day 5, 6, and 7 reminder emails are sent so you have time to decide.

Payment Options

International payments are processed by LemonSqueezy. Pakistan-based payments are processed by Safepay. Your payment gateway is selected automatically based on your country at signup.

Troubleshooting

Theme is not loading on my GHL page

  • Confirm the embed code is in the Head Tracking Code section, not the body.
  • Check the site token in the first script tag matches exactly what's shown in your GHLThemer site card.
  • Open your browser DevTools → Network tab → filter for api/css and confirm the request returns 200.
  • Make sure you saved your theme in the editor at least once.

I see a white flash before the page loads

  • The embed must be in the head, not the body. If it's in the body, the page renders before the script runs.
  • Verify no other scripts on the page are delaying execution.

My custom CSS is not applying

  • GHL pages often use high-specificity selectors. Add !important to rules that are being overridden.
  • Use browser DevTools to inspect which rule is winning and match or increase specificity.

Theme shows old styles after I save

The CSS endpoint caches for 30 seconds. Hard refresh your GHL page (Ctrl+Shift+R or Cmd+Shift+R) or wait 30 seconds and reload normally.

My plan features are not unlocked after payment

  • Wait 1–2 minutes for the payment webhook to process.
  • Refresh the billing page — it will show your active plan.
  • If still on the wrong plan after 5 minutes, open a support ticket from the dashboard.

Portal invite email was not received

  • Ask your client to check their spam folder.
  • Confirm the email address is correct in the portal invite dialog.
  • You can re-send the invite from the portal management page.

FAQ

Is GHLThemer an official GoHighLevel product?

No. GHLThemer is an independent product and is not affiliated with, endorsed by, or a marketplace application of HighLevel Inc. It works by injecting CSS — no GHL API access or OAuth is used.

Does GHLThemer require access to my GHL account?

No. GHLThemer never asks for your GHL credentials, API key, or OAuth token. The only thing that touches your GHL account is the 2-line embed code you paste yourself.

What happens if GHLThemer is temporarily down?

The theme.js script has a built-in 3-second safety timeout. If GHLThemer cannot be reached, the script cancels and your GHL page loads normally — without any theme, but without breaking either. We target 99.9% uptime for the CSS delivery endpoint.

Can I use one theme across multiple GHL funnels?

Yes. All sites under a client share the same theme. Add a site for each funnel or page group and paste the embed code with each site's unique token. When you update the theme, all sites update simultaneously.

Can I cancel my subscription at any time?

Yes. Cancel any time from the Billing page in your dashboard. Your plan stays active until the end of the current billing period, then reverts to Free. No cancellation fees.

Is my data safe?

All data is stored in Supabase (PostgreSQL) with row-level security enforced at the database layer. Every user can only access their own data. No GHL credentials are ever stored.

I have a question not answered here.

Open a support ticket from your dashboard (log in first) or email us at support@ghlthemer.com.