
Tax and accounting
54% better lead quality after using LeadJourney for marketing
Karsten Guhr
Managing Director
Read the storyFor GTM engineers
LeadJourney is the measurement layer under the stack: every click captured server-side, one journey per person however they arrived, closed revenue joined to the play that started it, and an endpoint for every part of it.
Rated by the people who build the pipeline machine
Measuring their go-to-market on LeadJourney
One quarter, five plays
786 leads, $352,000 closed. The play with the most leads produced the least revenue, and both columns are counted off the same journeys.
Why the machine cannot report on itself
The enrichment run counts rows, the sequencer counts replies, the ad platform counts leads, the CRM counts deals, and the one number the whole build exists for, which play produced the money, is not in any of them.
The machine produces pipeline and cannot prove which part of it did. So the plays that get funded are the ones that are easiest to count, not the ones that close.
What LeadJourney does instead
One script on your own tracking subdomain captures every click server-side and keeps the platform click IDs. Leads your plays create are posted in through the API and joined to the journey that already existed. The attributed source is written back onto the CRM record, closed revenue is sent on to the ad platforms, and every step is a row you can read, export or query from an assistant.
Case studies
One measured result per customer, with the person, the role and the company behind it.

Tax and accounting
54% better lead quality after using LeadJourney for marketing
Karsten Guhr
Managing Director
Read the story
SEO agency
€500k MRR reached profitably, scaling an SEO agency on performance marketing
Nikita Yatsun
Managing Director
Read the story
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
LinkedIn growth agency
2x customer retention, once every LinkedIn touchpoint was tracked to revenue
Marc Richard
CEO
Read the story
![]()
Digital publishing
Which article produced the lead and the revenue, across AI and organic search
Andreas Malkow
CEO & Head of PR
Read the story
SEO and GEO agency
Proven ROI on every retainer, from organic and AI search leads through to revenue
Philipp Nessmann
Managing Director
Read the storyGetreach
Backlinks marketplace (SaaS)
Integrations
One-click connections for the ad platforms, the channels and the six CRMs most teams run. Everything else in your stack, the enrichment tables, the signal tools and the sequencer, talks to LeadJourney through the REST API, a signed webhook, Zapier, Make or n8n. Open any tile for what exactly moves.
Spend, campaign structure and click IDs come in. Closed deals go back out as offline conversions.
The traffic your analytics still files under direct. No setup, the tracking script separates it.
Lead stage and deal value flow in. Every campaign sees the revenue it actually produced.
What you get
One script, in the site or the tag manager, running from a tracking subdomain you own. Every visit is recorded server-side with its channel, campaign, ad, keyword and click ID, so the record does not depend on a third-party script surviving the browser. See server-side tracking.
gclid, fbclid, li_fat_id and msclkid identify the click even when the UTM is missing, mistyped or stripped by a redirect. Naming conventions stay useful for reporting instead of being load-bearing for attribution. See UTM and click ID tracking.
A lead your play created outside the website goes in with one call and is joined to the journey that already existed, matched on the click ID or the email. Then read back every touch behind it. Zapier, Make and n8n cover the same ground without code. See the API docs.
First touch, campaign, ad, keyword, click ID and touch count on the contact, the attributed source and amount on the deal, in HubSpot, Pipedrive, Close and Attio natively and in Salesforce and 100+ others by webhook. Your routing and your scoring can read it like any other field. See CRM integration.
When a deal reaches the stage you chose, the outcome and its amount go back to Google, Meta, LinkedIn and Microsoft through their conversion APIs, with the click ID attached. The algorithms stop optimising for form fills and start optimising for the leads that close. See offline conversion tracking.
Connect LeadJourney to Claude or any MCP client and ask which plays closed, which campaigns spent without closing anything, what is behind a named deal. It is one OAuth connection, and the answers come back as tables you can paste. See the MCP server.
You could build this
Capture the click, keep the identifiers, stitch the identities, join the CRM, model the credit, push the outcomes back to four platforms, and keep it all running while every one of those APIs changes under you. It is a perfectly good build, and it is a system with your name on it forever. This is the same layer, maintained, live in minutes, with an API on the front of it.
The layer, in detail
Every row is also a line in the log, with the rule that produced it and a timestamp.
Signals in
Your plays create leads in places a website script never sees: a sequencer reply, an enrichment run, a form on somebody else's domain, a call. Post them in with one call and they are matched to the anonymous journey that started them rather than beginning a new one, so the paid click from six weeks ago stays attached.
Paths are shortened here: each one sits under /v1/workspaces/{workspace}. The full reference, with bodies and example responses, is on the API docs page.
Built to be called
This is the part that decides whether a measurement tool survives contact with a stack that is mostly automations. Leads and conversions go in, journeys and attributed revenue come out, subscriptions push changes at you, and the whole thing streams into BigQuery if you would rather query it yourself.
Which plays produced closed revenue last quarter, and what did each one cost per closed deal?
You
Closed revenue by the play that started the journey
The cold list produced 52% of the leads and 5% of the revenue. Ask for it per closed deal and the ranking holds.
Ask it directly
Atlas is the analyst on your journeys and your CRM revenue, in the app, in Slack and through the MCP server in the assistant you already have open. It answers with the records behind the answer, and it shows the gaps as gaps instead of rounding them into a channel.
What changes
Every one of these is a report in LeadJourney, an endpoint, or a sentence you type at an assistant. None of them is an export.
Which of my plays produced closed revenue last quarter, not leads?
This deal closed sixty days late. What actually started it?
Is the cold list worth the seats, or is it the ad campaign underneath it?
Can the ad platforms optimise on qualified leads instead of form fills?
Which campaigns spent money and closed nothing at all?
Can I post a lead from my own automation and keep its journey?
Can I read attributed revenue per lead out of this thing with SQL?
Live in 21 minutes
One script, two OAuth connections and a mapping screen. Your plays, your forms and your routing stay exactly as they are.
Add one script to the site or the tag manager and point a tracking subdomain at us. From that moment every visit is recorded first-party with its channel, campaign and click ID, whatever the browser does with third-party cookies.
One-click OAuth for HubSpot, Pipedrive, Close and Attio, a signed webhook for Salesforce and anything custom, and the four ad platforms for spend and their conversion APIs. Everything you built yourself comes in through the API, Zapier, Make or n8n.
Choose which CRM stages count as qualified, opportunity and won, which of them go back to the ad platforms, which fields the attribution is written to, and the default model. Change any of it later without losing history.
How it compares
| What you need | The join you build | LeadJourney | |
|---|---|---|---|
| Time to the first trustworthy answer | No: A quarter, and then maintenance | Partly: Today, for that platform alone | Yes: About 21 minutes |
| Leads your plays create off the website | Partly: If you wrote that ingestion too | No: Invisible, no click to attach | Yes: One call, joined to the journey |
| What the revenue is attached to | Partly: Whatever your model says today | No: The platform's own last click | Yes: The play that started the journey |
| Outcomes sent back to the ad platforms | Partly: A second project, per platform | Partly: Manual uploads, per account | Yes: Four conversion APIs, on stage change |
| Who fixes it when an API changes | No: You do, indefinitely | Partly: The platform, for its own tags | Yes: We do, on every platform we connect |
| Defending a number in the review | Partly: Rerun the query and hope | No: Two dashboards that disagree | Yes: Open the record, read the events |
What changes
The list that produces four hundred leads and the campaign that produces ninety are compared on the same closed-won number, off the same journeys.
A campaign that spent and produced no closed revenue is a row you can see in the quarter it happens, not a suspicion in the next planning round.
Qualified and closed stages go back through the conversion APIs with the click ID attached, so the optimisation target stops being a form fill.
The capture, the identity stitching, the CRM join and the four conversion feeds are somebody else's maintenance, and they still have an API in front of them.
Source, campaign, click ID and touch count sit on the contact, so routing, scoring and your own conditions can branch on them like any other property.
Every credit has a log entry with the rule and a timestamp behind it, so a disputed figure is a record you open together rather than a query you rebuild.
Original reviews
4.9 out of 5 across 11 public reviews. Quoted as they were left, shortened only by dropping whole sentences.
“Before LeadJourney, we had no reliable tracking concept for our five-figure ad spend. We were manually building spreadsheet and CRM reports, inaccurate and time-consuming. Within two days, everything was set up. For the first time, I know exactly what I pay per lead and which campaigns actually bring in the best-qualified prospects.”
Florian BuckCEO, Klickkraft GmbH“With LeadJourney we are able to track all our leads and connect them with sales and attribution data to make better decisions. In the first month of using it we scaled from 0 to 100k revenue from paid ads only.”
“LeadJourney finally fixed my Marketing Analytics. It goes way beyond basic Ad Tracking Software. The Customer Journey Report saves hours of digging, and capturing everything from Offline Conversions to AI Search Tracking makes it the Best B2B Attribution Platform available.”
“Connected LeadJourney for 2 clients, setup took literally 20 minutes each. The data became more accurate, the reports actually make sense. Now clients look at the dashboard and the 'why don't the numbers match?' questions are gone.”
Alexander SamarPerformance Marketing Agency“With LeadJourney, we have finally found a tool that provides us with the data we need to scale our performance marketing campaigns. The most important KPI is no longer lead price but cost per qualified lead.”
Steffen SiesingCEO, Bilanzmanufaktur GmbH“The ability to track both online and offline conversions in one unified dashboard has given us insights we never had before. Our ROI has improved dramatically since we started integrating LeadJourney with our CRM. We're finally able to see the full customer journey, and it's been a game changer for our strategy.”
Andre WitzelFounder, Trading.de“The ability to seamlessly integrate data from multiple channels and see real-time insights has significantly improved our campaign results. We now focus on metrics that truly matter, like ROI and qualified leads.”
Nikita YatsunCEO, RLV Media GmbHRead the reviews where they were left
Common questions
The mechanism questions, answered without marketing language.
It is the newer title for the person who builds the go-to-market systems rather than running the plays by hand: the enrichment and list building, the signal triggers, the sequencer, the routing and the CRM automations. If you own that machine, this page is for you. If you own the stack itself and get asked where the leads came from, marketing, revenue and GTM ops is the same product argued for that job. What GTM engineering is, in one guide.
Not natively, and we will not pretend otherwise. Those tools reach LeadJourney the way everything else in a built stack does: a POST to the API when a lead is created, a webhook subscription for changes, or Zapier, Make and n8n if you would rather not write it. The six CRMs and the four ad platforms are the native connections, because those are the two ends the attribution has to join. See the API docs.
No, that is the point of posting it in. If the payload carries the click ID it is joined to that click's journey; if it carries an email that matches an existing person, it is joined to theirs. A lead with neither is kept as its own journey and shown as unattributed rather than guessed at. So a sequence reply from somebody who first arrived on a paid ad six weeks ago stays attached to that ad.
No. The capture, the identity stitching, the CRM join, the models and the outbound conversions all run in LeadJourney and the reports read from it directly. If you have a warehouse already, this becomes a source rather than a competitor: the journeys and the attributed revenue stream into BigQuery, and everything else is available through the API and webhooks.
First touch and last touch channel, campaign, ad, keyword, click ID and touch count on the contact, and the attributed source and amount on the deal, mapped onto property names you choose. They are ordinary fields, so routing rules, scoring and your own workflows can branch on them. Nothing is merged or deleted: the stitching that joins sessions and devices happens on our side. See CRM integration.
Through the conversion APIs of Google, Meta, LinkedIn and Microsoft, server to server, with the stored click ID attached and the stage change as the trigger. You choose which stages go back and what value each carries, so the platforms optimise toward qualified pipeline instead of toward whoever fills in a form. See offline conversion tracking.
A token per workspace, sent as a bearer header, with JSON request and response bodies documented endpoint by endpoint including example responses. Plans are priced on tracked events rather than seats, so putting the data in front of everybody who keeps asking you for it does not cost more. The full reference is at /docs/api.
Yes. The MCP server is one OAuth connection from Claude or any MCP client, and it reads the journeys, the campaigns and the CRM revenue, so "which plays closed last quarter" comes back as a table rather than as a chart somebody has to build first. It writes as well as reads. See the MCP server.
See it on your own stack
Book a demo and we connect a sandbox to your stack on the call: the capture, a lead posted in from an automation, the fields on the record and the endpoint behind them. Or start the free trial and post your first lead in today.
The play that started it is still attached seventy-eight days later, because the click ID never left the journey.