Blog
UTM capture and offline conversions: what to store (and what not to)
- Analytics
- Paid Media
- Privacy
Attribution gets messy fast. The goal is not perfect tracking. The goal is reliable enough data to answer: “Which channels produce qualified leads?”
This is the simplest approach that still supports offline conversions, CRM handoff, and basic first-touch reporting.
If you want this wired end-to-end (forms, server capture, and ad platform uploads), see: Analytics + Tracking.
What to capture on every lead
Capture these fields at submit time and persist them with the lead record (email, CRM, database, etc.):
- Landing page URL
- Referrer (or “direct”)
- Timestamp (UTC is easiest)
- User agent
- IP address (if your privacy policy allows it)
- Core UTM parameters (
utm_source,utm_medium,utm_campaign, etc.) - Click IDs when present (for example
gclid,gbraid,wbraid)
This gives you enough signal to do channel grouping, troubleshoot traffic, and connect leads to campaigns.
First-touch vs session-touch (do both)
Two concepts matter:
- First-touch: the first time someone arrived (often from a paid click or organic search).
- Session-touch: the campaign parameters on the submission session.
Store both. It prevents “last click wins” bias and keeps reporting stable.
What NOT to put in analytics
Avoid sending raw form fields to analytics tools:
- Phone
- Names
- Free-text messages
If you need enhanced conversions, do it intentionally and with approval. Even then, the best practice is to hash identifiers server-side and send only what is required for the feature.
Offline conversions: the minimum viable payload
Offline conversion uploads differ per platform, but most require:
- A click identifier (like
gclid) OR a hashed user identifier - A conversion timestamp
- A conversion action name
Do not guess values. If you do not have the platform configuration ready, capture the fields and store them, but do not claim uploads are “set up.”
A simple lead workflow that scales
- Capture UTMs and click IDs at page load (cookie or localStorage).
- On submit, copy those values into hidden form fields.
- On the server, validate and persist the lead.
- Optionally send an email notification (or a webhook to your CRM).
- When approved, upload offline conversions from your CRM back into the ad platform.
If you are running paid traffic, the missing piece is almost always step 3: persistence in a system that survives reloads and delayed follow-up.
Related next steps
- If you run ads, combine tracking with landing pages that load fast: Paid Media.
- If you need the plumbing set up cleanly (no bloat, no PII leaks): Contact.
Next steps
Related services and internal paths to keep the crawl and journey clean.
Analytics
Analytics & Conversion Tracking
GA4/GTM setup and conversion tracking so you can measure which pages and campaigns are working.
Explore servicePaid Media
Paid Media Setup & Optimization
Paid search and social campaigns with proper tracking, landing page alignment, and weekly optimization.
Explore service