the proof.

Attribution

Find out which marketing spend actually produced revenue

On a six-month sales cycle with four people on the buying committee, last-click attribution isn’t imperfect. It’s actively misleading. It credits whatever happened to be last and hides everything that did the work.

We’ll tell you what your current data can and can’t honestly support, before anyone talks about building anything.

Symptoms

You’ll recognise this if…

The board asks what CAC payback looks like and the answer takes two weeks and three caveats

Google says it produced 40 leads, the CRM shows 12, and both are defended in the same meeting

Your best-performing channel on paper is the one everyone privately suspects is just taking credit

Budget decisions get made on gut feel because the numbers never settle an argument

Sales says marketing’s leads are poor, marketing says sales doesn’t work them, and there’s no shared definition to resolve it

Deals close six months after the first touch and nothing connects the two

Straight answers

The honest bit, up front

We’re not going to hand you a dashboard that says Google Ads generated R2.4m. Nobody can produce that number honestly on a long, multi-touch, committee-led sale, and anyone who offers to is selling you confidence rather than accuracy. What we can do is give you a consistent, defensible view: one where the definitions are written down, the same question returns the same answer next quarter, and you can see which channels appear early in deals that close versus which appear only in deals that don’t. That’s less exciting than a single number. It’s also the thing that actually changes budget decisions, because it survives being challenged.

Run your own numbers

What your tracking gap is costing you

Put in your own numbers. Steps 1 to 4 are worked out only from them, with the working under each figure. Step 5 adds the ad networks’ own published figures, shown as a range and kept separate.

Your numbers

These are example figures for a mid-sized B2B business. Replace them with yours.

Spend and leads, per month
Sales
Ad networks you use

Each network counts every lead it touched, so these can add up to more than your real total.

1

Spend you can’t account for

From your numbers
R648,000a year

R54,000 a month goes into campaigns whose leads never reach your CRM with a source attached. You can’t tell what that money produced.

36 of 80 platform leads have no source in the CRM, so 45% of the R120,000 monthly spend can’t be tied to what it produced. R54,000 × 12.

2

Revenue you can’t trace to a source

Assumes your usual close rate
R2,332,800a year

If those untraced leads close at your normal rate, this much revenue arrives every year with nothing to say which spend brought it in. It still gets counted. It just can’t inform the next budget.

36 untraced leads × 3% close rate = 1.1 deals a month, × R180,000 × 12.

3

Return on ad spend

Assumes your usual close rate
As your CRM sees it2.0x
If every lead were identified3.6x

If the leads your platforms report are real, your ads return about 3.6x in first-year revenue. Your CRM can only see 2.0x of it, so that’s the number budget decisions get made on.

As your CRM sees it: 44 sourced leads × 3% × R180,000 = R237,600 a month ÷ R120,000 spend. If every lead were identified: 80 leads × 3% × R180,000 = R432,000 ÷ R120,000.

4

What recovering the data is worth

Scenario
ViewCost per closed dealROAS
As your CRM sees it todayR90,9092.0x
After recovering 50% of untraced leadsR64,5162.8x
If every lead were identifiedR50,0003.6x
R1,166,400of revenue a year you can credit to a channel

Getting 18 of your 36 untraced leads back into the CRM with a source means 0.5 more deals a month can be credited to the spend that won them. Your cost per closed deal then reads R64,516 instead of R90,909, so budget decisions stop being made on an inflated number.

18 recovered leads × 3% close rate = 0.5 deals a month, × R180,000 × 12. Cost per closed deal = R120,000 ÷ (traced leads × 3%). ROAS = traced leads × 3% × R180,000 ÷ R120,000.

The recovered revenue was already arriving. What changes is that you can see which spend produced it, and put more behind it.

5

What connecting your CRM to the ad networks could add

Platform-reported figures

When your CRM sends conversions back to the ad networks, their bidding learns which leads turn into revenue. These are the results the networks themselves publish for that connection.

  • Google Ads+10% conversions

    Median lift Google reports from adding first-party data (email, phone) to click IDs in offline conversion imports, compared with standard offline import.

    50 leads reported → +2.5 to 5 leads a month

    Source: Google Ads Help
  • Meta Ads+21.7% results for the same spend

    Meta reports 17.8% lower cost per result on average with the Conversions API for web events, compared with no Conversions API.

    30 leads reported → +3.2 to 6.5 leads a month

    Source: Meta
+5.7 to 11.5more leads a month

