Lead Source Tracking
Attribution tracking identifies exactly which marketing channels, campaigns, and traffic sources generate leads in your CRM. Instead of guessing where your best opportunities come from, you get concrete data showing whether Google Ads, Facebook campaigns, organic search, or referral traffic drives the most value for your business.
What Lead Source Tracking Does
The platform captures attribution data automatically when contacts interact with your forms, calendars, order forms, and chat widgets. The system records first attribution (initial touchpoint that brought someone to your site) and latest attribution (most recent interaction before conversion).
Navigate to Contacts, select any contact, then scroll to the Activity tab bottom right to view First Attribution and Latest Attribution panels. Each displays traffic source, medium, campaign name, and UTM parameters captured during that session.
The platform categorizes traffic into nine sources: Paid Search (Google Ads, Bing Ads), Paid Social (Facebook Ads, Instagram Ads, LinkedIn Ads), Organic Search (Google, Bing, Yahoo), Direct Traffic (typed URL or bookmark), Social Media (organic posts and links), Referrals (external website links), Others (calls, SMS, email, WhatsApp), CRM UI (manually added contacts), and Third-Party (Zapier, API integrations).
Key Configuration Options
UTM parameters: Build tracking URLs by appending five parameters: utm_source (platform origin like google or facebook), utm_medium (marketing medium like cpc or social), utm_campaign (campaign name), utm_content (ad differentiator), and utm_term (paid search keywords). Use question mark for first parameter and ampersands for subsequent ones.
Case-sensitive values: Attribution engine requires exact capitalization. Google Ads must use utm_source=adwords (not Adwords). Facebook Ads must use utm_source=fb_ad (not facebook). LinkedIn uses linkedin_ad, Twitter uses twitter_ad, Reddit uses reddit_ad.
Dynamic parameters: Google Ads supports {campaignname}, {adgroupname}, {keyword}, {creative}, {campaignid}, {adgroupid}, {matchtype}. Facebook Ads supports {{campaign.name}}, {{adset.name}}, {{ad.name}}, {{campaign.id}}. These placeholders auto-fill with actual campaign data.
External tracking script: Install on properties hosted outside the platform (WordPress, Webflow, Wix). Navigate to Settings > External Tracking, copy tracking script, paste before closing </body> tag. Script records page views, captures form submissions, and links activity to contacts once they submit a form.
Attribution reports: Access via Reports > Attribution Report to see contact count by source, opportunity value by source, closed revenue by source, and conversion rates by source. Filter by date range to track performance trends.
Campaign ROI
Attribution data becomes actionable when connected to revenue and conversions. Assign monetary values to opportunities or track closed deal amounts, and the platform automatically attributes revenue back to the original source.
Google Ad Reporting shows leads per campaign, cost per lead, campaign performance metrics, and ad group effectiveness. Facebook Ad Reporting displays campaign reach and frequency, lead count per ad set, creative performance, and audience targeting effectiveness. Both require correct UTM parameters and platform-side conversion tracking.
Attribution windows: The platform captures data at conversion moment (form submission, calendar booking, order completion). If someone views your site Monday via Google Ad but converts Wednesday via direct traffic, first attribution shows Google Ad while latest attribution shows direct traffic. For longer sales cycles, first attribution provides more accurate source intelligence.
Workflow integration: Use attribution data to trigger different automations based on lead source. Create workflows with filters for attribution source, campaign name, UTM parameters, or referring URL. This enables source-specific follow-up strategies where Facebook Ad leads enter different nurture sequences than organic search leads.
Pro Tips
- Standardize naming conventions across all channels. Use consistent format (lowercase_with_underscores or Title-Case-With-Hyphens), include date/offer/audience in campaign names (2026q1_webinar_saas_owners), and avoid special characters or inconsistent capitalization.
- Test before launch. Click your tracking URL, submit a test form, check contact record for proper attribution data, verify campaign parameters appear correctly, and confirm workflows trigger as expected. Testing takes five minutes and prevents weeks of missing data.
- Review attribution data weekly. Identify sudden drops in source volume (tracking might be broken), spot new referral sources worth nurturing, compare cost per lead across channels, and adjust budget allocation based on performance trends.
- Use negative scoring for bad data. Email bounces, unsubscribes, and appointment cancellations signal disengagement. Subtract points from lead scores to avoid wasting time on contacts who are no longer viable.
- Segment by source value. Look for sources delivering high volume (most contacts), high quality (leads that convert to opportunities and close), and low cost (lowest acquisition cost). A channel generating 100 leads at $10 each with 2% conversion may underperform a channel generating 20 leads at $25 each with 15% conversion.
Common Questions
Why does the contact show Direct Traffic when I know they clicked an ad?
Missing or incorrect UTM parameters on the ad’s destination URL. Verify final URL includes all required parameters with correct values and capitalization. Also confirm visitor completed conversion on same page where they landed. If they clicked through to another page before submitting, UTM data is lost.
Can I change attribution after a contact is created?
First attribution is locked once set. Latest attribution updates automatically each time the contact triggers a new attribution event. You cannot manually edit attribution values directly.
Do phone calls capture attribution?
Incoming calls are tagged with “Others” as source. The platform cannot automatically detect what caused someone to call. Use call tracking numbers with forwarding rules tied to specific campaigns if you need call attribution.
Why don’t I see any attribution data for external form submissions?
First, verify external tracking script is installed on the page. Second, confirm form uses real <form> HTML element (not iframe or JavaScript widget). Third, check form includes email field and submissions successfully create contacts. Enable debug mode on tracking script to view console logs.
Can I trigger workflows based on specific UTM parameters?
Yes. Use Page Visit or Form Submitted trigger types in workflows, then add filters for specific UTM values. This routes leads into different automation sequences based on which ad campaign or traffic source brought them in.