External Form Tracking in HighLevel
HighLevel External Form Tracking captures form submissions from third-party forms on external websites – WordPress, Wix, Squarespace, or any site with standard HTML forms – and creates contacts in the HighLevel CRM without replacing the existing forms. Install the HighLevel tracking code on the external site, configure the field-to-CRM mapping in tracking settings, and test with a form submission. Workflow triggers fire on external form submissions the same as HighLevel-native form submissions.
This post covers how External Form Tracking works, how it differs from embedding a HighLevel form, how to set it up, the field mapping process, and when to use it versus switching to a HighLevel-native form.
Reading time: about 7 minutes.
Capture leads from your existing – External Form Tracking bridges the gap
External Form Tracking works via the HighLevel tracking code. No form replacement required.
What Is External Form Tracking in HighLevel?
External Form Tracking is a HighLevel feature that captures form submissions from forms that already exist on external websites – not HighLevel-built forms – and routes the submitted data into the HighLevel CRM as contact records.
The key distinction from other form integration approaches is that the existing form is not replaced. A business with a WordPress site using Gravity Forms, a Squarespace site using native Squarespace forms, or any website with standard HTML forms can have those submissions captured by HighLevel without changing the form at all.
This is the most practical integration path for businesses that already have working website forms and do not want to rebuild them – but do want those leads in their HighLevel CRM with automated follow-up.
How It Works
External Form Tracking operates through the HighLevel tracking code – a JavaScript snippet added to the external website’s header section.
When the tracking code is active on a page and a visitor submits a form on that page, the tracking code intercepts the form submission event. It reads the submitted field values, maps them to the configured HighLevel contact fields, and sends the data to the HighLevel CRM.
This interception happens in parallel with the form’s normal submission behavior. The form still submits to its original destination – the server-side handler, the email notification, the database – exactly as it did before.
The HighLevel tracking simply adds a second destination for the submitted data: the HighLevel CRM.
From the visitor’s perspective, nothing changes. They fill out the form, click submit, and see whatever confirmation or redirect the form normally shows.
The HighLevel CRM contact creation is invisible to them.
External Form Tracking vs. Embedding a HighLevel Form
There are two ways to get external website form submissions into HighLevel: replace the form with a HighLevel-native form, or keep the existing form and add external form tracking. Each approach suits different situations.
Embedding a HighLevel form replaces the existing form entirely. The page uses a HighLevel form embed code, and all form behavior – field validation, submission handling, CRM capture, workflow triggers – is controlled by HighLevel.
This is the cleanest integration and the recommended approach when there is no strong reason to keep the existing form.
External Form Tracking keeps the existing form and adds HighLevel CRM capture as a parallel process. Use this when the existing form is deeply integrated with other systems (a CRM, a ticketing system, a database), when the form has complex conditional logic that would be difficult to rebuild in HighLevel, when the form is part of a platform that manages its own form handling (Squarespace, Wix, Kajabi), or when the client specifically does not want the form replaced.
For most straightforward cases – a standard contact form on a website – embedding a HighLevel form is simpler and more reliable. External Form Tracking is for the cases where that swap is not practical.
Supported Form Types
External Form Tracking works with forms built on standard HTML form elements – the <form>, <input>, and <textarea> tags that make up virtually every web form.
This covers the vast majority of form implementations: Gravity Forms, WPForms, Contact Form 7, Ninja Forms, and other WordPress form plugins; Squarespace and Wix native forms; Webflow forms; and custom-coded HTML forms on any website.
Forms built with highly custom JavaScript frameworks – particularly single-page application forms that handle submission entirely client-side without a standard form element – may not be captured reliably. If a form behaves in an unusual way during submission, testing is required to confirm tracking is working before relying on it.
Installing the Tracking Code
The tracking code is found in the HighLevel sub-account settings – typically in a tracking, pixels, or integrations section. Copy the JavaScript snippet and add it to the external website’s header section so it loads on every page.
For WordPress, the cleanest installation method is through the HighLevel plugin, which handles the tracking code insertion automatically. Alternatively, a header and footer plugin or direct theme file modification works.
For Squarespace, Wix, and similar platforms, paste the code in the site’s custom code or header injection area in the platform’s settings.
The tracking code needs to load on every page where a tracked form exists. If forms are only on specific pages, it is still best practice to load the code site-wide – this also enables visitor tracking, chat widget functionality, and attribution data for all pages.
Field Mapping Configuration
Field mapping is the configuration that tells HighLevel which submitted form fields correspond to which CRM contact fields.
External forms use HTML field names – the name attribute on each input element. For example, a first name field might have name="first-name" or name="fname" or name="your-name" depending on how the form was built.
HighLevel needs to know that whatever field name the form uses for first name should be mapped to the HighLevel First Name contact field.
In the external form tracking configuration, specify the field name used in the form and the HighLevel contact field it maps to for each field being captured. Common mappings: the email field to Email, the name field to First Name and Last Name, the phone field to Phone.
The accuracy of the mapping is what determines data quality in the CRM. A misconfigured mapping – phone number going into the email field, name data not splitting correctly – produces contact records with incorrect data.
Test the mapping with a real submission before going live.
Workflow Triggers
When HighLevel’s external form tracking creates a contact from an external form submission, the same workflow trigger events available for HighLevel-native forms are available.
The contact creation event fires immediately when the submission is processed. Any workflow set to trigger on new contact creation or on Form Submitted events for the relevant source will fire – sending the automated confirmation email, applying tags, assigning a pipeline stage, and notifying the team.
This is the value that makes external form tracking more than just a data capture tool. Without it, a form submission lands in an inbox and requires manual follow-up.
With the workflow trigger, the follow-up starts automatically within seconds of submission – regardless of whether the form is a HighLevel-native form or an external one.
Page Attribution
The HighLevel tracking code records the URL of the page where each form submission occurs. This page attribution data is stored with the contact record and is visible in attribution reporting.
Page attribution answers a practical question: which pages on the external website are generating the most form submissions? A business with contact forms on multiple pages – home page, services page, contact page – can see which page is driving the most leads without installing Google Analytics event tracking or manually tagging each submission.
This data is also useful for identifying pages where form submissions are expected but not occurring – a page with high traffic but no form submissions may indicate a form issue, a layout problem, or a mismatch between visitor intent and the form’s offer.
WordPress-Specific Approach
For WordPress sites specifically, the HighLevel WordPress plugin provides the most streamlined external form tracking implementation.
The plugin includes form capture functionality that connects WordPress form submissions – from any major WordPress form plugin – to the HighLevel CRM. It also handles the tracking code insertion automatically, removing the need to manually add the tracking code to the WordPress theme.
The plugin approach is simpler to configure for WordPress sites than the generic external form tracking setup. For non-WordPress sites, the tracking code and field mapping configuration in HighLevel settings is the approach to use.
The full WordPress plugin setup is covered in the WordPress Hosting and Integration post.
What Can You Do With It?
- Route existing website form submissions to the HighLevel CRM without rebuilding forms: Any business with a working website form can have those submissions captured in HighLevel immediately – no form replacement, no page redesign, no interruption to the current workflow.
- Start automated follow-up for all website leads regardless of form type: External form tracking means HighLevel workflows fire on website leads from any form – existing forms are part of the automation system without being replaced by it.
- Connect a client’s existing website to HighLevel during onboarding: Agencies onboarding a new client who has an existing website with forms can immediately capture those form leads into the client’s HighLevel sub-account – a quick win before any funnel work is done.
- Maintain complex forms while adding CRM integration: Forms with complex conditional logic, multi-step flows, or integration with other systems can be left in place while HighLevel captures the submission data in parallel.
- Track which website pages generate form submissions: Page-level attribution from the tracking code reveals which pages are performing for lead generation and which are not – actionable data for website optimization.
Key Definitions
| Term | What It Means |
|---|---|
| External Form Tracking | A HighLevel feature that captures form submissions from third-party forms on external websites and creates CRM contacts – without replacing the existing forms. Operates via the HighLevel tracking code. |
| Tracking Code | A JavaScript snippet from HighLevel installed in the external website’s header section. Enables visitor tracking, form submission capture, chat widget display, and attribution data on the external site. |
| Field Mapping | The configuration that connects external form field names (HTML name attributes) to HighLevel CRM contact fields. Determines which submitted data is captured and where it is stored in the contact record. |
| Form Field Name | The HTML name attribute on a form input element – the identifier the form uses internally for each field. Used in the field mapping configuration to identify which external form field corresponds to which HighLevel contact field. |
| Page Attribution | Recording which URL a form submission occurred on. Stored with the contact record. Used to identify which website pages are generating the most form submissions. |
| Parallel Submission | The behavior where external form tracking captures data in addition to the form’s normal submission process – the form still submits to its original destination while HighLevel captures the data simultaneously. The original form behavior is unchanged. |
Use Cases by Industry
Marketing Agencies – New Client Onboarding
An agency onboards a new client who has a WordPress website with an existing Gravity Forms contact form. The client uses Gravity Forms because it integrates with their email newsletter system and they do not want to change that integration.
The agency installs the HighLevel plugin on the WordPress site, configures form capture for the Gravity Forms contact form, and maps the fields. Within 20 minutes of onboarding, every new contact form submission from the client’s website is creating a contact in the client’s HighLevel CRM and firing the lead notification workflow.
Result: The client’s existing form integrations are preserved. HighLevel becomes an additional destination for form submissions – capturing leads that were previously only going to an email inbox.
Local Service Businesses – Squarespace Sites
A plumbing company has a Squarespace website with a built-in Squarespace contact form. The form is tightly integrated with Squarespace’s email notification system.
Replacing it with a HighLevel embed would require restructuring the page.
The agency installs the HighLevel tracking code in Squarespace’s custom code section and configures external form tracking for the contact form. All contact form submissions now create leads in the plumber’s HighLevel CRM with immediate SMS notification to the owner and an automated confirmation to the lead.
Result: The Squarespace form stays in place. HighLevel captures the lead data. The owner gets the immediate notification and automated follow-up that previously required manual action.
Real Estate – IDX Platform Forms
A real estate agent uses an IDX platform for property listings that includes its own contact forms. The IDX platform does not allow form replacement, but the forms do generate standard HTML form submissions.
HighLevel’s external form tracking, with the tracking code added to the IDX pages, captures submissions from IDX property inquiry forms and creates contacts in the agent’s HighLevel CRM. The agent’s lead follow-up workflow fires immediately on each inquiry.
Result: Property inquiry leads from the IDX platform – which previously required manual log-in to the IDX system to review – now appear in HighLevel automatically alongside leads from all other sources.
Professional Services – Existing CRM Forms
A law firm has a website with a complex intake form built in WPForms – 15 fields with conditional logic, integrated with the firm’s case management software. Replacing it with a HighLevel form would break the case management integration.
External form tracking captures the key fields – name, email, phone, practice area – and creates contacts in HighLevel with the appropriate tags and pipeline stage. The full intake data continues to go to the case management system.
HighLevel captures the marketing and CRM data needed for follow-up communications.
Result: Two systems receive form submission data – the case management software gets the full intake data, HighLevel gets the contact and lead data for marketing follow-up. Neither system requires the other to change.
E-Commerce – Platform-Native Checkout Forms
A small business runs an e-commerce store on Shopify. The Shopify checkout form cannot be replaced with a HighLevel form, but the HighLevel tracking code can be added to the Shopify store.
External form tracking captures customer contact information from the Shopify checkout form and creates or updates contacts in HighLevel. Post-purchase workflows fire immediately – sending a cross-sell email sequence, requesting a review, and adding the customer to the repeat buyer nurture sequence.
Result: Shopify checkout customers become HighLevel contacts with automated post-purchase follow-up – without migrating the store off Shopify or replacing the Shopify checkout.
Route your existing website form – no form replacement, no disruption, full CRM
Install the HighLevel tracking code and configure field mapping. External form tracking works on any standard HTML form.
Who Is This For?
Good fit if you…
- Have an existing website with forms you cannot or do not want to replace with HighLevel-native forms
- Use a website platform – Squarespace, Wix, Shopify – where HighLevel forms cannot be embedded natively
- Have forms that integrate with other systems and replacing them would break those integrations
- Are onboarding a client who has an existing website and want to immediately connect those leads to HighLevel without a major site rebuild
Not the right fit if you…
- Have simple contact forms that can easily be replaced with HighLevel-native embeds – embedding is simpler and more reliable than external tracking
- Use forms built with non-standard JavaScript frameworks where standard HTML form element tracking may not work reliably
- Need guaranteed capture of every single form submission – external form tracking via JavaScript can be affected by browser settings, ad blockers, and script loading issues in ways that native forms cannot
How to Set Up External Form Tracking
Step 1: Get the HighLevel tracking code
In the sub-account, go to Settings and find the tracking code section. Copy the JavaScript tracking snippet.
Step 2: Install the tracking code on the external website
Add the tracking code to the website’s header so it loads on every page. For WordPress: use the HighLevel plugin or a header/footer plugin.
For Squarespace, Wix, and similar platforms: paste in the site’s custom code section.
Step 3: Verify the tracking code loads
Visit the external website and check the browser’s developer tools to confirm the HighLevel tracking script is loading without errors.
Step 4: Examine the form’s HTML field names
Using browser developer tools, inspect the form on the external site. Note the name attribute value on each form input – these are the field identifiers used in the mapping configuration.
Step 5: Configure field mapping in HighLevel
In the sub-account’s tracking or attribution settings, find the external form tracking configuration. Map each external form field name to the corresponding HighLevel contact field.
Common mappings: email field name to Email, name field name to First Name, phone field name to Phone.
Step 6: Test with a live form submission
Submit the external form using a test email address. Check the HighLevel CRM – confirm a contact was created with the correct field values mapping as expected.
Step 7: Verify workflow triggers
Confirm that any workflows configured for new contact creation or form submission events are firing for external form submissions. The automated follow-up should start within seconds of submission.
Step 8: Monitor the first real submissions
After go-live, watch the first several real form submissions. Confirm contacts are being created with accurate field data.
Investigate any submissions that do not appear in the CRM.
Step 9: Consider embedding if tracking proves unreliable
If external form tracking produces intermittent failures – some submissions captured, some not – evaluate whether embedding a HighLevel form is now a more practical option than maintaining the tracking configuration.
How Does It Connect to HighLevel?
- Forms Builder: External Form Tracking and the HighLevel Forms Builder are alternative approaches to the same goal – getting form submissions into the CRM. Native forms are embedded on any page. External tracking captures existing forms on external sites. Both create contacts and fire workflows.
- Workflow Builder: Contact creation and form submission events from external form tracking trigger Workflow Builder automations. The automated follow-up – confirmation emails, lead notifications, pipeline assignments – runs the same as for native form submissions.
- WordPress Hosting and Integration: The WordPress plugin provides a more integrated external form capture approach for WordPress sites specifically. For non-WordPress sites, the tracking code and field mapping configuration is the appropriate method.
- Attribution Reporting: The page-level attribution data captured with each external form submission feeds into HighLevel’s attribution reporting – showing which pages on the external website are generating leads.
- Facebook Lead Ads Integration: External Form Tracking handles form leads from website forms. The Facebook Lead Ads Integration handles leads from Meta’s native lead forms in ads. Both route leads to the same HighLevel CRM – different sources, same destination.
Common Questions
HighLevel External Form Tracking captures third-party form submissions from external websites and creates CRM contacts – without replacing the existing forms. Install the HighLevel tracking code in the website header. Configure field mapping in the tracking settings to connect form field names to HighLevel contact fields. Test with a submission. Workflow triggers fire on external form submissions the same as native form submissions. For WordPress specifically, the HighLevel plugin provides a more integrated approach.
What is External Form Tracking in HighLevel?
A feature that captures form submissions from third-party forms on external websites and creates contacts in the HighLevel CRM – without replacing the existing forms. Works via the HighLevel tracking code installed on the external site.
How does HighLevel External Form Tracking work?
The HighLevel tracking code monitors form submissions on the external site. When a form is submitted, the tracking code reads the field values, maps them to HighLevel contact fields per the configuration, and creates or updates a CRM contact.
The original form continues to function normally.
Does HighLevel External Form Tracking require replacing existing website forms?
No. The existing form stays in place and functions as before. HighLevel’s tracking adds CRM capture in parallel without changing the form’s behavior.
How do I set up External Form Tracking in HighLevel?
Install the HighLevel tracking code on the external website header. Configure field mapping in the tracking settings – map external form field names to HighLevel contact fields.
Test with a submission and verify contact creation.
What types of external forms does HighLevel track?
Standard HTML forms – including WordPress form plugins (Gravity Forms, WPForms, Contact Form 7), Squarespace forms, Wix forms, and custom HTML forms. Non-standard JavaScript framework forms may require additional testing.
Can I trigger HighLevel workflows from an external form submission?
Yes. Contact creation and form submission events from external form tracking fire the same workflow triggers as HighLevel-native form submissions.
Is HighLevel External Form Tracking the same as the WordPress plugin?
The WordPress plugin includes form capture functionality achieving the same outcome for WordPress sites, with a more streamlined setup. External form tracking via the tracking code works across any website – including non-WordPress platforms.
Does HighLevel external form tracking capture all fields in the form?
Only fields explicitly mapped in the configuration. Fields not mapped are not stored in the CRM.
Can HighLevel attribute which page a form submission came from on an external website?
Yes. The tracking code records the page URL for each submission. This data is stored with the contact and is visible in attribution reporting.
What is the difference between External Form Tracking and embedding a HighLevel form on an external website?
Embedding replaces the existing form with a HighLevel-native form. External tracking keeps the existing form and adds CRM capture in parallel.
Use embedding when replacing is practical. Use external tracking when the existing form should remain.
To Wrap It Up
External Form Tracking closes the most common gap in a HighLevel implementation: the business already has a website with forms that are generating leads, but those leads are going to an email inbox rather than a CRM.
The path of least resistance – and least disruption – is external form tracking. The existing form stays.
The existing integrations stay. HighLevel adds a parallel data capture layer that routes submissions to the CRM and fires the follow-up automation.
The two conditions that make external tracking worth using over embedding are: the form is connected to another system that would break if the form was replaced, or the platform does not allow embedding third-party forms (Squarespace, some Wix configurations). In those cases, external tracking is the right tool.
For straightforward cases – a standard contact form on a website that has no other integrations – embedding a HighLevel form is simpler, more reliable, and gives more control over the form behavior. The tracking code approach has an inherent fragility that native forms do not: it depends on JavaScript loading correctly and is potentially blocked by ad blockers or aggressive browser security settings.
Here is how to get started:
- Get the HighLevel tracking code from Settings
- Install it in the external website’s header – HighLevel plugin for WordPress, custom code section for other platforms
- Use browser developer tools to inspect the form and note each input field’s HTML name attribute
- In HighLevel’s tracking settings, configure field mapping for each field to be captured
- Submit the form with a test email and verify the contact is created in the CRM
- Verify that any post-submission workflows are firing
- Monitor the first real submissions after go-live to confirm consistent capture
If submissions are appearing inconsistently – some captured, some not – check whether the form is using an unconventional submission method, whether the tracking script is loading before the form on the page, or whether a browser extension is blocking the script. These are the three most common causes of intermittent external form tracking failures.
Connect your existing website – leads captured, contacts created, follow-up
External Form Tracking works via the HighLevel tracking code on any website with standard HTML forms.
