Documentation

Everything you need to find local-business clients with GHLThemer — searching, scoring, and outreach — plus the optional GoHighLevel page-theming tools.

Quick Start

GHLThemer helps you find local businesses to pitch your services to — search, see who needs help, and reach out. You can run your first search in under two minutes.

1

Create an account

Sign up free — no credit card required. You get 25 free leads every month and a 7-day trial of all Pro features.
2

Find leads

Open Leads, enter a business type and a city (e.g. plumbers in Austin), and click Find leads. Real local businesses appear with their phone, website, and email.
3

Read the opportunity score

Each website is scored 0–100. Sort by Biggest opportunity to put the most winnable prospects on top, and read the issues we found (no SSL, slow on mobile, no contact form, few reviews) plus an estimated project value.
4

Reach out

Click Contact on a lead with an email. We draft a short, personalised pitch for your services and open it in your own inbox (Gmail, Outlook, or copy-paste) — you review and send it yourself.
5

(Optional) Brand their GHL pages

Won the client? Add a brand, design a theme, and paste the 2-line embed into their GoHighLevel page to style it — see Installing the Embed Code below.

Lead Finder

Lead Finder helps you discover real local businesses you can pitch. Search any city for a business type — we pull live business data, automatically detect which leads are already running on GoHighLevel, and find publicly-posted emails on their websites so you can reach out using your own tools.

How searches work

Type a business type (e.g. plumbers) and a location (Austin, Texas or Miami, Florida). We return up to 60 real businesses per search with their name, category, address, phone, website, rating, and Google Maps link. Results are saved to your account — re-running the same search won’t cost extra credits for businesses you already have.

Free credits & paid packs

Every account gets 25 leads/month free, regardless of your theme plan. Credits reset on the 1st of each month. Need more? Paid credit packs are available from Billing → Leads in your dashboard — from a 40-lead Sample Pack up to a 2,000-lead Scale pack. Paid credits never expire and are used only after your free monthly allowance runs out. See the pricing page for pack prices.

Platform detection (Hot / Warm / Cold)

For each lead with a website, we automatically scan the homepage to detect which platform it’s running on:

  • 🔥 Hot · GHL — Already on GoHighLevel. Easiest to pitch — you can demo a theme on their actual site.
  • 🟡 Warm · Other CRM — On WordPress, Wix, Shopify, HubSpot, ClickFunnels, Webflow, Kajabi, etc. Pitch a move to GHL, then theme.
  • ⚪ Cold — No detectable platform. Cold outreach starting from scratch.
  • ❓ Unknown — Site blocked our scan or returned an error. Retry with the “Re-run detection” button.

Detection is best-effort. Some sites hide their stack or block automated requests. Treat results as “detected,” not guaranteed.

Opportunity score (who’s worth pitching)

Every lead with a website also gets an Opportunity score from 0–100— lower means more problems, which means more to pitch. Alongside the score you see the exact issues we detected and a coarse estimated project value.

  • 🔴 0–40 — big opportunity; several problems worth fixing.
  • 🟡 41–70 — some opportunity.
  • 🟢 71–100 — healthy site, little to pitch.

We check real, verifiable things: no SSL, slow on mobile (via Google PageSpeed), not mobile-friendly, no contact form, and weak or few Google reviews. Use Sort → Biggest opportunity and the Opportunity (≤50) filter to surface the easiest sales first, and the Scan morebutton to score the rest of your list. Scoring is free — it never uses lead credits.

Email discovery

From the same website fetch, we look for publicly-posted business emails — first in mailto: links on the homepage, then on common contact pages (/contact, /about). We prefer on-domain addresses (e.g. info@thierbusiness.com) over generic free-mail addresses. About 30–50% of sites publish a usable email — that’s normal. Empty means no public email was found.

Export to CSV

Click Export CSV to download all your leads with Platform, Temperature, Email, Opportunity Score, Issues, and Estimated Value columns. Open in Excel, Google Sheets, or your own outreach tool. The file is UTF-8 with BOM so accented characters render correctly.

