How we've built marketing attribution systems and reporting.

$0

of pipeline traced back to a genuine end to end journey.

Building attribution systems

The scope of work

A B2B SaaS company had no visibility into what marketing efforts were driving leads. HubSpot was being used as an email tool only.

What we delivered was normalizing historical data records to the modern sales motion, which uncovered not only the things that worked to create MQLs, but how to quickly deliver real pipeline.

How does Sapwood build a marketing attribution and reporting system?

Step 1

Intake and alignment

  • What you sell, and who actually signs
  • Where you win, and where you lose
  • Which numbers you defend
What you sell Who signs What you defend One agreed brief
Step 2

We audit your existing system

  • Every stage, form and automation
  • What the sync overwrites
  • How much history survives
HubSpot14 stages, 9 forms, 3 unowned Salesforcecampaign influence switched off The sync between thembidirectional, no owner Reporting11 dashboards, 2 opened
Step 3

We identify every gap

  • Marketing operations and demand gen
  • Sales touches and SDR outreach
  • Every gap sized by what it is costing
Source lost at conversion$410kCampaign influence off$330kDuplicate companies$180kNo agreed MQL definition$120kStale field history$60k
Step 4

We build it in your systems

  • HubSpot, Salesforce, or whatever you run
  • History normalized to your motion
  • Workflows, syncs and field governance
HubSpot Salesforce Other systems One sourcethat survives One numberone process
Step 5

And now back to you

  • Built into systems you already own
  • Weekly stand ups while we build
  • Yours when it is done
Book time with us →
You Weekly stand ups while we build

The systems we work in, and the processes we build.

HubSpot Marketing Hub

The gap: Running as an email tool. No attribution model switched on, no campaign contribution, and source written at capture then lost the moment a lead converted.

How we built it: Attribution turned on and scoped to the revenue model rather than the default. Original source preserved through conversion, campaign membership enforced at enrollment, and reporting rebuilt on the repaired field.

The results
61%→4%of closed revenue with no attributable source
3 yearsof history recovered where it was still traceable
1reporting definition, agreed by sales, marketing and finance
Salesforce

The gap: Campaign influence was off. Opportunities carried no link back to what created them, so closed won told you nothing about where it came from.

How we built it: Campaign influence configured with a contact role requirement, opportunity to campaign joins rebuilt, and the HubSpot to Salesforce handoff fixed so source survives the hop between systems.

The results
100%of new opportunities carrying a traceable source
8 hours→Instantto produce a contribution report
2systems reporting the same number
Signal and behavior

The gap: Site behavior, intent and conversation data all existed and none of it reached the opportunity. Three tools producing signal that nobody could tie to pipeline.

How we built it: GA4 sessions joined to the CRM record, ZoomInfo intent and Gong conversation themes written onto the account and the deal, so a signal became an attributable touch rather than a notification somebody saw once.

The results
$5Mof pipeline traced back to a real first touch
22,000conversations matched to the right accounts
3signal sources feeding one timeline
Can you prove which channels are making your pipeline?We will trace it end to end and show you where the credit actually belongs. Free, and the write up is yours either way.
Get a free attribution audit →

Case study: At this fintech, generating leads was never the problem. Knowing which ones worked was.

Qualified leads Opportunities created Closed won
Qualified leads Opps & won 05001,0001,5002,000040801201604611874142Paid search1,840 qualified · 46 opps · 7 wonContent & organic1,120 qualified · 118 opps · 31 wonEvents640 qualified · 74 opps · 18 wonPartner & referral410 qualified · 142 opps · 49 won

Then we traced the ones paid search was taking credit for.

Same five deals. What the old model said, against what actually created them.

AccountValueCredited toActually created by
  • Saffron Ledger$88kPaid search→Partner intro
  • Tiber & Vale$142kPaid search→Content, 6 touches
  • Ochre Rail$64kPaid search→Event, then webinar
  • Kestrel Mint$210kPaid search→Partner intro
  • Indigo Wharf$71kPaid search→Paid search

Four of the five were created somewhere else entirely. Paid search was the last click, not the first touch, and the old model only ever saw the last click.

We hand over the finding, and the recommendation.

Three recommendations, and what each one did the quarter after.

We recommendedCut paid search spend in halfMoved to partner sourcing and content
What happened$1.1Mout of paid, into channels that converted
We recommendedStopped disqualifying event leads at 30 daysRe-scored on re-engagement, not age
What happened214leads returned to pipeline in one quarter
We recommendedSet budget on the repaired modelOne number, reviewed monthly
What happened3 teamssales, marketing and finance on one figure