Back to Blog

How to Use GoHighLevel With a WordPress Website (CRM + Site Setup)

WordPress for the website, GoHighLevel for the CRM and follow-up. Four ways to connect them, a step-by-step setup, a testing checklist and the problems to check for.

Bennett Black

Bennett Black

November 8, 2026|10 min read

GoHighLevel and WordPress: a CRM contact card connected by an arrow to a website

Quick Answer

To connect GoHighLevel to a WordPress website, install HighLevel's free LeadConnector plugin, sign in to your account from the plugin, and pick the sub-account (location) to link. That lets you put GoHighLevel forms, surveys, calendars and the chat widget on WordPress pages without pasting code.

There are four ways to connect the two, and most sites use more than one:

  1. The LeadConnector plugin for the chat widget, forms, calendars, surveys, funnel pages and custom values.
  2. Embed code from GoHighLevel pasted into a WordPress page or a header/footer plugin.
  3. A webhook from your own WordPress form into a GoHighLevel workflow that has an Inbound Webhook trigger.
  4. Tracking code in the site header, so visitor activity is tied to your account.

Then test every path: a form submission should land as a contact, the workflow should fire once, and a calendar booking should show up on the contact.

Why Pair GoHighLevel With WordPress

The usual split is simple. WordPress is the website: the pages that rank, the service pages, the blog. GoHighLevel is what happens after someone gets in touch: the contact record, the pipeline, the text and email follow-up, the booking calendar and the inbox.

That split also means the site isn't tied to the CRM account. HighLevel sites can't be exported to another platform, while a WordPress site can move to any host. The full comparison is in GoHighLevel vs WordPress for Client Websites. This guide covers the connection itself.

Four Ways to Connect GoHighLevel to WordPress

MethodWhat it doesBest for
LeadConnector pluginChat widget, forms, surveys, calendars, funnel pages and custom values inside WordPressMost sites; the least code
Embed codeShows one GoHighLevel form, calendar or survey on a pageAdding a single item without a plugin
Webhook from your formSends your WordPress form's submissions into a GoHighLevel workflowKeeping your own form design
Tracking codePuts HighLevel's tracking script on every pageAttribution and visitor tracking

1. The LeadConnector plugin

LeadConnector is HighLevel's official WordPress plugin, and it's free on WordPress.org. You still need a HighLevel account with a connected location to use the forms, calendars and chat. HighLevel documents what it does in The Complete Guide to the LeadConnector (LC) WordPress Plugin.

What it adds to a WordPress site:

  • Chat widget. Turn it on from the plugin's Chat Widget settings. Chats go to the Conversations inbox in your sub-account.
  • Forms, surveys and calendars. Place them with WordPress blocks or shortcodes. The plugin lists shortcodes such as [leadconnector_form], [leadconnector_calendar] and [leadconnector_survey].
  • Funnel pages. Show a HighLevel funnel step as a WordPress page at a slug you choose.
  • Custom values. Use a value from your CRM, like a business phone number, in WordPress content, so a change in the CRM updates the site.

The plugin's WordPress.org listing asks for WordPress 6.2 or newer and PHP 7.4 or newer, and says it works with Elementor, though results can vary by theme and builder.

2. Embed code

If you only need one form or calendar on one page, embed it. In HighLevel, open the form, calendar or survey and look for its embed or integrate option, then copy the code. In WordPress, add a Custom HTML block to the page and paste it in.

Menu names inside HighLevel change over time, so follow the labels you see in your account. If the embedded form doesn't resize to fit its content, check that the script that came with the embed code is also on the page.

3. A webhook from your WordPress form

If you'd rather keep the form that's already on the site, send its submissions to HighLevel as a webhook. This works with any form that can post to a URL.

  1. In HighLevel, create a workflow and choose Inbound Webhook as the trigger. Copy the webhook URL it gives you.
  2. In your WordPress form, paste that URL into the form's webhook setting. Some form plugins need an add-on for this.
  3. Submit a test entry so HighLevel receives a sample request.
  4. Back in the workflow, add a Create/Update Contact action and map the incoming fields (name, email, phone) to contact fields.

Zapier and Make can sit in the middle if your form can't call a webhook directly.

4. Tracking code

HighLevel gives you a tracking script to add to your site. On WordPress, put it in the site-wide header with a header-and-footer plugin such as WPCode rather than editing the theme, so a theme update doesn't remove it.

Step by Step: The Most Common Setup

For most local business sites, this is the setup: the LeadConnector plugin for the calendar and chat widget, and a form that creates contacts.

  1. Install the plugin. In WP Admin go to Plugins → Add New, search for LeadConnector, then Install Now and Activate.
  2. Connect your account. Open LeadConnector in the WordPress menu, click to sign in, and sign in with your HighLevel account. Select the sub-account for this business.
  3. Create the pieces in HighLevel. Build the form, the calendar and the chat widget in the sub-account (the chat widget is created under Sites → Chat Widget, and the Live chat type is the one that routes to Conversations).
  4. Turn on the chat widget. In WordPress, open the plugin's chat widget settings, enable it, pick your widget and save.
  5. Add the form and calendar to pages. Edit the page, add the plugin's block or its shortcode, then update the page.
  6. Build the workflow. In HighLevel, make a workflow triggered by the form submission: add a tag, create an opportunity, send the confirmation text or email, notify the owner.
  7. Clear caches. Purge your caching plugin and your host's cache, then do a hard refresh. HighLevel says a missing chat widget is almost always a cache issue.

Don't change your domain's DNS to do any of this. Connecting the plugin is separate from moving hosting or pointing a domain at HighLevel, which HighLevel treats as its own setup in its domain guide.

Testing Checklist

