← Writing

B2B Marketing Attribution: 3 Steps That Turned Marketing Into a Revenue Engine

How we built a full B2B marketing attribution system from zero - and hit 4x ROI on marketing costs. The infrastructure most B2B leaders skip.

Who defines what marketing is worth?

Why most B2B marketing teams can't prove their value

In B2B consulting, there's a pattern that kills marketing credibility before it has a chance to build anything. Marketing asks the delivery team for approval on content. The delivery team says it's too bold, too specific, too exposed. So the content gets softened until it says nothing anyone could object to - and nothing anyone would find worth reading. Then management measures it by how many pieces went out that month. Two articles in February, because that was the KPI. Nobody asked if they opened a single door.

The default state: marketing as cost center, defended with engagement numbers

When I joined Adastra Czechia in 2021, the team of five was measuring itself by the only numbers it could produce: reach, impressions, engagement rates. Not because anyone was lazy - because nobody had ever asked for anything else. The KPI for content was two articles per month. When I asked one of my team members why we published a particular piece, the honest answer was: because we had to publish something in February. Nobody asked what impact it had on the business. Nobody knew. That's not a criticism of the team. It's what happens when marketing is never asked to own a real number.

What "no attribution" actually looks like in practice

The CRM was used for one thing: logging opportunities that sales had already decided to pursue. There were no stages before the opportunity. Marketing activities lived somewhere else entirely. We uploaded leads to the CRM. Nobody worked with them. The budget was set as a percentage of revenue, and the business still came back every quarter asking: "What do we pay for?" On the harder days: "Do we even need a marketing department?"

The question leadership asks that marketing usually can't answer

The framing most marketing teams prepare for - "show us a deal that came from you" - wasn't the conversation at Adastra Czechia. The actual position was further back. The business didn't believe marketing was capable of generating deals at all. And in B2B consulting, the complexity is real: more than ten people are typically involved in a single buying decision, consuming content across multiple channels over months before anything closes. The connection between a workshop in March and a signed contract in November isn't obvious to anyone who hasn't built the infrastructure to trace it.

The 3 steps

Before going into the detail, here's what the three steps are:

  1. Build the data foundation - agree on the MQL definition, own the data quality process, stop asking sales to do it for you
  2. Build the attribution model - move to account-level tracking, run post-event debriefings, build the chain from first touchpoint to closed deal
  3. Make the numbers defensible - qualify every metric by channel and timeframe, name the gaps, report revenue not activity

The sections below go through each one in full - including what we tried first, what didn't work, and what we'd do differently.

What B2B marketing attribution actually requires

The first thing we tried was logical and completely wrong. We asked salespeople and account managers to add one extra field in the CRM - the marketing source - so we could start tracing attribution. They pushed back. I understood why: we were adding our KPI to their workflow. When one of my team members told me the salespeople were too lazy to fill in the source field, I stopped him and asked: why do you complain? What exactly do you want them to do? Should they do it or should we? Who is responsible for this - them or us? Those weren't comfortable conversations, but they were the kind that actually move things forward. But if marketing-attributed revenue is our KPI, then the data quality behind it is our responsibility. The moment we transfer that to someone else, we've already lost. And letting the team avoid that conversation - however uncomfortable - is exactly the kind of niceness that kills performance.

Look at the whole data journey, not the tools

The instinct when attribution isn't working is to look at the tools. We looked at the tools. The problem was never the tools - it was the data flowing through them. No stages before the opportunity. Leads uploaded and ignored. Source fields left blank. You can't fix any of that by switching platforms. You fix it by deciding that data quality is your job and doing it consistently enough that it becomes reliable.

What needs to be true before any attribution model works: agreed definitions, shared ownership

We defined the MQL with every marketing team lead, with the sales director, and with the CEO. We agreed on what marketing-attributed revenue meant - specifically, what portion of a deal we could claim and under what conditions. And we agreed that marketing would own the data quality process, not ask sales to manage it on our behalf. None of those conversations were easy. All of them were necessary.

Why it takes longer than expected - and what we did wrong first

We made a mistake early on that cost us months. We tried to track attribution at the individual contact level - going person by person through opportunities, checking with salespeople how each deal was progressing. It was slow and annoying for both sides. What we eventually realised was simpler: we needed visibility on which won deals were linked to marketing activities, at the account level, not the contact level. In consulting, a deal involves multiple people across an organisation. The contact logged on the CRM opportunity is often not the person who attended our workshop. But if two people from that company came to our event and a deal closed six months later, that connection matters. We started tracking at the account level. It worked.

The CRM foundation — what we did first

Defining marketing-qualified leads specifically, not aspirationally