Reaching out

Found leads with emails? Use the Contact button to draft an AI email and send it from your own inbox, or Export CSV for your own campaign tool. See Contacting Leads for the full how-to.

Contacting Leads

For any lead with an email, click Contact. Add a one-line note of what you offer (saved for next time), pick a tone (Professional, Friendly, or Direct), and hit ✦ Generate with AI — we draft a short, personalised cold email that pitches your services to that business (it never mentions GHLThemer). Edit it freely, then send it your way: Gmail, Outlook, your default mail app, or Copy to paste anywhere. The lead is then marked Contacted.

  • Why does it open my inbox instead of sending? So the email goes from your address with your reputation — no shared sending domain, no deliverability risk, and the reply comes straight to you.
  • Why no open/reply tracking? Because it sends from your own inbox, we can’t see opens or replies. “Contacted” simply records that you reached out (and how).
  • Does it work on Mac and Windows? Yes — Gmail, Outlook, and Copy are browser-based; the default-mail option opens Apple Mail on Mac (and your default app on Windows when one is set).
  • Does it cost credits? No — drafting outreach emails is included with Lead Finder and does not use your monthly AI color-suggestion credits. There’s just a generous daily limit to prevent abuse.
  • Can I follow up? Yes — once contacted, the lead shows Contact again with the date. Click it to draft a short follow-up (most replies come from the 2nd or 3rd nudge).

Prefer a campaign tool instead? Export CSV from Lead Finder gives you Platform, Temperature, and Email columns for Mailchimp, Apollo, and the like. Either way — Contact feature or export — GHLThemer never sends messages for you. Cold email/SMS is regulated (GDPR/PECR in Europe, CAN-SPAM in the US, stricter for individuals than companies), and you’re responsible for how you contact the businesses in your list.

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.
Note: The embed only works on your live connected domain.GoHighLevel's editor preview iframe will NOT show your theme — that's a sandboxed environment where third-party scripts don't run. Always test on the real URL (your custom domain like mybrand.com or the public funnel link likeapp.ghl.io/...). Each site you create in GHLThemer is locked to ONE domain — pasting the embed on a different domain has no effect (this prevents abuse).

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 brand (one site = one domain)

Each site has its own token and is locked to exactly one domain. If a brand has multiple funnels on different domains, add a separate site for each one. They all share the same theme — designed once in the Theme Editor — but each gets its own embed code tied to its own domain.

This protects you against the embed being copied and pasted on funnels you don't own. The CSS only loads when the page domain matches the one you registered.

Theme Editor Reference

The Theme Editor is where you design your brand's look. Changes are compiled into CSS on save and delivered to all sites under that brand 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.

Theme Templates

GHLThemer ships with 30+ professionally designed theme templates covering 12 niches — medical, real estate, fitness, legal, finance, education, home services, dental, restaurant, beauty & spa, automotive, and photography.

Applying a template

Templates can be applied in two places:

  • Theme Editor — click the Templates button in the top-right corner of the editor. A side sheet opens with the full gallery. Click Apply template on any card to instantly load its colors, font, and border radius into the editor. Then save as usual.
  • Templates page — go to Dashboard → Templatesto browse all templates. Pick a template and choose which brand to apply it to. You are redirected to that brand's Theme Editor with the template pre-loaded.
Note: Applying a template only pre-fills the editor fields — it does not save automatically. Review the settings and click Save theme when you are ready.

Free vs Pro templates

Templates marked Free are available on all plans. Templates marked Prorequire a paid plan. On a free plan the Pro template card shows an “Upgrade to apply” lock — all other filtering and browsing still works.

Filtering

Use the All / Free / Pro toggle and the niche pills to narrow the gallery. Both filters combine — you can show, for example, only free medical templates.

Tip: Templates are a great starting point. Apply one, then fine-tune colors and fonts in the Theme Editor to match the exact look you want for each brand.

AI Color Suggestions

