Lead Source Tracking Setup
Find out exactly which marketing channels drive the most valuable leads. This guide walks you through setting up attribution tracking, UTM parameters, and channel-specific workflows.
Prerequisites
Before you begin, make sure you have:
- Admin access to your GoHighLevel sub-account
- Website or landing pages where you want to track lead sources
- Active marketing campaigns (Google Ads, Facebook Ads, email campaigns, organic search)
- A list of campaign names and channels you want to track
Install External Tracking Script
Enable attribution tracking on websites and landing pages hosted outside GoHighLevel.
- Navigate to Settings in the left sidebar
- Click External Tracking in the settings menu
- Copy the tracking script displayed on the page (it looks like a JavaScript snippet)
- Open your website’s code editor or page builder
- Locate the closing
</body>tag on every page you want to track - Paste the tracking script directly before the
</body>tag - Save and publish your website changes
- Test by visiting your site and submitting a test form
- Go to Contacts and verify the test contact shows attribution data
The tracking script must appear on every page to capture page views and form submissions correctly.
Set Up Google Ads Attribution
Track which Google Ads campaigns, ad groups, and keywords generate leads.
- Log in to your Google Ads account
- Navigate to Settings → Account Settings
- Click Tracking or URL Options
- Add this tracking template to your Final URL suffix field:
?utm_source=adwords&utm_medium={adname}&utm_campaign={campaignname}&utm_content={adgroupname}&utm_keyword={keyword}&utm_matchtype={matchtype}&campaign_id={campaignid}&ad_group_id={adgroupid}&ad_id={creative}
- Click Save
- Return to GoHighLevel
- Create a test lead by clicking one of your ads
- Go to Contacts and verify the new contact shows:
- Source: adwords
- Medium: Your ad name
- Campaign: Your campaign name
- Check Reports → Attribution Report to confirm Google Ads traffic appears
Attribution must use utm_source=adwords (all lowercase). Do not use “AdWords” or “Google Ads” because the system is case-sensitive.
Set Up Facebook Ads Attribution
Track which Facebook and Instagram campaigns drive conversions.
- Log in to Facebook Ads Manager
- Navigate to Campaigns and select a campaign
- Click into an ad set, then click into an individual ad
- Edit the ad and find the Website URL field
- Add these parameters to the end of your URL:
?utm_source=fb_ad&utm_medium={{adset.name}}&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&campaign_id={{campaign.id}}
- Click Publish
- Repeat for all active ads
- Return to GoHighLevel
- Create a test lead by clicking one of your ads
- Go to Contacts and verify the new contact shows:
- Source: fb_ad
- Campaign: Your campaign name
- Check Reports → Attribution Report to see Facebook traffic
Do not use utm_source=facebook. The system requires utm_source=fb_ad for proper categorization.
Build UTM Tracking URLs for Other Campaigns
Create trackable links for email campaigns, social media posts, and partner referrals.
- Start with your destination URL (example:
https://yoursite.com/landing-page) - Add a question mark, then append these parameters:
utm_source=(platform or origin: newsletter, linkedin, partner_site)utm_medium=(marketing channel: email, social, referral)utm_campaign=(specific campaign: spring_sale, webinar_promo)utm_content=(optional: ad variation or link placement)
- Connect parameters with ampersands (&)
- Example final URL:
https://yoursite.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale&utm_content=cta_button
- Use this URL in your email campaigns, social posts, or partner materials
- Test by clicking the link and submitting a form
- Go to Contacts and verify attribution data appears
Keep all parameter values lowercase with underscores (no spaces). This prevents duplicate entries in reports.
Configure Source-Based Workflows
Route leads into different automation sequences based on where they came from.
- Go to Automation → Workflows
- Click Create Workflow → Start from Scratch
- Add trigger: Form Submitted
- Click Add Filter
- Select Attribution Source from the dropdown
- Choose the condition: is equal to
- Enter the source name:
fb_adoradwordsororganic - Click Save Trigger
- Add actions specific to this source:
- Send a source-specific welcome email
- Add a tag like “Facebook Lead” or “Google Lead”
- Assign to a specific team member
- Create an opportunity in a source-specific pipeline
- Click Save Action
- Toggle Draft → Publish
Create separate workflows for each major traffic source to tailor follow-up based on lead awareness and intent.
Test Your Setup
Verify attribution tracking works across all channels before launching campaigns.
- Visit your website from different sources:
- Click a Google Ad
- Click a Facebook Ad
- Click a UTM-tagged email link
- Type your URL directly (tests direct traffic)
- Submit a test form on each visit
- Go to Contacts and locate each test contact
- Scroll to Contact Details → Activity and check the First Attribution and Latest Attribution sections
- Verify each shows the correct source, medium, and campaign name
- Navigate to Reports → Attribution Report
- Confirm all test sources appear in the report
If attribution data is missing, verify the external tracking script is installed and the URL includes correct UTM parameters.
Next Steps
With lead source tracking active, optimize your marketing strategy:
- Review the Lead Source Tracking guide for advanced reporting and attribution windows
- Set up Opportunities workflows to track revenue by source
- Add Dashboard widgets to monitor source performance in real-time
- Create weekly attribution reports to identify top-performing channels
- A/B test different UTM campaign names to track offer performance
- Use source data to adjust ad spend and focus budget on high-converting channels