Atribu
Integrations

GoHighLevel (GHL)

Connect GoHighLevel to sync contacts, opportunities, appointments, and pipeline stages for full-funnel attribution.

GoHighLevel (GHL)

The GoHighLevel integration brings your CRM data into Atribu. It syncs contacts, opportunities (deals), and calendar appointments so you can track every step of your sales funnel -- from ad click to closed deal.


What you get

  • Contacts synced with Atribu's identity graph (name, email, phone)
  • Opportunities with deal values, pipeline stages, and UTM attribution data
  • Calendar appointments merged into Atribu's Calendar view
  • Full-funnel tracking from first ad click through to closed deal

Connecting GoHighLevel

Open Integrations

Go to Settings > Integrations in your Atribu workspace.

Start the connection

Click Connect next to the GoHighLevel card. You will be redirected to the GHL Marketplace.

Select your location

Choose the GHL location (sub-account) you want to connect. Each location connects to one Atribu profile.

Authorize permissions

Grant Atribu the requested permissions:

  • Contacts -- read contact data (name, email, phone)
  • Opportunities -- read deal data (stage, value, attribution)
  • Locations -- identify your sub-account
  • Calendars & Events -- read appointment data

Verify the connection

Back in Atribu, the GHL card should show Connected. Atribu will begin importing your contacts and opportunities.


What syncs

Contacts

Every GHL contact is linked to Atribu's identity graph using email and phone number. This creates a unified customer profile that connects the contact to their website visits, ad clicks, and payments.

DataDescription
NameFirst and last name
EmailPrimary email address
PhonePrimary phone number
SourceWhere the contact came from (form, ad, referral)

Opportunities (deals)

GHL opportunities carry rich attribution data that Atribu reads to connect deals back to ad campaigns.

DataDescription
Pipeline stageCurrent stage (e.g., New Lead, Qualified, Closed Won)
Deal valueMonetary value of the opportunity
ContactLinked contact with identity data
UTM dataCampaign, source, medium, and click IDs from the lead's origin
Stage historyTimeline of stage changes

Calendar events

GHL appointments are synced and displayed in Atribu's Calendar view, merged with tracked events from your website.

DataDescription
Appointment timeStart and end time
ContactLinked contact information
Assigned userTeam member responsible
Calendar nameWhich calendar the appointment belongs to
StatusConfirmed, cancelled, no-show, etc.

Pipeline stage mapping

GHL organizes deals into pipelines with stages. For example:

Example sales pipeline
New Lead  -->  Qualified  -->  Proposal Sent  -->  Closed Won

Atribu maps each stage to a conversion type so it can track your funnel:

Stage keywordConversion type
Contains "lead" or is the first stagelead_created
Contains "appointment" or "booked"appointment_booked
Contains "won" or "closed"closed_won

You can customize this mapping in Settings > Outcomes to match your specific pipeline stages.


Pipeline values vs real revenue

Pipeline values are NOT used for ROAS

GHL deal values represent what you expect to earn -- not what you have actually collected. A $5,000 deal in your pipeline might close for $3,000, get renegotiated, or fall through entirely.

Atribu tracks pipeline values separately as pipeline revenue and displays them in their own section of the dashboard. They are never included in ROAS calculations. Only confirmed payments from Stripe or MercadoPago count for ROAS.


Calendar merge

GHL appointments appear in Atribu's Calendar view alongside events tracked from your website. Atribu merges data from both sources:

  • GHL data: real-time appointment status, calendar name, assigned team member
  • Atribu data: attribution information (which ad campaign brought this customer)

When both sources have data for the same appointment, they are merged into a single entry with the best of both worlds.


UTM attribution from GHL

When a lead comes from a Meta or Google ad, GHL captures the campaign information from the click. Atribu reads this data to attribute the lead back to the correct campaign, ad set, and ad.

This means that even if a lead fills out a form directly on Facebook (using a Meta Lead Form) and goes straight into GHL without visiting your website, Atribu can still identify which ad campaign generated the lead.

Synthetic touches for off-site leads

When a lead enters GHL from a Meta lead form (not from your website), there is no website visit to track. Atribu automatically creates synthetic touches -- virtual touchpoints that represent the ad interaction. This ensures these leads are included in your attribution reports, even without a website session.

Learn more in Synthetic Touches.


Troubleshooting

Contacts are missing names

Some GHL contacts are created through opportunities rather than the contacts list. In these cases, the name may not be available during the initial sync. Atribu will backfill names as more data becomes available from subsequent syncs.

Opportunities are not syncing

  • Check that the connection status shows Connected in Settings > Integrations
  • Make sure the GHL location has at least one pipeline with opportunities
  • If you recently added a new pipeline, trigger a manual sync

Appointments are not showing in Calendar

Calendar sync requires the Calendars and Calendar Events permissions. If these were not granted during setup:

  1. Go to Settings > Integrations
  2. Disconnect GoHighLevel
  3. Reconnect and make sure all permissions are granted

On this page