Table of Contents
First-touch tracking records how you first acquired a prospect. Last-touch tracking records a later interaction before a conversion. Keeping both can help you understand a longer sales journey, provided you define when each field is saved and updated.
The Multi-Touch Attribution Divide
Consider a typical B2B buyer journey:
- Day 1: Prospect clicks a LinkedIn Sponsored Post (
utm_source=linkedin&utm_campaign=brand-awareness) and reads a blog post. No form submission. - Day 14: Prospect Googles your brand, clicks an organic search result, and downloads a whitepaper.
- Day 30: Prospect clicks a retargeting ad on Google Display (
utm_source=google&utm_medium=cpc&utm_campaign=retargeting-demo) and requests a demo.
A last-touch view may give most or all recorded credit to Google Display even when LinkedIn helped introduce the prospect. A first-touch view answers a different question and may not show which later interaction influenced the decision. Compare attribution models and CRM touchpoints when evaluating the journey.
First-Touch in GA4 vs First-Touch in Your CRM
- In GA4: Represented by First user source / medium and First user campaign. These are user-scoped reporting dimensions, not a promise that the original UTM strings are stored in a readable browser cookie.
- In CRM (HubSpot/Salesforce): Represented by
Original Sourceor custom fieldsFirst Touch Source. Define whether the value means first recorded tagged visit or source at lead creation, and document when corrections are allowed.
Last-Touch in GA4 vs Last-Touch in Your CRM
- In GA4: Represented by Session source / medium and Session campaign. These are session-scoped dimensions; event-level conversion attribution can use a different model.
- In CRM: Represented by
Last Touch Source. Overwritten every time a known lead fills out a new form, attends a webinar, or converts on an offer.
How to Implement Dual-Capture in Client-Side Storage
The following pseudocode illustrates an update rule, not a production implementation. Run permitted storage only under your consent policy, store complete campaign bundles with timestamps, and test expiration and unavailable storage. Requested cookie lifetimes can be shortened by browser rules:
// Pseudocode for Dual-Touch Storage
function storeTouchpoints(utmParams) {
// If first-touch cookie does not exist, write it once
if (!getCookie('ft_utm_source') && utmParams.source) {
setCookie('ft_utm_source', utmParams.source, 365); // 1-year expiry
setCookie('ft_utm_campaign', utmParams.campaign, 365);
}
// Always overwrite last-touch cookie with fresh session data
if (utmParams.source) {
setCookie('lt_utm_source', utmParams.source, 30);
setCookie('lt_utm_campaign', utmParams.campaign, 30);
}
}
How to Report Both Models to Leadership
Present side-by-side pipeline contribution: credit top-of-funnel channels for Pipeline Created using first-touch data, and credit bottom-of-funnel channels for Deals Closed using last-touch data.
Define the update rule before testing storage
For a custom first tagged touch / latest tagged touch model, use this illustrative acceptance test. This is a CRM convention, not a reproduction of GA4 attribution.
| Test visit | First tagged touch | Latest tagged touch |
|---|---|---|
| New visitor: linkedin / paid_social / awareness | Save the complete LinkedIn bundle once. | Save the same bundle and timestamp. |
| Later untagged visit | Retain the existing bundle if it is still available. | Retain it only if your documented model ignores untagged visits. |
| Later tagged newsletter / email / demo | Retain the original available bundle. | Replace the entire bundle, clearing old fields absent from the new touch. |
| Storage unavailable or expired | Record unknown; do not invent the earlier source. | Capture permitted current values and state the limitation. |
A direct or untagged visit is not automatically organic, and a CRM record cannot recover browser history that was never captured. Store timestamps and the model definition with the data. Use the CRM capture guide to test the saved record, and Google’s attribution documentation when comparing it with GA4.
For the broader setup, read UTM Operations: How to Build a Reliable Campaign Tracking Workflow. Browse the UTM Operations, Automation & QA guides to choose another troubleshooting task.
References
- Attribution Models in GA4 (Google Analytics Help)