Power BI integration
Power BI marketing attribution, modelled like every other cost
LeadJourney streams clicks, conversions and leads into your BigQuery, and Power BI's own connector reads them, so marketing joins the model next to revenue, pipeline and headcount.
- Live in 21 minutes
- 95%+ accuracy, first-party
- Import or DirectQuery
Rated by the teams who connected their stack
How the data moves
- Organic search
- Organic social
- AI search
AI Attribution Engine
LeadJourneyServer-side tracking, every channel in one journey- Server-side tracking of every visit
- Multi-touch attribution per lead
- Streamed into your BigQuery dataset
- Semantic model
- Reports
- Refresh
Power BI ships a Google BigQuery connector, so the dataset LeadJourney fills is a source your team adds the way it adds any other. Nothing to install from AppSource, nothing custom to certify.
Trusted by 100+ lead generation businesses, agencies and freelancers
The gap
Every cost in the model resolves to a driver. Marketing resolves to a channel name.
Power BI will join revenue to pipeline to headcount to cost centre and hold the whole thing together. The one input it has never had a clean source for is which advertising produced which customer.
The marketing table in a model built by hand
The only fact table nobody trusts
- Spend arrives per platform, each with its own currency, timezone and definition of a day, so a monthly total needs a reconciliation step.
- Conversions arrive from the same platforms, self-reported, and the same lead is counted by two of them.
- The analytics export supplies sessions, collected in the browser, so ITP, ad blockers and declined banners take their share before the row exists.
- The CRM has the deal and the value, and no column on it names the campaign that started the journey.
- Joining those is identity resolution, which is a model somebody writes, tests against edge cases and owns forever.
- So the marketing measure ends up being a manual monthly upload, and it is the one the finance review picks apart.
- A platform changes a schema, the refresh fails, and the dashboard shows last week until somebody notices.
The marketing table LeadJourney supplies
A fact table with a real grain, refreshing on its own
- Every visit is captured server-side and first-party on your own domain, at 95%+ accuracy, before any consent tool or ad blocker gets a vote.
- Clicks, conversions and leads stream into your dataset already joined per lead, so the grain is a journey rather than a platform's daily summary.
- The CRM stage and the deal value are on the lead, read from HubSpot, Salesforce, Pipedrive or a webhook before the row was written.
- Spend is pulled from every connected ad account, so cost per qualified lead and ROAS are measures over one consistent source.
- First click, last click, linear, position based and time decay are decided in LeadJourney, so the model does not carry five competing definitions of credit.
- Nothing for your team to maintain. The export is a connection, so a schema change at Meta is our problem, not a failed refresh on Monday.
- And the same records go back to Meta, Google, LinkedIn and Microsoft Ads as conversions, which is a thing a semantic model cannot do at all.
How it works
Power BI marketing attribution, through the connector you already have
There is nothing to install and nothing to certify. LeadJourney fills a dataset in your own Google Cloud project, and Power BI reads it like any other BigQuery source.
1 The attributed dataset arrives in your project
Streaming, at the grain your model wants.
Ad clicks, spend, sessions and click IDs are tracked server-side across paid, organic and AI search.
The CRM stage and the deal value join the journey, and the revenue is attributed with the model you chose.
Clicks, conversions and leads stream into a dataset in your own Google Cloud project as they happen.
Your project, your region, your access rules. LeadJourney writes rows and reads nothing back.
2 Power BI reads it, and marketing joins the model
Import for the usual case, DirectQuery when the report has to be live.
Add the dataset with Power BI's built-in Google BigQuery connector, on a service account your team controls.
Model it next to revenue, pipeline, cost centres and headcount. The grain is one journey per lead, which joins to the CRM cleanly.
Your refresh schedule, your row-level security, your workspace governance. Nothing about the export asks for an exception.
Cost per qualified lead and return on ad spend become measures the finance review can trace to a record.
The return path
A model explains last quarter. The same records make the next one cheaper.
Reporting is where most marketing data projects stop, because a warehouse and a BI tool can only read. Telling the ad platforms which leads actually closed is the half that changes the outcome.
MetaConversions API
Qualified leads, booked meetings and won deals, with the deal value
Google AdsOffline conversion import
Deals matched on gclid, with the revenue for value based bidding
LinkedIn AdsConversions API
Stage changes and won deals matched on li_fat_id
Microsoft AdsOffline conversions
Deals matched on msclkid, with the amount
One record, two destinations
The row your model reads and the conversion Meta receives come from the same record, so the report and the ad account cannot drift apart.
You choose what counts
Map any CRM stage to any platform event. Qualified lead, meeting booked, deal won, or all three, each with its own value.
Sent server to server
No pixel to fire, nothing for an ad blocker or a declined cookie banner to remove on the way out.
Reporting
The measures the model could not carry
Each of these is also a built-in LeadJourney report, so the marketing team is not blocked while the model is built. The dataset is there for the questions only your business asks.
What did a closed customer cost in advertising, by segment, by entity and by quarter?
Which campaigns produce the deals that stay, once you join them to the retention data already in the model?
How does marketing-sourced pipeline compare to the rest, on the same definitions finance uses?
How much pipeline came from ChatGPT, Perplexity and Gemini, as sources of their own?
How does the same quarter look on first click and on last click, without re-running anything?
Which business units are buying the same lead twice, and what does that cost the group?
LeadJourney and a marketing table you build yourself
Where the connector list ends and LeadJourney starts
Power BI will connect to every marketing source you own and model them properly. What none of those sources contains is the link between the ad click and the deal, because none of them was ever watching both.
| Capability | With LeadJourney | |
|---|---|---|
| Power BI marketing attribution | With LeadJourneyArrives already joined, at one journey per lead, so the fact table has a grain the CRM joins to. | |
| Where the click data comes from | With LeadJourneyServer-side and first-party on your own domain, at 95%+ accuracy, with the click IDs stored at the moment of the click. | |
| CRM revenue on the row | With LeadJourneyThe stage and the deal value are read from HubSpot, Salesforce, Pipedrive, Close, Attio or a webhook and travel with the lead. | |
| Ad spend | With LeadJourneyPulled from every connected ad account automatically and normalised, so a monthly total needs no reconciliation step. | |
| Attribution models | With LeadJourneyFirst click, last click, linear, position based and time decay, decided in the product, so the dataset carries one answer. | |
| Refresh and maintenance | With LeadJourneyRows stream in on their own. Power BI refreshes on your schedule against a source that does not break. | |
| Governance and security | With LeadJourneyUnchanged. The dataset sits in your Google Cloud project under your access rules, and Power BI reads it with a service account you issue. | |
| Conversions back to the ad platforms | With LeadJourneyEvery stage change and won deal goes back to Meta, Google, LinkedIn and Microsoft Ads from the same rows. | |
| The marketing team waiting on the model | With LeadJourneyHas the reports, the dashboards and Atlas from day one, on the same data the model will read. |
Keep the model. Give it a marketing table worth joining.
Power BI stays where the business is modelled and where finance reads the result. LeadJourney supplies the one fact table the connectors cannot: the click, the lead and the closed deal at one grain, and it hands that same record back to the ad platforms on the way past.
MCP server
The answer before the model is finished
A semantic model takes as long as it takes. Meanwhile the same journeys, spend and attributed revenue answer in Claude, ChatGPT or Cursor, from your own numbers.
LeadJourney MCP connected, try any tab
Which campaigns produced our closed revenue last month?
Based on your LeadJourney data, 3 campaigns produced 148,200 EUR of closed revenue last month:
- Google Ads, Brand
- 38 leads, 9 closed deals, 61,400 EUR. Shortest path to signature.
- LinkedIn, Retargeting
- 21 leads, 6 closed deals, 48,900 EUR. Seven touchpoints on average.
- Meta, Lookalike DACH
- 54 leads, 5 closed deals, 37,900 EUR. Cheapest qualified lead.
Want this as a weekly summary in Slack?
Ask anything about your lead journeys
Where did our three biggest deals this quarter come from?
Your 3 largest deals this quarter all started somewhere the last click never showed you:
- 42,000 EUR
- First touch LinkedIn Ads, closed 63 days later after a webinar signup.
- 28,500 EUR
- First touch Google organic, paid click on day 11, demo on day 19.
- 21,800 EUR
- First touch a Meta video view, form filled from email six weeks on.
Want the full touchpoint list for any of them?
Ask anything about your closed deals
Which landing pages turn LinkedIn traffic into qualified leads?
3 pages take your LinkedIn traffic, and the qualified rate between them runs from 4% to 18%:
- /demo/attribution
- 18% qualified from 214 visits. Highest intent page on the site.
- /guide/server-side
- 9% qualified from 612 visits. Most journeys stall after the download.
- /pricing
- 4% qualified from 488 visits. Second most traffic, lowest intent.
Want the same breakdown for Google Ads traffic?
Ask anything about your landing pages
What did each channel cost per qualified lead last week?
3 channels spent budget last week. Cost per qualified lead ran from 41 EUR to 187 EUR:
- LinkedIn Ads
- 41 EUR per qualified lead. 2,300 EUR spent, 56 qualified.
- Google Ads
- 88 EUR per qualified lead. 4,400 EUR spent, 50 qualified.
- Meta Ads
- 187 EUR per qualified lead. 3,740 EUR spent, 20 qualified.
Want an alert the moment a channel passes 120 EUR?
Ask anything about your cost per lead
What do the journeys that close have in common?
3 signals show up in most of your closed deals and in almost none of the lost ones:
- Pricing page, 2+ visits
- In 71% of closed deals. In 12% of the ones that never closed.
- Demo within 14 days
- In 64% of closed deals. Median 9 days from the first click.
- Second contact
- In 58% of closed deals. A colleague of the lead arrives on site.
Want these three scored onto every lead in your CRM?
Ask anything about your lead journeys
Setup
From the first click to a source in your workspace
No AppSource listing, no custom connector to certify and no exception to your governance policy.
- 1About 21 minutes
Add a single line of code
Paste the LeadJourney script into your site or your tag manager, and connect the ad accounts you buy on and the CRM your deals live in. This is what produces the data the model has been missing.
- 2About 5 minutes
Switch the BigQuery export on
Create a service account in your own Google Cloud project with write access to the dataset you want filled, and paste its key into the BigQuery app. Available on the Scale and Enterprise plans.
- 3Same day
Add it as a source in Power BI
Use the built-in Google BigQuery connector, Import or DirectQuery, and model it next to revenue and pipeline. Your refresh schedule and your row-level security apply as they always did.
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
Read the reviews where they were left
FAQ
What BI teams ask before adding the source
If yours is not here, our team answers in the chat within a few minutes.
Is there a LeadJourney connector for Power BI?
No, and the setup is simpler without one. LeadJourney streams the attributed dataset into a BigQuery dataset in your own Google Cloud project, and Power BI's built-in Google BigQuery connector reads it. Nothing to install from AppSource, nothing custom for your team to certify.
Import or DirectQuery?
Both work, because both are properties of Power BI's BigQuery connector rather than of the export. Most teams import on their normal refresh schedule, because a marketing report rarely needs to be live to the minute and an import is cheaper to query. DirectQuery is there for the report that does.
What is the grain of the data?
One journey per lead, with the click, the campaign, the CRM stage and the deal value on it, plus the click and conversion streams behind it. That grain is the point: it joins to your CRM dimension cleanly, which a platform's daily campaign summary never does.
Whose Google Cloud project is the data in?
Yours. You create the dataset, you set the region and the access rules, and you pay Google for storage and queries as you already do. LeadJourney writes rows with a service account key you issue and can revoke at any time, and Power BI reads with a service account your team controls.
Does this affect our row-level security or workspace governance?
No. It is another BigQuery source in your tenancy, so your existing rules apply to it unchanged. Nothing about the export asks for an exception, an outbound firewall rule or a gateway you do not already run.
We are on the Microsoft stack. Why is the destination Google BigQuery?
Because it is the warehouse the export ships to today, and Power BI reads it natively, so the mismatch costs nothing in practice. Snowflake is on the roadmap and marked that way on the pricing page. If a Microsoft-native destination is a requirement for your review, say so on the first call: which one we build next is decided by who asks.
Can we do this without a warehouse at all?
Power BI can read a Google Sheet that the Zapier app or the API fills, which is on every plan, and small teams do exactly that. For an organisation already running Power BI properly it is the wrong shape, which is why it is a footnote here rather than the recommendation.
Several business units, several workspaces. How does that land?
Each LeadJourney workspace exports to its own dataset, which is how a group keeps each entity's data in the entity's own project and still models the whole thing together in Power BI. Bring the shape you need to the call before the rollout.
Which plans include the export?
The Scale and Enterprise plans, alongside API access. On every plan the same data is reachable through the API, the Zapier app, webhooks and the MCP connection.
Is exporting to our own warehouse GDPR compliant?
It is the arrangement most data protection officers prefer, because the data lands in infrastructure you control under your own agreement with Google. On our side, LeadJourney processes and stores data in the EU, signs an Art. 28 data processing agreement, and tracks first-party and server-side so consent decisions are respected rather than worked around.
Your data, in your tenancy
Give the Power BI model a marketing table it can trust
Connect your ad accounts and your CRM, switch the BigQuery export on, and marketing joins the model at a grain that survives the finance review.