Run this on the live site, not only in a preview.

  • The form creates a contact. Submit a test entry with a real email and phone. Find the contact in the sub-account and check that name, email and phone landed in the right fields.
  • The workflow fires once. Open the workflow's history and confirm one run for one submission, with every action completing.
  • The tags and pipeline stage are right. The contact should have the tags and the opportunity you set.
  • A calendar booking syncs. Book a test appointment from the page. It should appear on the contact and on the calendar, and send the confirmation you set up.
  • Chat reaches Conversations. Send a test message from the widget and find it in the inbox.
  • It works on a phone. Check the form, calendar and chat widget on mobile, since embedded frames can behave differently there.
  • It works logged out. Test in a private window, because caching and optimization plugins often behave differently for visitors than for admins.

Pitfalls to Check

These are things to look for if something doesn't match the checklist.

  • Duplicate contacts. If you run two paths for the same form, for example a LeadConnector form plus a webhook, one visit can create two submissions. Use one path per form. Where both are needed, make sure your workflow updates the existing contact by email instead of always creating a new one.
  • Double notifications. WordPress can email the owner on a submission, and a HighLevel workflow can notify them too. Decide which one is the alert and switch the other off, or the owner gets every lead twice.
  • Caching and script blocking. Caching plugins can hide the chat widget, and minify or delay-JavaScript settings can break embedded forms. Exclude the HighLevel scripts from those settings if a form or widget loads inconsistently.
  • Disconnected plugin. HighLevel says the plugin can show as Disconnected if the key it uses was regenerated in the CRM. Reconnect it from the LeadConnector screen.
  • Blank custom values. A custom value shortcode that shows nothing usually means the value is empty in the CRM, or the key was written with the curly brackets. Use the key name only.
  • Funnel pages on the main domain. Publishing a funnel step as a WordPress page puts it on your WordPress URL structure, so pick the slug deliberately and keep it out of the way of existing pages.

Building the WordPress Site Itself With 1ClickWebsite

Everything above assumes you already have a WordPress site. If you don't, 1ClickWebsite builds one from a Google Business Profile. This blog is published by 1ClickWebsite, so treat this section as one option among several.

You enter the business name, pick a template, confirm the details it finds on the profile (address, hours, services, service areas, reviews) and click Create Site. About three minutes later there's a multi-page WordPress site with a page per service and per service area. The click-by-click version is in How to Turn Any Google Business Profile Into a Website in About 3 Minutes, and the other ways to do it are compared in Turn Your GBP Into a Website.

Sending its form leads to GoHighLevel

A 1ClickWebsite site's contact form can post every submission to a webhook URL, which is the webhook method above:

  1. In HighLevel, create a workflow with an Inbound Webhook trigger and copy the URL.
  2. In WP Admin, hover over OCF Editor and click Forms & Email.
  3. Open the Form Setup tab and scroll to Webhook Delivery.
  4. Paste the HighLevel webhook URL and click Save Changes.
  5. Submit a test form on the live site, then check that HighLevel received the request.

Or open the Website Agent, pick the site and paste the URL with a prompt like "Send every form submission to this webhook". The full steps are in Send form submissions to a webhook.

The webhook needs to be a public URL that accepts a POST request with a JSON body, which an inbound webhook trigger does. The data includes whatever the visitor filled in, such as name, email, phone, services, address and notes, and the exact fields depend on your form. Submit one test entry first so HighLevel can show you the real field names to map to the contact.

Two more things from the form guides. Submissions are always saved in WP Admin → Submissions, so a lead isn't lost if the webhook is misconfigured. And the form can email the owner and send the visitor a confirmation (see Set up contact form emails). If a HighLevel workflow already sends the confirmation, turn the site's visitor confirmation off so the lead doesn't get two.

Pro tip: build demo sites for a whole lead list

If you pitch websites to local businesses, Mini Sites (in the dashboard sidebar) can build demo sites for a list of up to 500 businesses per batch from a CSV, one industry per batch. Send the demo link in a HighLevel sequence, and keep the CRM follow-up where it already lives. The batch format is in the Mini Sites guide.

FAQ

Is there an official GoHighLevel WordPress plugin?

Yes. HighLevel's official plugin is LeadConnector, and it's free on WordPress.org. You need a HighLevel account with a connected location to use its connected features.

Do I have to move my website to GoHighLevel to use it?

No. The plugin works on a WordPress site hosted anywhere. HighLevel also offers its own WordPress hosting, where the plugin is installed and connected for you, but that's a separate choice.

How do I get WordPress form submissions into GoHighLevel as contacts?

Use the LeadConnector form on the page, or send your own form's submissions to a HighLevel workflow with an Inbound Webhook trigger and add a Create/Update Contact action. Test with a real submission and map the fields.

Can I show a GoHighLevel calendar on a WordPress page?

Yes. Place it with the plugin's calendar block or shortcode, or paste the calendar's embed code into a Custom HTML block.

Why isn't my GoHighLevel chat widget showing on WordPress?

HighLevel says the cause is almost always caching. Clear your caching plugin and your host's cache, then hard refresh. Also confirm the widget is enabled in the plugin and the right widget is selected.

Will I get duplicate contacts?

Only if two paths send the same submission. Use one path per form, and have the workflow update an existing contact by email where both are needed.

Sources and Review Notes

This post was informed by an LLM Sleuth research run on 2026-11-08 across GPT-6.1 Sol, Claude Sonnet 5.5, Gemini 3.8 Flash and Perplexity Sonar. Plugin claims were checked against HighLevel's help pages and the plugin's WordPress.org listing below, and 1ClickWebsite claims against its form guides. The inbound webhook workflow steps and the embed and tracking code steps reflect common setups, and HighLevel renames menus often, so follow the labels in your own account. Verify plans and pricing before you rely on them.