In B2B consulting, an MQL can't be "someone who showed interest." That's a feeling, not a definition. We qualified leads by three criteria: seniority (decision-making level), company size, and industry vertical. What we don't do is generate contacts through gated content with no relevance to what we sell - where it's easy to fill in a form but we have no idea if the person would ever buy. Every lead that enters our system came through a channel we controlled: our own workshops, where we chose the guest list; LinkedIn ads, where we defined the audience by company, size, and role; or direct business inquiries, where someone is already looking for a solution.

Establishing what marketing activities get logged, at what stage, by whom

Marketing owns the logging. Workshop attendance: logged immediately after the event, tagged by company and event name. LinkedIn submissions: pushed automatically to CRM with campaign source attached. Business inquiries: logged within 24 hours. One hour a week, someone on the marketing team goes through new opportunities and checks whether they can be linked to a marketing account. It's partly manual. The goal was never perfect automation - it was visibility. And visibility is what we have.

The conversations with sales most marketing leaders avoid: agreeing on a shared revenue number

The KPI for the entire Adastra Czechia marketing team is one number: marketing-attributed revenue. Nothing more. How we get there is our responsibility. We meet with sales regularly - not to report metrics, but to hand over leads, hear how they're progressing, and ask what we could do better. That feedback loop is part of what made sales trust us. They started helping us track because they wanted more of what we were giving them.

Building the attribution model

Connecting the chain: workshop conversation → pipeline entry → signed contract

After every workshop, we run a debriefing. The marketing team goes through every attendee and asks the relevant salesperson one question: did this person show genuine interest? If yes, the lead becomes an SQL, gets handed to sales with context - what they attended, what they engaged with, any notes from the event. If not, the lead stays with marketing as an MQL and goes into long-term nurture. That post-event hour became one of the most valuable parts of our process. It's where the chain actually gets built.

How source tagging works throughout the funnel — and why we moved to account-level tracking

In theory, source tagging is simple: tag the first touchpoint and preserve it. In practice, B2B consulting is messier. The person who attended our workshop is often not the contact listed on the CRM opportunity. Salespeople manage multiple contacts within the same organisation and they change them, sometimes by accident, when logging a deal. We faced a choice: fight that reality or work within it. We chose to track at the account level. If two people from a company attended our event and that company is now in the pipeline, that's a marketing connection - regardless of which name is on the opportunity. We agreed that rule with sales, not as a fight, but as a shared way to read the data. It wasn't a perfect decision - but the best decisions rarely are. We committed to it, and corrected course as the data improved.

The honest gap: cost per lead

We still have one gap: cost per lead isn't tracked per individual lead. We know the total marketing cost and the total attributed revenue. Individual lead cost is the next layer to build. I name it deliberately - because naming gaps is part of what makes the numbers you can report worth trusting.

What the numbers look like when the infrastructure works

Adastra marketing ROI - cost vs attributed revenue, CRM-verified
Marketing-attributed revenue vs. total marketing costs — CRM-verified, FY2026

4× ROI on total marketing costs

4× means marketing-attributed revenue divided by total marketing costs - all people, all external spend. The B2B consulting industry spends roughly 6% of revenue on marketing (Sopro, 2025). Top-quartile performers hit 4-5× ROI on that spend (Gartner CMO Survey, 2024). We're hitting that benchmark while spending roughly 25% of what comparable teams in our sector allocate. The constraint forced clarity on what to optimise for. When you can't be everywhere, you stop trying to be.

24% MQL-to-SQL from LinkedIn campaigns (B2B average: 13-15%)

24% MQL-to-SQL from LinkedIn campaigns, against a B2B average of 13-15% (Salesforce State of Sales, 2024). High performers reach 20-25%. The number sits at the top of the high-performer range - on an MQL definition strict enough to filter out anything that wouldn't survive a qualification call. A permissive definition would produce a higher number. It would also mean nothing.

10 new logos marketing-attributed, 7 months into fiscal year

10 new logos marketing-attributed since the beginning of FY2026, 7 months in. 5 of those are marketing-originated - the first contact came from a marketing activity, not a relationship that predated any campaign. The other 5 had a significant marketing touchpoint before the deal closed. Both categories count. Both required the attribution infrastructure to be traceable.

135% of full-year revenue target

135% of our full-year marketing-attributed revenue target, with months still remaining in FY2026. In real numbers: 82M CZK (~€3.2M). The fiscal year opened in October. The target was reached in late April. That number was not possible to report without the infrastructure that came before it - because it wouldn't have existed, and even if it had, we wouldn't have been able to prove it.

What makes these numbers real

The numbers are real and each one is qualified. 4× ROI runs since the fiscal year opened in October. 135% of the full-year target was reached in late April. 24% MQL-to-SQL is from LinkedIn campaigns specifically, on a strict MQL definition. 10 new logos: 5 marketing-originated, 5 with a significant marketing touchpoint before closing. Each number has a source, a timeframe, and a definition behind it. That's not incidental - it's the whole point.

Where to start if you have nothing