The AI Color Suggestions feature uses GPT-4o mini to generate three professionally matched color palettes based on the brand's industry and vibe. Each palette covers all four theme color fields — primary, secondary, background, and text.

How to use it

1

Open the Theme Editor for a brand

Navigate to Dashboard → Brand → Theme Editor.
2

Click the AI Suggestions button

Look for the ✦ AI Suggestions button near the top of the Colors section. Click it to open the modal.
3

Select industry and vibe

Choose the brand's industry (e.g. Medical, Real Estate, Fitness) and a vibe (e.g. Professional, Bold, Minimalist, Friendly, or Luxury).
4

Generate and apply

Click Generate palettes. Three color palettes appear in seconds. Click Apply on any palette to load all four colors into the editor instantly. Then save as usual.

Credit system

AI suggestions consume one credit per generation (not per palette — each click of “Generate palettes” uses one credit and returns three palettes).

FieldDescription
Free3 AI credits per month.
Basic10 AI credits per month.
Pro50 AI credits per month.
AgencyUnlimited AI credits.

Credits reset automatically at the start of each calendar month. The modal shows how many credits remain. When credits are exhausted, the generate button is replaced with an upgrade prompt (on paid plans, wait until the monthly reset).

Note: Credits only decrement on a successful response from the AI. If the generation fails for any reason, no credit is consumed.

Analytics

Every site you create automatically gets analytics tracking. No extra configuration, no third-party scripts — GHLThemer tracks page views, form interactions, and calculates conversion rates entirely server-side.

What is tracked

FieldDescription
Page viewsRecorded each time a visitor loads your GHL page with the embed code active.
Form clicksRecorded when a visitor interacts with a form on the page (clicks a submit button or input).
CVR (Conversion Rate)Calculated as form clicks ÷ page views × 100, shown as a percentage per site.

Viewing analytics

Open a brand from your dashboard and click the Analyticstab. You'll see aggregate stats for the last 30 days across all sites, plus a per-site breakdown table with individual CVR scores.

Conversion score badge

Each site gets a Conversion Scorebadge you can share with clients as proof of performance. The badge is a small embeddable widget that shows the site's current CVR — useful for reports and proposals.

Tip: Analytics data is available on Pro and Agency plans. Basic plan users can see page view totals; CVR and form click tracking require Pro or higher.

Agency & White-label

The Agency plan is built for teams managing themes across multiple GHL accounts. It adds team collaboration, a brand 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 brands and themes under the shared workspace. The agency owner is responsible for all activity by their team.

Brand Portal

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

Portal permission levels:

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

White-label Branding

The brand portal presents GHLThemer under your own branding — your logo, your domain, your company name. Your customers 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 brands, sites per brand, and access to advanced features.

FieldDescription
FreeLimited brands & sites. Free templates only. 3 AI color credits/month. No custom CSS editor.
BasicMore brands and sites. All templates (free + pro). 10 AI color credits/month. Custom CSS enabled.
ProHigher limits. All templates. 50 AI color credits/month. Analytics dashboard (CVR + form clicks). Theme history.
AgencyUnlimited brands & sites. All templates. Unlimited AI color credits. Full analytics. Team members (up to 5). Brand 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

How many leads do I get for free?

Every account includes 25 free leads every month — website opportunity scoring and AI outreach drafting included. Need more? Buy one-time credit packs from Billing → Leads; paid credits never expire and are used only after your free monthly leads run out.

Do I have to sell websites to use Lead Finder?

No. Lead Finder helps you find local businesses to pitch whatever service you offer — web, funnels, SEO, ads, GoHighLevel setup, or marketing. The opportunity score simply shows who is underperforming online, so your outreach is specific and relevant.

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 brand 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.

Can I pay another way besides credit card?

Yes. Message us on WhatsApp or open a support ticket from your dashboard. We accept bank transfers and other manual payment methods, and we'll activate your plan for 30 days as soon as the payment lands. When the 30 days are up, contact us again or pay through the regular gateway from your billing page.

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.