Skip to content

Use case

UTM parameters vanish. The leads they were tagging do not.

Redirects strip them and one return visit later the lead files under Direct. LeadJourney captures click IDs server-side and keeps them for months.

  • Server-side capture
  • Nothing to tag by hand

Captures the click ID from every platform

One lead, tagged then lost, then kept

What your report showsAfter the parameters were stripped
Source / medium
direct / (none)
Campaign
(not set)
First visit
Counted separately
Click ID
Never stored
The tag you built
Gone at redirect
LeadJourney keeps what the URL drops
The same lead in LeadJourneyThe click ID never lived in the URL
Source
Meta Ads
Campaign
leadgen-march
Click ID
fbclid, kept
First visit
Same journey, day 1
UTM set
Stored server-side

Same lead, same tagged campaign. The difference is that the attribution was stored on our servers at the first click, so the bookmark return and the stripped redirect changed nothing.

The problem

UTMs live in the URL, and the URL is the most fragile place on the web

A UTM parameter exists exactly once, in the address of one page view. Everything that rebuilds, shortens or replaces that address on the way to your form erases the tag, and the lead lands as Direct with nobody to blame.

Why tagged leads still show Direct

The tag has to survive the whole journey

  • UTMs only exist in the URL of one page view. A redirect that rebuilds the URL drops them silently.
  • Bookmarks, typed URLs and links pasted into chat never carry them, so return visits start clean.
  • The session that converts is rarely the session that was tagged, and the cookie joining the two is deleted by iOS and ad blockers.
  • Login flows, payment providers and link shorteners each rebuild the URL on the way through.
  • One typo in a hand-built tag, utm_souce, and a whole campaign reports as something else.
  • So one campaign splits into tagged rows, Direct rows and (not set), and every channel that uses tags is undercounted.

The same journeys with LeadJourney

