Synthetic Touches
How Atribu attributes off-site conversions that never visit your website
Not every lead visits your website. Some conversions happen entirely off-site — and Atribu still attributes them.
The problem
When someone fills out a Meta lead form (a form shown directly on Facebook or Instagram, without visiting your website), the lead goes straight to GoHighLevel. There's no website visit, no page view, no tracker event. But the lead DID come from a specific ad campaign.
Without synthetic touches, these leads would show up as "unattributed" — even though Meta knows exactly which campaign drove them.
This affects ~60% of GHL leads
For businesses using Meta lead ads with GoHighLevel, most leads arrive via native forms. Without synthetic touches, more than half of your leads can't be attributed to their campaigns.
How synthetic touches work
When Atribu detects a conversion that has campaign data (from GHL's attribution) but no website visit, it creates a synthetic touch — an artificial touchpoint that represents the off-site interaction.
Lead fills out Meta form
A potential customer sees your Instagram ad and fills out the lead form directly on Instagram. They never visit your website.
GHL receives the lead
GoHighLevel creates a contact and opportunity. The opportunity includes attribution data from Meta: campaign ID, ad set ID, ad ID.
Atribu syncs the data
Atribu syncs the GHL opportunity and creates a conversion event. It sees the campaign data but finds no matching web touches.
Synthetic touch created
Atribu creates a synthetic touch with the campaign data from GHL. This allows the attribution engine to assign credit to the correct campaign.
Rules
Synthetic touches follow strict rules to avoid double-counting:
- Only created when there are no existing web touches for that customer before the conversion
- Idempotent: running the process again doesn't create duplicates
- No session data: synthetic touches have no session, page views, or device info (the customer never visited the site)
- Dashboard metrics unaffected: visitor, session, and pageview counts come from actual web data, not synthetic touches
Where they appear
In the customer journey timeline, synthetic touches are marked with is_synthetic: true. They show the campaign that drove the lead but don't have page/URL data.
Visibility in the dashboard
Synthetic touches affect attribution data (ROAS, campaign revenue) but NOT traffic metrics (visitors, sessions, pageviews). Your visitor counts remain accurate — they only count real website visits.
Impact on attribution
Without synthetic touches, a business running Meta lead ads might see:
- 100 leads in GHL
- Only 40 attributed to campaigns (the ones who visited the website)
- 60 "unattributed" leads
With synthetic touches:
- 100 leads in GHL
- 95+ attributed to campaigns
- Accurate ROAS showing the true return on your Meta ad spend