Skip to content

CRM integration

CRM attribution that puts the ad on every deal and the deal on every ad.

Native for HubSpot, Pipedrive, Close and Attio, a webhook for Salesforce and 100+ more, with deal stages and amounts read back automatically.

  • Click ID captured at click time
  • Source written onto contact and deal
  • Closed deals sent back to the ads

Rated by teams whose CRM used to say Direct

  • Trustpilot4.9 out of 5 on Trustpilot
  • G25.0 out of 5 on G2
  • Capterra5.0 out of 5 on Capterra

CRM attribution for marketing and sales teams at

  • Trading.de logo
  • Swedish Cold logo
  • Trustfactory logo
  • MLK Digital logo
  • CPC AG logo
  • DaxoMedia logo
  • Contentbär logo
  • Hivebuy logo
  • OBVIOUS logo

The deal your rep opens

Your workspace
Deal · HubSpotAcme Supply, from the ad click to the conversion sent back
JWJonas WeberAcme SupplyClosed won
  1. Google AdsClicked "fleet tracking software", non-brand search, gclid storedDay 1
  2. Meta AdsReturned via retargeting videoDay 4
  3. FormRequested a quote on /pricing, contact createdDay 6
  4. HubSpotFirst: Google Ads, last: Meta Ads, campaign and gclid written onto contact and dealDay 6
  5. HubSpotDeal moved to Closed won, €54,000, sent to Google Ads and MetaDay 23
Attributed to Google Ads, search non-brand€54,000

HubSpot's own source field said Direct. The fields LeadJourney wrote say which ad, which campaign and which click.

The definition

What is CRM attribution?

In short

CRM attribution joins the marketing touchpoints that produced a lead to the record the CRM keeps for it. The first and last click source, campaign, ad and click ID are written onto the contact and the deal, the deal's stage and amount are read back, so revenue reports per ad and closed deals go back to the ad platform as conversions.

  • Capture the click before the record exists

    Store the gclid, fbclid, li_fat_id, msclkid and UTMs on the first visit, first-party, and keep them for months, so the lead who comes back through a bookmark still carries the ad. See UTM and click ID tracking.

  • Write the source onto the contact and the deal

    First and last click source, campaign, ad, click ID and landing page on the record, in fields you map. See the HubSpot integration for one CRM in detail.

  • Read stages and amounts back

    Pull deal stages, amounts and close dates out of the CRM as they change, so every campaign reports the pipeline and the closed revenue it produced, not the form fills.

  • Send the outcome back to the ads

    Return qualified leads and closed deals, with the amount, to Meta, Google, LinkedIn and Microsoft Ads through their conversion APIs, so bidding optimises on buyers. See offline conversion tracking.

Why the CRM says Direct

The CRM knows the revenue. The ad platform knows the click. Nobody joins them.

Every CRM has a source field, every ad platform has a conversion count, and the two never describe the same lead.

  • The CRM starts recording at the form, so every anonymous visit before it, including the ad click three weeks earlier, is invisible to it.
  • Native source fields record the last browser session, not the journey, so a lead who returns through a bookmark is filed under Direct or Website.
  • Hidden UTM fields break the moment a visitor leaves and comes back, and iOS, ad blockers and consent banners strip the script that fills them.
  • Click IDs are not standard CRM fields. Without the gclid or fbclid on the record, a closed deal cannot be matched back to its ad.
  • The ad platform stops at the form fill. It never learns which leads became customers, so it keeps finding people who fill in forms.
  • Marketing and sales read two different sources. The ads manager names a campaign, the CRM says Direct, and the budget meeting believes whichever is louder.

So the number that should decide the budget, revenue per ad, exists in neither system. It has to be built at click time and written in both directions.

Case studies

What changes once the attribution is right

One measured result per customer, with the person, the role and the company behind it.

  • 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

    €500k MRR reached profitably, scaling an SEO agency on performance marketing

    Nikita Yatsun

    Managing Director

    Read the story
  • 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 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

How the data moves

Every click captured, every record written, every deal sent back.