Don't stop — build attribution alongside what you're already doing

Don't stop running campaigns while you build the attribution infrastructure. Do both in parallel. The campaigns generate leads even while the reporting underneath is still being built. What changes is that you start tagging, logging, and tracking from day one - so when the infrastructure is ready, you have data to feed it. We didn't pause. Clarity came gradually as the data improved.

What good looks like at 12 months and 2 years

The honest timeline, if you avoid the mistakes we made: 12-18 months to reach basic visibility - consistent CRM logging, an agreed MQL definition, and the first reports you'd trust enough to show a CEO. Around two years to a traceable attribution model with enough history to defend a budget conversation. The three-year figure from our story includes roughly 18 months of doing it wrong first. Skip those mistakes and the curve is shorter.

The patience problem — and why it's harder than any technology decision

The hardest part is not the technology. It's keeping the organisation's trust while you build something that produces no visible output for the first year. That requires a CEO who understands that a properly built machine outperforms a bigger budget - and enough credibility to make that case before you have the numbers to prove it. At Adastra Czechia, that trust existed. I had to earn it first.

Questions people ask after reading this

Q. Why does attribution keep failing in B2B consulting specifically?

Three structural problems compound each other. First, the buying committee is large - in consulting, more than ten people are typically involved in a single deal, consuming content across multiple channels over months before anything closes. Second, the sales cycle is long - a workshop in March might connect to a signed contract in November, and the chain between them is invisible without infrastructure. Third, the contacts are shared and messy - the person who attended your event is often not the name on the CRM opportunity; salespeople manage multiple contacts within an account and change them when logging deals, sometimes by accident. Each of these alone would make attribution hard. All three together is why most B2B consulting marketing teams eventually stop trying and go back to reporting on impressions.

Q. What is the honest minimum a team needs before launching any attribution model?

Three things need to hold consistently before you have anything to build on. An agreed MQL definition - not a feeling, but a set of criteria that marketing and sales both signed off on, specifying who counts as a qualified lead and who doesn't. Clean source logging for at least one channel - not all of them, just one that runs consistently enough to be reliable. And a shared rule with sales on how attribution is assigned - what counts as a marketing-attributed deal, under what conditions, and who owns the call when it's ambiguous. Without all three, you're not building an attribution model. You're logging data into a void and calling it infrastructure.

Q. How do you keep the organisation's trust while building something invisible for a year?

You report the infrastructure, not the results. You can't show attributed revenue in month four, and you shouldn't pretend you can. But you can show that the MQL definition was agreed and is being applied consistently. That source logging is running correctly on at least one channel. That CRM completion rates are improving. That the first post-event debriefing ran and the process worked. You're reporting that the machine is being built correctly - not that it's producing results yet. The distinction matters, and making it clearly is part of the job. Leadership needs to understand what you're building and why it takes time; that requires a CEO who knows the difference between activity and infrastructure. If that understanding is absent, you can try to build it through credibility and specificity before you have the numbers. But you cannot manufacture it from nothing. And if it genuinely isn't there, you will spend 18 months building something that gets cancelled before it delivers.

Q. What does a realistic attribution model look like - account-level, not contact-level?

In B2B consulting, you track at the account level, not the contact level. If two people from a company attended your workshop and that company is now in the pipeline, that's a marketing connection - regardless of which name appears on the CRM opportunity. With one condition: the topic has to match. If the event was about AI transformation and the won deal is in a completely different service area, we don't count it. The link needs to be plausible, not just chronological. You agree that rule with sales explicitly, not as a workaround but as the only version of attribution that reflects how consulting deals actually close. It means the model isn't perfect, and you name that. What it is: consistent, agreed, and honest enough to defend in a revenue review.

Q. How do you handle the gap between theory and reality - clean source tagging vs. messy CRM data?

You work within it rather than against it. In theory, source tagging is simple: tag the first touchpoint and preserve it. In practice, contacts shift, opportunities get rerouted, and source fields get overwritten. The way we handled it: marketing owns the data quality process - not sales. One hour a week, someone on the marketing team goes through new opportunities and checks whether they can be linked to a marketing account. It's partly manual. There's still a gap we name deliberately - cost per lead isn't tracked per individual lead, only as total marketing cost against total attributed revenue. The gaps don't make the numbers less real. Naming them is part of what makes the numbers worth trusting.

If this describes the situation you're in - or the one you're trying to avoid - I'm happy to talk through what this looks like in practice. I built the attribution infrastructure, the demand generation engine, and the team culture at Adastra Czechia from scratch. The same principles apply in any B2B consulting environment.

← Back to Writing

If your pipeline
isn't moving —
let's talk.

Currently open to
CMO or VP of Marketing roles at B2B consulting firms and ambitious scale-ups.
I build from scratch, I work globally, and I do not need it to be tech.

One conversation. No pitch.