
Tax and accounting
54% better lead quality after using LeadJourney for marketing
Karsten Guhr
Managing Director
Read the storyCall tracking software
A recording and an AI summary separate booked jobs from junk, and every call sits beside your forms and CRM deals.
Rated by businesses whose leads pick up the phone
Calls traced to the ad at
Every call, with the ad behind it
Every number forwards to the line you already answer. The source is attached on the way through.
The definition
In short
Call tracking software gives each marketing source its own phone number, forwards the calls to your existing line and records the source of every call. On a website, dynamic number insertion shows each visitor a unique number, so a call inherits that visitor's ad, campaign and keyword. Fixed numbers cover offline sources like a Google Business Profile, flyers or radio.
Dynamic number insertion shows each website visitor a number from a pool and keeps it for the whole visit, so a call maps to that session's ad click, campaign and keyword rather than to "website".
A Google Business Profile, a flyer, a radio spot or a truck wrap each get a number of their own, so the calls they produce are counted instead of guessed. See offline conversion tracking.
A recording and an AI summary on every call, so the report separates booked jobs and quote requests from wrong numbers, spam and price shoppers.
Qualified calls go to Google Ads and Meta through their conversion APIs and land on the CRM record, so the bidding learns from jobs and sales sees the source. See phone call leads.
Why click reports miss the phone
For a plumber, a dentist or a law firm the conversion that pays is a phone call, and the moment the phone rings the marketing data stops. Budgets get set on whatever was still visible.
The result is a budget that follows clicks and forms, because those are the outcomes that were counted. The campaign that fills the phone lines gets cut for having no conversions.
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
95% clarity about marketing KPIs and a foundation to scale
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)
How dynamic number insertion works
One script swaps the number on the page for a free one from your pool and holds it for the visit, so the call arrives with the keyword on it.
Dynamic number insertion, one visitor
Diagram: a visitor arrives on the website from a Google Ads click on the keyword emergency plumber berlin, the LeadJourney script swaps the printed number +49 30 555 0100 for +49 30 555 0142 from the number pool and holds it for that visit. When the visitor calls that number the AI Attribution Engine looks up the session that held it, forwards the call to the office line +49 30 555 0100 and attaches the ad, campaign, keyword, recording and AI summary, then sends the qualified call back to Google Ads and Meta as a conversion.
Rohrfix Berlin
Call us now
+49 30 555 0100
Swapped by the script
+49 30 555 0142
AI Attribution Engine
One number, one visitIt hands out the number, then joins the call back to the session that held it.Your number pool
Back in the pool when the visit ends
AI summary
Boiler repair, booked for Thursday. Qualified.
Someone clicks your ad and lands on your site. The script reads the click ID, the campaign and the keyword out of the URL and opens a session for that visitor.
It rewrites the phone numbers on the page, the printed one and the tap-to-call link, to a free number from your pool. Header, footer, contact page: this visitor only ever sees that number.
Nobody else is shown it while the visit lasts, so the number is a name for one session. It goes back into the pool when the visit ends and is handed out again later.
The moment it rings, the engine looks up which session held that number and forwards the call to the line you already answer. The ad, campaign, keyword, recording and AI summary land on the call.
Nothing changes for the person calling. They dial the number they saw, your own line rings, your team answers as always. The swap only decides which number rang.
How the data moves
Website calls come in through the number pool with the visitor's session and keyword, offline calls through their fixed number. Both are matched to the person in your CRM, and the qualified ones go back through the Google Ads and Meta APIs.
Where the calls come from
LeadJourney
Number swapped, call matched
What the report counts
Matched to the record in your CRM
Integrations
The ad platforms and channels a touchpoint can come from, and the CRMs the outcome is read back from. Open any tile for what exactly moves between LeadJourney and that tool.
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 the software does
One snippet shows each visitor a number from your pool and keeps it for the visit. The call is matched to the ad, the campaign, the keyword and the pages seen.
Your Google Business Profile, flyers, radio spots and truck wraps each get a number of their own, so the channels that ran on faith get a calls column and a cost per call.
Every call is recorded, a toggle per number with a consent announcement where you need one, and summarised by AI: a new job, a booking, a quote, a wrong number or spam.
A call the AI marks qualified goes to Google Ads and Meta as a conversion through their conversion APIs, so the bidding optimises toward people who call and book, not people who tap a button.
The call lands on the contact in HubSpot, Pipedrive, Close or Attio with its source, campaign and recording, natively or by webhook, so the deal that closes later still carries the ad that rang the phone.
Spend, forms, calls, qualified calls and booked jobs per campaign in one table, with cost per qualified call next to cost per lead. Ad tracking reads the same journey.
Why it is not a separate tool
Standalone call tracking reports calls, the ad platform reports clicks, the form tool reports submissions. LeadJourney records all three on one journey per person: the difference between knowing which ads ring and knowing which ads pay.
The reports
The Meta campaign had the second most calls and the fewest booked jobs. This is the row that moves budget.
Calls per campaign
The campaign report with the phone in it: the calls each campaign produced, how many the AI marked qualified and how many became booked jobs, in the same table as the forms.
The keyword, the recording and the booked job on one screen, and the same event in Google Ads.
Call detail
Open any call and read the whole path: the ad and keyword, the landing page, the number shown, the recording, the AI summary, and the conversion that went back to Google Ads.
The Business Profile produced 112 calls and not one form. In a form-only report it does not exist.
Calls and forms per channel
The traffic channel report counts a phone call as what it is: a lead. Paid, organic, the Business Profile and the offline sources show their calls and forms with the revenue the CRM closed.
Live in 21 minutes
Your existing number and phones stay as they are, nothing changes for the caller, and there is no developer on the ticket.
Add one script to your site on your own tracking subdomain. It records every visit first-party with its click ID and UTMs, and swaps the phone number on the page per visitor from your pool.
Connect Google Ads and Meta for spend and the conversion APIs, your CRM for the deals, and provision your numbers: a pool for the website, a fixed number per offline source.
Choose which calls count as conversions and where they go: the qualified call to Google Ads and Meta, the booked job onto the CRM record, the closed deal back to both platforms. The report fills from the next call.
How it compares
| What you need | LeadJourney | ||
|---|---|---|---|
| Source, campaign and keyword on website calls | Yes: Dynamic number insertion | Partly: Google Ads clicks only | Yes: Every visitor, every channel |
| Fixed numbers for offline sources | Yes: Per number | No: Ads only | Yes: Business Profile, print, radio |
| Recording and a summary that separates jobs from junk | Partly: Recording included, AI qualification an add-on | No: Duration only | Yes: Recording and AI summary on every call |
| Calls next to forms and CRM deals in one journey | Partly: A separate tool, joined by integration | No: Calls in the ad account only | Yes: One journey per person, one report |
| Qualified calls sent back to Google Ads and Meta | Partly: Through integrations, per platform | Partly: Google Ads only, every call counts | Yes: Conversion APIs, qualified calls only |
| Setup | Partly: A second tool to configure and reconcile | Yes: A setting in the ad account | Yes: 21 minutes, in the same tracking layer |
What changes
The campaign that rings wrong numbers loses its budget to the one that books jobs, decided on a call log rather than on a hunch.
When Google Ads and Meta are told which calls became jobs, the bidding moves toward people who call and book instead of people who tap a button.
The Business Profile, the flyers and the radio spot each have a calls column, so the yearly renewal is decided on data instead of on a feeling that people mention it.
Every missed call is logged with its source and time, so it becomes a call-back instead of a job the next listing took.
A campaign is judged on every outcome it produced, so the phone-heavy campaign stops looking dead next to the one that collects forms.
Agencies show every delivered call with a source, a recording and a booked job tag. The retainer conversation gets shorter.
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
What local businesses, agencies and lead gen teams want to know before their first tracking number goes live.
Call tracking software gives each marketing source its own phone number and records where every call came from. On your website, one snippet shows each visitor a number from a pool and keeps it consistent for the visit, so a call to that number is matched to the visitor's session: the ad, the campaign, the keyword and the pages seen. Visitors never notice anything, they see a phone number and dial it.
Those are call tracking tools, and the call log lives in them. LeadJourney is marketing tracking software with call tracking inside it, so the call sits on the same journey as the ad click, the form fill and the CRM deal, in one campaign report, and goes back to the ad platforms through the same conversion feed as every other outcome. The WhatConverts comparison lays the differences out side by side.
No. Tracking numbers forward to the phone you already answer, whether that is a mobile, the office line or a call centre, and your existing number keeps working as before. Numbers are provisioned in minutes, local or toll-free, with nothing to port and no new hardware.
Yes. Each offline source gets a fixed tracking number of its own, so calls from Maps and the Business Profile are counted separately from ads and organic search, and a flyer or a radio spot finally has a calls column. If you want, your original number stays on the profile as an additional number.
Every call is recorded and summarised by AI, which tags what happened: a new job, a booking or a quote request against a wrong number, spam, a vendor or an existing customer. You can correct a tag or refine the rules for your business. The result is a report where the qualified call count means potential jobs, not rings.
Yes. A qualified call is sent to Google Ads and Meta through their conversion APIs with the click ID it was matched to, so the platforms optimise toward people who call and book rather than people who tap a call button. The optimise on revenue use case shows what changes in the bidding, and the offline conversions guide walks through the setup.
No. CallRail connects to LeadJourney, and every tracked call comes through as a conversion matched to the campaign that produced it, so you keep your numbers and gain the journey, the campaign report and the conversion feed around them. The call tracking integrations page lists what connects natively and how any other call tracking tool posts its calls in by webhook or Zapier.
Recording rules differ by country, which is why recording is a toggle per number and a consent announcement can play before the call connects. Source, duration, missed calls and the campaign behind a call all work with recording off. LeadJourney is hosted in the EU, in Frankfurt, and a data processing agreement is part of every plan.
See it on your own phone line
Book a demo and we provision your first tracking numbers live, and you hear your own calls attributed to their source.
Spam and wrong numbers filtered before anything reaches the ad platforms.