Skip to main content
Kunida Designs

Blog

UTM capture and offline conversions: what to store (and what not to)

December 18, 2025 Back to blog
  • 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:

  • Email
  • 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

  1. Capture UTMs and click IDs at page load (cookie or localStorage).
  2. On submit, copy those values into hidden form fields.
  3. On the server, validate and persist the lead.
  4. Optionally send an email notification (or a webhook to your CRM).
  5. 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.

  • 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.

Browse services

Need a plan?

Share your URL and goals. We will respond with a small, prioritized plan-no long proposals.