The click is recorded on your own domain before the CRM knows the person exists. From form submit on, the CRM's stages and amounts flow back into the same journey and out to the ad platforms, matched on the click ID.

Ad platforms and your website

LeadJourney

In from the ads, out to the CRM

What is written onto the record

  • First and last source
  • Campaign and ad
  • Click ID
  • Revenue per ad

Written to and read from

and 100+ more by webhook
Deal stages and closed revenue sent back as conversions, with the amount

The CRMs

Every CRM we write the source into.

HubSpot, Pipedrive, Close and Attio connect with one click, Salesforce and every CRM that speaks webhook through Zapier, Make or n8n. The fields written are the same either way.

Ad platforms

Spend, campaign structure and click IDs come in. Closed deals go back out as offline conversions.

All traffic channels

Organic channels

Unpaid clicks from search and social, attributed per post, per video and per keyword.

All traffic channels

AI search engines

The traffic your analytics still files under direct. No setup, the tracking script separates it.

All traffic channels

CRM and sales

Lead stage and deal value flow in. Every campaign sees the revenue it actually produced.

All CRM and sales tools

What the software does

Everything CRM attribution has to do, in both directions.

The ad source on every contact and deal

Source, campaign, ad, click ID and landing page land on the contact and the deal at form submit, into fields you map. Your existing source fields stay untouched.

Click IDs captured at click time, no hidden fields

gclid, fbclid, li_fat_id and msclkid are recorded first-party on the first visit and kept for months, so a lead who converts weeks later still carries the click.

Deal stages and amounts read back

Deal stage, amount and close date come back as they change, so the report shows closed revenue per campaign and cost per customer, not cost per form fill.

Closed deals sent back to the ad platforms

The stages you choose go back as conversions with the deal amount: Meta Conversions API, Google Enhanced Conversions, LinkedIn Conversions API, Microsoft Ads offline conversions.

Lead quality per source, from the CRM's own stages

Because the stages come back, every campaign shows what share of its leads qualified or closed. See CRM field segmentation.

Native for four CRMs, a webhook for the rest

HubSpot, Pipedrive, Close and Attio connect with one-click OAuth. Salesforce, GoHighLevel, ActiveCampaign, Odoo and 100+ more connect by webhook, Zapier, Make or n8n. Every CRM in the catalogue is on CRM and sales integrations.

Why both directions

A source on the deal is half the job. The deal has to travel back to the ad.

Writing the ad onto the record tells sales where the revenue came from. Sending the deal back tells the bidding what a customer looks like: told about form fills, the platforms find form fillers; told about closed deals with the amount attached, they find buyers. Most CRM integrations do the first half.

The record

What the record looks like once the click is written on it.

Your workspace
Fields writtenContact 18422 and its deal, HubSpot
FieldOn the contactOn the deal
First click sourceGoogle AdsGoogle Ads
Last click sourceMeta AdsMeta Ads
CampaignSearch · non-brandSearch · non-brand
Click IDgclid · kept 68 daysgclid
Landing page/pricing/pricing

HubSpot's original source on the same contact reads "Direct traffic". It is left as it was.

Fields written

Five fields on every contact and deal, in the CRM you already run.

The same five fields land on the contact and on the deal, so a rep reads the source on the record they open. You choose the fields before anything is written.

  • First and last click source, so a Google start and a Meta finish are both on the record
  • Campaign and ad, spelled the way the ad platform spells them
  • The click ID from each platform, which is what makes the deal matchable later
  • The landing page, so the rep knows which pitch the lead saw
Your workspace
Stages sent backCRM to ad platform, last hour
Live
  • Closed won · €54,000Acme Supply · HubSpot dealSent to Google Ads and MetaOffline conversion
  • Proposal sent · €31,000BuildRight · Pipedrive dealSent to LinkedIn CAPIQualified lead
  • Booked callTom Becker · Close leadSent to Microsoft AdsOffline conversion
  • Closed lostHarbor Events · Attio dealNot sentNot mapped

