Facebook Ads — What's Working
Leads and sales per ad, straight from your GoHighLevel data. Refreshes every 60 seconds.
📊 Overview
Leads
0
Purchases
0
Revenue
$0
Lead-to-Sale Rate
0%
Recent Activity
| When | Event | Person | Campaign | Ad Set | Ad | Revenue |
|---|---|---|---|---|---|---|
| No events yet — send a test event from Setup below. | ||||||
What this tracks
- Which campaign, ad set, and ad produced each lead
- Which ad produced each sale and how much revenue
- Lead-to-sale rate and revenue per lead, per ad
- Bump, upsell, and abandoned-cart events when you add them later
What it does not track
- Clicks and spend — those live in Meta Ads Manager
- Phone numbers, addresses, or health information
- Anything about visitors before they become a lead
- No cookies are set on your visitors at all
📣 Campaigns
| Campaign | Leads | Purchases | Revenue | Lead-to-Sale Rate | Revenue per Lead |
|---|---|---|---|---|---|
| No data yet. | |||||
🎯 Ad Sets
| Ad Set | Campaign | Leads | Purchases | Revenue | Lead-to-Sale Rate |
|---|---|---|---|---|---|
| No data yet. | |||||
🎨 Ads
| Ad | Ad Set | Campaign | Leads | Purchases | Revenue | Lead-to-Sale Rate |
|---|---|---|---|---|---|---|
| No data yet. | ||||||
🔎 Lookups
Which ad did this person come from?
Type an email address to see every recorded touch, or delete everything stored about them.
| When | Event | Campaign | Ad Set | Ad | Revenue |
|---|---|---|---|---|---|
| Search results appear here. | |||||
⚙️ Setup & Privacy
Connect GoHighLevel — 5 minutes, do this once
- In GoHighLevel: Automation → Workflows → New Workflow (name it "Ad Tracker — Leads").
- Add trigger Form Submitted (or Contact Created).
- Add action Webhook (under Integrations / External). Method: POST.
- Paste this URL (it includes your access key automatically):
Save your access key in the sidebar first, then this URL appears here.
In the webhook body, add these keys and values exactly. GoHighLevel fills the values in for each contact:
| Key (type this) | Value (paste this) |
|---|---|
event | lead (just the word) |
email | {{contact.email}} |
name | {{contact.name}} |
utm_source | fb_ad (just the word) |
utm_campaign | {{contact.attributionSource.utmCampaign}} |
utm_medium | {{contact.attributionSource.utmMedium}} |
utm_content | {{contact.attributionSource.utmContent}} |
campaign_id | {{contact.attributionSource.campaignId}} |
fbclid | {{contact.attributionSource.fbclid}} |
- Save and switch the workflow ON.
- Repeat with a second workflow for sales: trigger Order Form Submitted (or Payment Received), set
eventtopurchase, and addrevenuewith the order amount field GoHighLevel shows in the merge-field picker. - Click Send test event below to confirm the tracker hears you:
Later, extra events need no changes here — just post with event=bump, event=upsell, or event=abandoned_cart from any workflow.
Stored in this tracker
- Name and email address
- UTM tags and campaign ID from the ad
- Facebook / Google click IDs
- Event type, revenue, timestamp
Never stored here
- IP addresses or visitor devices
- Phone numbers or addresses
- Health or symptom information
- Cookies (none are ever set)
Built-in privacy protections. Records auto-delete after 90 days (checked on every event).
Deletion requests take one click — use "Delete their data" in Lookups. The whole dashboard is locked
behind your access key. Emails are masked in activity lists.
Privacy page blurb — copy and paste onto your site
We use first-party advertising measurement to understand which advertisements are
effective. If you become a lead, we store your name, email address, and the
advertising tags (UTM parameters) from the link you clicked, and we record the
purchases you make, for up to 90 days. We do not sell or share this information.
We do not track you across other companies' websites. To request deletion of your
data, contact us and we will remove it promptly.
As you grow — when to add each layer
- Getting real traffic now: nothing more needed — this is enough to pick winning ads.
- ~$100/day in sales: add Meta's Conversions API in GoHighLevel so Facebook optimizes for buyers.
- Multiple offers / bigger lists: move storage from KV to a real database, add per-person consent records.
- Any EU / UK traffic: add a consent banner before the ad pixel loads.
- Team members need access: put Cloudflare Access in front of this dashboard.
Data auto-deletes after 90 days. Last refresh: never.