
- ClickFlare → HighLevel: ClickFlare passes its click ID to your funnel page, and the form saves it on the contact in a custom field.
- HighLevel → ClickFlare: when a workflow reaches the step you choose, the Custom Webhook action sends the conversion to ClickFlare with that click ID.
At a glance
To set up GoHighLevel with ClickFlare:- Create conversions, campaign and offer.
- Create the click ID custom field.
- Save the click ID from the form.
- Add the Custom Webhook action.
- Write the body and repeat.
How the data flows
What you’ll need
- A ClickFlare account with your own tracking domain. See Tracking domains.
- A HighLevel account with workflows, and a form or funnel that can keep a URL parameter in a hidden field.
- Access to add the Custom Webhook action. HighLevel bills some workflow actions per execution as premium actions. Check in your account whether Custom Webhook is one of them before you send high volume through it.
Setup
Set up your own tracking domain
trk.yourdomain.com, under Tracking domains. Every Custom Webhook action points at it.Create a custom conversion for each step
ct value the workflow sends. It must match exactly. See Custom conversions.Create the campaign and add your funnel page as the offer
Create the click ID custom field
Save the click ID from the funnel form
cf_click_id URL parameter. Check your form builder’s field settings for the option that fills a field from the URL. HighLevel’s help center doesn’t document it in the article this guide is based on, so test with one submission and check the contact record.If your funnel has several pages, the click ID must reach the page with the form. Keep the parameter on links between pages, or put the form on the first page.Add the Custom Webhook to a workflow
Configure it as a JSON POST
- Set Event to CUSTOM. This shows Method, Content-Type and the Raw Body editor.
- Set Method to POST.
- Enter the URL
https://trk.yourdomain.com/cf/cv. - Set authorization to none. ClickFlare’s postback doesn’t need it.
- Set Content-Type to
application/json. - In Raw Body, write the JSON and insert the click ID field with the tag icon (the dynamic value picker):
CLICK_ID_FIELD with the dynamic value the picker inserts for your ClickFlare Click ID field. It looks like {{contact.id}} but with your field’s key. Keep the quotes around it.For a sale, add "txid" with a value unique per conversion, such as an opportunity or order ID, so several sales on one click stay apart. See Steps, payout and duplicates.Click Save Action.Repeat for each step
ct. Then test (see Verify the setup).Option: GET postback with query parameters
Use Event = GET if you prefer the URL postback. It carries the same values as the JSON body,txid included. GET sends no body. Add these under Query Parameters, using the tag icon for dynamic values:
click_id in the URL and cf_click_id in a JSON body.
Steps, payout and duplicates
One step, onect. A conversion with a different ct on the same click is added as a new conversion. A contact who opts in, books and buys shows once in each column, so you see cost per lead, cost per booked call and cost per sale side by side.
Payout from the sale. HighLevel’s dynamic values cover contact, opportunity and other workflow data. On the sale webhook, insert the opportunity value or order amount with the tag icon. Send 0 on earlier steps so revenue isn’t counted twice.
Repeats. Without txid, the same ct arriving twice for one click counts as one conversion, which protects you if a contact re-enters a workflow. For several sales per click, send a unique txid in the JSON body or the GET query.
Choose what the ad platform sees. Each custom conversion is mapped to the traffic source postback separately, so you can send only booked or sale to the ad platform.
Verify the setup
Click through the campaign
cf_click_id= and a real click ID, not the text {cf_click_id}.Submit the form
Run the workflow
Check ClickFlare
ct and payout on the campaign you clicked through.Send ClickFlare conversions to HighLevel (optional)
To go the other way, for example to tag a contact or move an opportunity when ClickFlare records a purchase from your checkout, use the Custom Webhook integration. Go to Integrations → Conversion API → New integration, choose Webhooks, map the event, choose POST and put macros such as{cf_click_id} and {payout} in the body.
On the HighLevel side, a workflow can start from an incoming webhook with the Inbound Webhook trigger, which HighLevel lists as a premium trigger. The workflow then finds the contact by the click ID and acts on it. Without it, use Zapier, Make or n8n to receive the webhook and update HighLevel.
Troubleshooting
The click ID field is empty on new contacts
The click ID field is empty on new contacts
- The hidden field isn’t set to read
cf_click_idfrom the URL, or reads a different parameter name. - The form is on a later funnel page and the parameter was lost on the way.
- A lander’s CTA links straight to the funnel instead of using the ClickFlare click URL.
- The campaign uses direct tracking, so the click ID isn’t in the URL. See Direct tracking.
There's no Raw Body or Content-Type field
There's no Raw Body or Content-Type field
The webhook ran but no conversion shows
The webhook ran but no conversion shows
- The raw body has a literal field name instead of the dynamic value, or the field was empty on that contact.
- The body uses
click_idinstead ofcf_click_id, or Content-Type isn’tapplication/json. - The
ctvalue doesn’t match a custom conversion’s parameter exactly.
400 or 422 in the execution logs
400 or 422 in the execution logs
FAQ
Does ClickFlare integrate with GoHighLevel?
Does ClickFlare integrate with GoHighLevel?
Custom Webhook or Webhook (Outbound)?
Custom Webhook or Webhook (Outbound)?
Can I track the opt-in without a workflow?
Can I track the opt-in without a workflow?
ct=lead, and use workflows only for later steps.Do I need a specific workflow trigger?
Do I need a specific workflow trigger?
Can I send extra data, like the calendar or product?
Can I send extra data, like the calendar or product?
param1 to param20 to the JSON body or the query parameters. ClickFlare stores them with the conversion.