Every event carries the click ID and the hashed first-party fields, so the platform can match it to the click.

Stages sent back

Deal stages flowing back to the platforms that paid for the click.

A live log of every stage change the CRM reported: the deal, the stage, the platform it went to and the amount. A stage you did not map stays home.

  • Stage changes arrive by webhook as they happen
  • Each mapped stage goes to the platform that produced the click
  • The deal amount and currency travel with the event
  • Read-only transparent logs, so the whole team can audit it
Your workspace
Revenue by ad platformSpend from the platforms, revenue from the CRM, last 30 days
ChannelSpendDeals wonRevenue
Google Ads€11.2k16€84.6k
Meta Ads€9.6k12€52.3k
LinkedIn Ads€7.4k5€41.0k
Microsoft Ads€1.9k4€12.8k
Closed-won revenue on €30.1k spend€190.7k

37 deals the CRM marked won, each carrying the click that started it.

Revenue per source

Spend per platform against the revenue your CRM closed.

Spend comes from every ad account, revenue from the deals the CRM marked won, so the platform's own count never enters the report. Cost per customer and closed revenue per campaign and ad.

  • Spend from Meta, Google, LinkedIn and Microsoft Ads, imported automatically
  • Revenue from the closed-won amount in the CRM, not a platform estimate
  • Drill from platform to campaign, ad set and ad
  • Named deals behind every figure, under multi-touch attribution models too

Live in 21 minutes

CRM attribution set up in three steps

No hidden form fields, no CSV uploads, no engineering ticket.

  1. 1About 5 minutes

    Install

    Add one script to your site on your own tracking subdomain. From that moment every click is recorded first-party with its click ID and UTMs, before any form is filled in.

  2. 2About 15 minutes

    Connect the CRM

    Sign in over OAuth for HubSpot, Pipedrive, Close or Attio, or paste the webhook for Salesforce and the rest, then choose which fields LeadJourney may write. Connect the ad accounts for spend and the conversion APIs.

  3. 3Same day

    Map the stages

    Choose which deal stages count as a qualified lead and which count as revenue, and where each one goes. From the next lead onwards every record carries its source and every closed deal reaches the platform that produced it.

How it compares

The CRM's own field, a hidden UTM field, and attribution written at click time.

What you needHubSpotSalesforceNative CRM source fieldsUTM hidden fields via formsLeadJourney
Records the first click, not the last sessionNo: Last session before the formPartly: Only if the UTM survived the visitYes: First and last click, recorded before the record exists
Survives a return visit, iOS and ad blockersNo: Cookie based, one sessionNo: Parameters gone on the returnYes: First-party, server-side, click ID kept for months
Puts the click ID on the recordNo: Not a standard fieldPartly: One hidden field per platform, by handYes: gclid, fbclid, li_fat_id and msclkid, automatically
Gives marketing deal stages and amountsPartly: Inside the CRM's own reports onlyNo: Nothing comes backYes: Stages and amounts by webhook, revenue per ad
Sends closed deals to the ad platformsPartly: Manual uploads or a fixed value per stageNo: Not possibleYes: Conversion APIs, with the deal amount attached
SetupYes: Built inPartly: Every form, every field, maintained by handYes: OAuth or a webhook, 21 minutes

What changes

What changes once every deal carries its ad.

Done:

No more "Direct" in the CRM

Every new record carries the source, campaign and ad that produced it, so the lead source report stops being a question mark. See fixing Direct lead sources.

Done:

Revenue per ad, from the CRM

The closed-won amount sits in the same row as the campaign that produced it, so the budget follows the deals instead of the cheapest form fills.

Down:

Cost per customer

When the platforms optimise on qualified leads and closed deals with the amount attached, the cost of an actual customer falls. See optimise on revenue.

Up:

Conversions the platform can learn from

Closed deals with a click ID and hashed first-party fields match at a high rate, so the algorithm gets more signal per euro spent.

Done:

Sales sees the ad before the call

The rep opens a record that already says which ad, which promise and which page brought the lead in, so the first call opens on the reason the lead is here.