Attribution stored server-side, not in the URL

  • Click IDs (gclid, fbclid, msclkid and LinkedIn's) are captured server-side at the moment of the click.
  • The journey lives on our servers, not in the address bar, so the bookmark return joins the same journey.
  • Tracking runs server-side with first-party identifiers at 95%+ accuracy, so iOS and ad blockers do not break the join.
  • UTMs are still captured automatically on every visit they survive, nothing to tag by hand.
  • Source, campaign and ad come from the click ID itself, so a typo in a tag cannot rename a channel.
  • One campaign is one row, joined to spend, leads and revenue, however the lead came back.

The fix

Capture at the click, keep it on the server, write it to the CRM

Two places, one answer. Marketing reads complete source reports in LeadJourney, built from click IDs that never depended on the URL. The CRM record gets the same attribution written onto it, where no redirect can reach it.

Every source real in LeadJourney

The dashboard marketing runs on

  • Click IDs from Google, Meta, LinkedIn and Bing captured at the click and kept for months, not for one session.
  • Every return visit, bookmark or not, joined to the same journey from the first anonymous click.
  • Source reports per channel, campaign and ad, joined to what each one cost, with no (not set) rows.
  • Transparent logs show every click and parameter we captured, so you can audit exactly what survived.

Write it where it cannot be lost

The CRM record, filled in for good

  • Native integrations for HubSpot, Salesforce, Pipedrive, Close, Attio and more, plus a webhook for everything else.
  • First touch, last touch, campaign, every UTM parameter and the click ID written onto the lead record.
  • You map the fields. Nothing is written that you have not chosen, and your existing source fields stay untouched.
  • Sales sees the real source before the first call, and your CRM reports stop running on half-tagged data.

What changes

The questions you can answer once the tags stop mattering

Every one of these is a report in LeadJourney, not a tagging audit. Keep building clean UTMs; the click IDs underneath make sure a stripped one never costs you a lead again.

  • Which campaigns produced the leads my analytics files under direct / (none)?

  • How many of my tagged clicks actually arrived with their parameters intact?

  • Which channel did each lead really come from, bookmarks and return visits included?

  • What does a lead from each campaign cost, based on real ad spend?

  • Which landing pages lose their parameters on the way through redirects?

  • How many leads did we misfile as Direct last quarter, and what were they worth?

Case studies

Teams that already run on these answers

One measured result per customer, reported by the customer. The stories closest to this use case come first.

  • Portrait of Florian Buck

    Klickkraft GmbH

    Business coaching

    €10-20k in monthly Meta spend, tied to qualified leads and revenue per ad

    Florian Buck

    Managing Director

    Read the story
  • Portrait of Karsten Guhr

    Tax and accounting

    54% better lead quality after using LeadJourney for marketing

    Karsten Guhr

    Managing Director

    Read the story
  • Portrait of Nikita Yatsun

    SEO agency

    95% clarity about marketing KPIs and a foundation to scale

    Nikita Yatsun

    Managing Director

    Read the story
  • Portrait of Marc Richard

    LinkedIn growth agency

    2x customer retention, once every LinkedIn touchpoint was tracked to revenue

    Marc Richard

    CEO

    Read the story
  • Portrait of Andreas Malkow

    Digital publishing

    Which article produced the lead and the revenue, across AI and organic search

    Andreas Malkow

    CEO & Head of PR

    Read the story
  • Portrait of Philipp Nessmann

    SEO and GEO agency

    Proven ROI on every retainer, from organic and AI search leads through to revenue

    Philipp Nessmann

    Managing Director

    Read the story
  • Getreach

    Backlinks marketplace (SaaS)

    0 to 100k in revenue from paid ads alone, inside the first month

    Getreach

    getreach.com

    Read the story

Setup

From stripped tags to kept click IDs, in about 21 minutes

No developer, no re-tagging project, and your existing UTM convention stays.

Acme SaaS

FAQ

What teams ask before they stop worrying about tags

If yours is not here, our team answers in the chat within a few minutes.

Why do my UTM parameters disappear?

Because they only exist in the URL of a single page view. Redirects, login flows, payment providers and link shorteners rebuild the URL and drop them; bookmarks and typed addresses never had them; and the cookie that would connect a tagged first visit to an untagged return is deleted by iOS and ad blockers. The tag is fine, the URL just does not survive the journey.

What is a click ID, and how is it different from a UTM?

A UTM is a label you write into the URL by hand; a click ID (gclid, fbclid, msclkid, LinkedIn's click ID) is appended automatically by the ad platform and identifies the exact click, campaign and ad. LeadJourney captures the click ID server-side the moment it arrives and resolves it against your connected ad account, so the attribution is structured data rather than a string that has to survive in an address bar.

Do I still need UTM parameters if LeadJourney captures click IDs?

Keep them, especially for channels without click IDs like newsletters and partner links. LeadJourney captures UTMs automatically on every visit they survive, with nothing to tag by hand beyond what you already do. The click IDs are the safety net underneath: when a tag is stripped, the attribution still exists.

How does attribution survive a redirect or a bookmark?

The click ID needs to arrive once, on the first landing. From that moment the attribution is stored server-side with the journey, not in the URL, so every later redirect, bookmark return or stripped parameter changes nothing. That is why server-side capture survives what browser-and-URL tracking cannot.

How long does LeadJourney keep click IDs?

For weeks and months, not for one session. The click ID stays attached to the journey until the lead converts and beyond, so a lead who bookmarks your pricing page and comes back next month still credits the original ad.

Can it recover the leads already filed under Direct?

Tracking starts when the snippet goes live, so journeys are captured from that day forward and historic leads keep the source they have. That is the strongest argument for installing early: every week before the snippet is another week of stripped tags. Setup takes about 21 minutes.

What about leads that never clicked an ad?

They get a real source too. Organic search, referral, email and social are tracked as first class channels, AI engines like ChatGPT, Perplexity and Gemini are separated from direct traffic, and custom channels cover podcasts, newsletters and affiliates.

Is this GDPR compliant?

Yes. Data is processed and stored in the EU, we sign a data processing agreement, and tracking runs first-party and server-side, so it respects consent decisions rather than working around them.

Attribution that survives the URL

Stop losing leads to stripped parameters

Book a demo and watch the leads your reports call Direct resolve into the tagged campaigns that actually sent them.