Telehealth clinics · Purchase tracking
Purchase tracking from GoHighLevel, with no pixel on your prescription pages
Your ads need to know what sold. Your store pages should not report who looked at which treatment. We send each paid purchase from a GoHighLevel (GHL) workflow to your ad-attribution tool, and keep every pixel and third-party analytics script off the store.
The job
Reporting sales to your ads without a script on the store
Ad platforms learn from purchases, and the usual way to tell them is a pixel: a script placed in each page that reports the visit. Meta's developer documentation calls its pixel JavaScript that tracks visitor activity, and lists what it can collect from the browser's request headers, including the IP address and the address of the page. On a prescription store, the address of a product page names a treatment.
So the store carries no pixel at all. For a telehealth clinic we kept every ad-tracking pixel and every third-party analytics script off the store pages, the clinic's own attribution tool included. It is our build rule for prescription pages. It is not legal advice, and whether your clinic may use any tracking tool is a question for your compliance adviser.
Purchases go out from HighLevel instead. When an invoice is paid, a HighLevel workflow sends a webhook to the clinic's ad-attribution tool, and the tool takes it from there. The message leaves from the workflow, not from the patient's browser. It carries purchases only: the build sends no lead events and no page views.
What the webhook carries is a choice, made in writing. HighLevel's standard outbound webhook sends the contact's standard fields and every custom field by default, along with the location's details. Its Custom Webhook action lets the body be written field by field, with the tool's key sent in a request header rather than the URL. A clinic's contacts can hold far more than an attribution tool needs, so the plan document lists each value the feed sends, and the clinic approves that list before we build.
The fix that made it reliable. For a while, some paid orders never reached the attribution tool. Other automations in the account acted on the same contacts first and pulled them out before the webhook step ran. We added wait steps so the purchase goes out before anything else moves the contact, and paid orders have reached the tool reliably since. HighLevel's help center describes a related timing problem it calls a race condition, where two updates in the same second run out of order, and its answer is also a Wait step.
Checked at both ends. HighLevel's execution logs show that the webhook step ran, but not what it sent, so a test purchase is also checked in the attribution tool.
What we set up
What goes into the purchase feed
- Nothing added to the store pages: no pixel, tag or analytics script
- A workflow that starts when an invoice is paid
- A webhook from that workflow to your ad-attribution tool, carrying the purchase only
- A field list in the plan document: every value the feed sends, approved by your clinic
- The tool's key sent in a request header, as HighLevel advises, never in the URL
- Wait steps so no other automation pulls a contact out before its purchase is sent
- A test purchase confirmed in HighLevel's execution log and in your attribution tool
How a setup runs
How the feed gets built
A 1:1 with Rob
Rob asks which attribution tool you use and what it expects for a purchase, then looks in your HighLevel account at what already runs when an order is paid.
The plan document
The plan names the trigger, the destination and every field the feed sends. Anything not on that list stays in HighLevel. You approve it before we build.
Build, then timing
We build the workflow, then go through every other automation that touches a paid order, so none of them moves the contact before the purchase has gone out.
Test purchases and the QA report
A test order goes through checkout. We confirm the step in HighLevel's execution log and the purchase in your attribution tool, and the QA report shows both, with screenshots.
Changes later
Want another event in the feed? It gets a verdict first, inside the agreed scope or new scope, and its fields go through the same approval as the first list.
What you bring
What the feed needs from you
Your attribution tool
The tool you already use to report conversions to your ad platforms, and the address it receives events on.
Its key and format
The key or token the tool asks for, and the fields it expects on a purchase.
If your tool allowlists IPs
HighLevel's help center says it offers no static IP allowlist for webhooks, so a tool that accepts only known IP addresses needs another way in.
Your automation list
The automations that run when an order is paid, or access for us to read them, so the timing can be checked.
Who signs off the fields
The person at your clinic who approves which values may leave HighLevel.
Where it stops
The feed sends purchases only: no leads, no page views, and no script on the store. We don't choose your attribution tool or decide what your agreement with it allows, and we promise no ad results. Nothing here is legal advice.
Services used
Set up alongside this job
HighLevel workflow automation
Nurtures, reminders, no-show recovery and reactivation, written out word for word and walked through by a test contact before launch.
See Workflow automationMeta Conversions API setup
Conversion events sent from HighLevel workflows, with one primary event on the deepest paid step and each event tested in Events Manager.
See Meta Conversions API setupQuestions
What clinics ask about tracking without pixels
Can we see which ads sell without a pixel on the store?
Why not just put the Meta pixel on our product pages?
Does the webhook send the whole patient record?
What if a paid order never reaches the attribution tool?
Does the feed send leads or form fills too?
How do we know the feed is working?

Who you talk to
Rob Eason
Rob runs HLAI Experts and takes the 1:1 calls himself.
He is a HighLevel Certified Admin with the second-most reviews in HighLevel's Certified Admin Directory worldwide, all of them 5 out of 5.
He won HighLevel's Top New Subaccounts via AI Employee award in its 2025 Summer of AI Awards and taught HighLevel's official masterclass on its AI Employee.
Before HighLevel, he co-owned a 60-employee financial services firm and sold his share.
On the call he looks at your account, not a script.
5/5 across 83 reviews in HighLevel's Certified Admin DirectoryTalk through your purchase feed with Rob
Bring the name of your attribution tool. In 30 minutes Rob looks at what runs in your HighLevel account when an order is paid and says what the feed would send.