Google Ads Attribution (GCLID)
CustomerFlows automatically captures the Google Click ID (GCLID) when a visitor arrives on your website from a Google Ad. This ID connects the specific campaign, ad group, and keyword that produced the click to the deal in your pipeline -- all the way through to closed revenue.
GCLID attribution is available on all tiers, including Starter.
How It Works
- A homeowner searches "AC repair near me" on Google
- They click your Google Ad, landing on your website with
?gclid=abc123in the URL - The CustomerFlows tracking snippet captures the GCLID automatically
- The visitor messages you on WhatsApp or submits a form
- The lead is created with the GCLID attached
- The deal moves through your pipeline to Closed/Won
- The attribution dashboard shows: this deal came from your "Emergency AC Repair" campaign, "AC repair near me" keyword, and generated $8,500 in revenue
No manual tagging, no UTM parameters, no spreadsheet matching. It's automatic.
Prerequisites
- Tracking snippet installed on your website (see Installing Website Tracking)
- Auto-tagging enabled in your Google Ads account (this is on by default -- most advertisers don't need to change anything)
- The tracking snippet must be on the same page where the Google Ad sends traffic. If your ad points to a landing page that doesn't have the snippet, the GCLID won't be captured.
Verifying GCLID Capture
Quick test:
- Click one of your own Google Ads (search for one of your keywords in Google)
- When the landing page loads, check the URL bar -- you should see
?gclid=followed by a long string - Wait 2-3 minutes
- Go to Analytics, then Attribution in CustomerFlows
- You should see a visit attributed to the Google Ads campaign
If the GCLID isn't in the URL:
- Check that auto-tagging is enabled in Google Ads: go to Settings, then Account Settings, then Auto-tagging
- Some URL shorteners or redirect tools strip parameters. Test the full landing page URL.
If the GCLID is in the URL but doesn't appear in CustomerFlows:
- The tracking snippet may not be installed on that specific landing page
- A caching layer may be serving a stale page without the snippet
- See Tracking Not Working for detailed troubleshooting
What You'll See in the Dashboard
Once GCLID data is flowing, the Analytics, then Attribution dashboard shows:
| Column | Data Source |
|---|---|
| Campaign name | Pulled from GCLID via Google Ads |
| Ad group | Pulled from GCLID |
| Keyword | The search term that triggered the ad |
| Leads | Number of leads from this campaign |
| Deals closed | Number of deals that reached Won |
| Revenue | Total closed deal value |
| ROAS | Revenue divided by ad spend |
This data takes 1-4 weeks to become statistically meaningful, depending on your lead volume.
Best Practices
Install the snippet on every page. If your Google Ads campaigns send traffic to different landing pages, every one needs the tracking snippet. A single missing page creates a gap in your attribution data.
Don't strip URL parameters. If you use a redirect tool, URL shortener, or custom routing that removes query parameters, GCLID capture will fail. Test your full ad flow end-to-end.
Review attribution monthly. Don't make budget decisions on less than 30 days of data. After 30 days, look at ROAS by campaign and reallocate from low-ROAS to high-ROAS campaigns.
FAQ
Does this work with Google Local Service Ads? Google LSAs don't use GCLID in the same way. LSA leads are typically phone calls, not website visits. CustomerFlows tags LSA leads separately when they enter the system through other channels. Full LSA attribution tracking is on our roadmap.
Do I need to set up UTM parameters too? No. GCLID capture is more accurate than UTM parameters because the ID is unique to each click and maps directly to Google's internal campaign data. UTMs are not required.
What if a customer clicks my ad but messages me days later? The GCLID is stored in the visitor's browser session. If the customer returns to your site within 90 days and converts, the original GCLID is still associated. However, if they message your WhatsApp number directly without returning to the site, the connection depends on identity resolution (matching the WhatsApp contact to the previous website visitor).
Related
- Attribution Overview -- How attribution works end-to-end
- Meta Ads Attribution (FBCLID) -- Meta Ads tracking
- Reading the Attribution Dashboard -- Interpreting your data
- Installing Website Tracking -- Snippet installation
Need help? Email [email protected] or ask in r/CustomerFlows.