At your close rate that’s R372,482 to R744,964 of first-year revenue a year, and ROAS of 3.9x to 4.1x against 3.6x if every lead were identified.

Google Ads: 50 × 10% = 5, halved = 2.5. Meta Ads: 30 × 21.7% = 6.5, halved = 3.25. ROAS adds these leads to the 80 your platforms report.

These are the platforms’ own averages, not ours, and they mix two things: conversions that already happened now being counted, and bidding finding more of the right people. The low end is half the published figure to allow for that. None of it is added to the cards above. Google’s figure compares against advertisers who already import offline conversions.

These are estimates from your own numbers. Pipeline Proof, our two-week diagnostic, replaces each one with a measured figure and tells you what to fix first.

Book a call

What this leaves out, on purpose: industry benchmarks and differences between channels. Steps 1 to 4 use only your numbers. Step 5 is the only place we use outside figures: the ad networks’ own published results, shown as a range. Cost per closed deal and ROAS are blended across all your spend, and step 1 assumes untraced leads cost the same to win as traced ones.

The work

What we actually do

Five phases. Most attribution projects fail at the first one, not the last.

01

Agree what we’re measuring

Lifecycle stages, what qualifies as an SQL, what counts as an opportunity. Marketing and sales in the same conversation. Most attribution projects fail here rather than technically, because if the two teams mean different things by “qualified”, no model will reconcile them.

02

Fix the collection layer

Attribution is only as good as what was captured at the time. The gclid through to CRM, campaign data preserved across domains, offline and phone conversions accounted for. Often this is where most of the work is, and we’ll say so if it is.

03

Join the systems

CRM, ad platforms, analytics, and billing where it’s relevant. In the ICP we work in, data usually sits in more than three systems that have never been joined. That joining is the actual deliverable.

04

Choose models that suit your cycle

Not one model. A first-touch view and a multi-touch view answer different questions and you need both. For long cycles we’ll usually look at pipeline influence alongside conversion credit, because a six-month deal has no single moment that caused it.

05

Report where decisions get made

Reporting in HubSpot, or wherever your leadership actually looks. A dashboard nobody opens has changed nothing.

Deliverables

What you get

Written, agreed definitions for lifecycle stages and qualification

Tracking that survives the journey from click to closed deal

CRM, ad and analytics data joined into one view

Attribution models suited to your sales cycle, with their limits stated

Reporting on pipeline and revenue rather than form fills

A clear account of what your data cannot tell you, so nobody over-reads it

Proof

A HubSpot Gold Partner

We built and run the data and analytics environment at NetFlorist, a robust data environment business units engage with directly to derive insights and drive decisions. We run analytics and search measurement at Vox Telecoms, where attribution has to resolve by business unit rather than by company.

0+

brands and websites marketed across industries

0+

brands and websites marketed across industries

0+

brands and websites marketed across industries

0x faster

project delivery compared to traditional agencies

0x faster

project delivery compared to traditional agencies

0x faster

project delivery compared to traditional agencies

0%+

of clients return for ongoing work

0%+

of clients return for ongoing work

0%+

of clients return for ongoing work

Honestly

Where this isn’t the right fit

If you want a number that proves marketing’s worth to a sceptical board, and you want it to be a big number, we’re the wrong agency. Sometimes the honest answer is that a channel isn’t working, and we’d rather tell you that in month one than build you a model that flatters it. If your sales process isn’t defined, with no stages, no owner and no forecast, there’s nothing to attribute to yet. And if marketing and sales can’t be brought into the same room to agree what “qualified” means, attribution won’t fix it. That’s the constraint, and no amount of data modelling works around it.

Looking ahead

Looking at 2027

You’re about to produce a great deal more marketing output at a fraction of the cost. That makes the question “which of this worked?” harder and more valuable at the same time: more activity, more channels, less human memory of why any of it was made. Attribution is the thing that stops volume from becoming noise, and the teams that sort it out this year will spend next year making better decisions than their competitors.

Contact

Bring us what you’re seeing. We’ll show you what to do next.

Share a bit of context and what you’re trying to achieve. We’ll come back with the most useful next step and help you decide on the smallest set of moves that improves clarity, delivery, and measurement.

By clicking send message I consent to Media Rocket Studio contacting me regarding my enquiry and processing my information as per our Privacy Policy.

© 2026 Media Rocket Studio. All rights reserved.

Created by Media Rocket

© 2026 Media Rocket Studio. All rights reserved.

Created by Media Rocket

© 2026 Media Rocket Studio. All rights reserved.

Created by Media Rocket