Lasting:

One source for marketing and sales

The ads manager, the CRM and the revenue report finally name the same campaign for the same deal. No reconciliation meeting.

Original reviews

What our customers wrote, word for word

4.9 out of 5 across 11 public reviews. Quoted as they were left, shortened only by dropping whole sentences.

  • 5 out of 5 starsGoogle

    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.

    GetreachBacklinks Marketplace (SaaS)
  • 5 out of 5 starsG2

    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.

    Sascha LenzMarketing Manager
  • 5 out of 5 starsTrustpilot

    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
  • 5 out of 5 starsGoogle

    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
  • 5 out of 5 starsG2

    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
  • 5 out of 5 starsTrustpilot

    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 GmbH

Common questions

CRM attribution, the questions buyers ask

What marketing and sales teams want to know before they let a tool write into the CRM.

What is CRM attribution, and how is it different from the CRM's own source field?

The CRM's source field records what the CRM could see, which is the last browser session before the form was submitted. CRM attribution records the journey before the record exists, from the first ad click, and writes the first and last click source, campaign, ad and click ID onto the contact and the deal. It also works in the other direction: deal stages and amounts are read back so revenue reports per ad, and closed deals go to the ad platforms as conversions.

Which CRMs does LeadJourney integrate with?

HubSpot, Pipedrive, Close and Attio connect natively with one-click OAuth. Salesforce, GoHighLevel, ActiveCampaign, Odoo and 100+ other CRMs connect through a webhook, Zapier, Make or n8n. An industry specific or self built CRM connects the same way: if it can send or receive a webhook, it works, and most custom setups are one endpoint and a field mapping.

Which fields are written onto the contact and the deal?

First and last click channel, source and campaign, the ad, every UTM parameter, the click ID from each platform (gclid, fbclid, li_fat_id, msclkid), the landing page and referrer, and a link to the full journey in LeadJourney. On the deal, the attributed channel and campaign travel with it. You choose which of those are in scope before anything is written.

Will it overwrite the source fields we already use?

No. Nothing is written to a field you have not mapped. Most teams write the attribution into dedicated LeadJourney fields and leave their existing source fields untouched, so historic reporting stays comparable and no workflow breaks.

What does LeadJourney read back from the CRM?

Deal stage, amount, currency and close date, plus the lead or lifecycle status where the CRM has one, delivered by webhook as they change. That is what turns a campaign report from form fills into pipeline and closed-won revenue, and what makes lead quality per source visible: the share of each channel's leads that qualified, reached proposal or closed.

What gets sent back to the ad platforms?

The stages you choose, with the deal amount attached: a qualified lead, a booked call, a closed deal, or all three. They go to Meta through the Conversions API, to Google Ads as Enhanced Conversions and offline conversion imports, to LinkedIn through its Conversions API and to Microsoft Ads as offline conversions, each matched on the click ID captured at the first visit. See offline conversion tracking for the detail.

Does it work for the leads already in my CRM?

Tracking starts when the script 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 script is another week of leads filed under Direct. Setup takes about 21 minutes.

Is writing marketing data into the CRM GDPR compliant?

Yes. Tracking is first-party and consent-aware, data is processed and stored in the EU, and a data processing agreement is part of every plan. The fields written are attribution fields on a record the CRM already holds; the lead is only identified when they fill in your form. The GDPR and security pages list the controls.

See it on your own CRM

See the ad behind your last hundred deals.

Book a demo and we connect your CRM live: which fields land on a real record, and which stages would go back to the ads.

Your workspace
Deals with an ad sourceOne HubSpot portal, same month, before and after
What the CRM's source field could say96of 508 deals carried an ad, from hidden UTM fields that survived
What LeadJourney wrote486deals with first and last click source, campaign and click ID
Deals with a source+390 deals attributed
PipelineBeforeAfter
Inbound · SMB41212
Inbound · Enterprise28148
Partner referrals1774
Upsell1052

The source existed at click time for every one of these. Nobody had written it down.