Atribu
Concepts

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.

Loading diagram...

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

On this page