You know how it goes: “What’s the ROI of this?”, “What’s the ROAS of that?” & “How many Demo Requests from the last campaign?” are just the most prominent asks boards have for Marketers.  
And it’s not an easy one to answer: ad spend for example doesn’t just get demo requests in – it actually rarely does directly!
While there are certain campaigns that do, most just can’t (and shouldn’t) – this is all about creating vs. capturing demand. And measurement is severely limited by technology. The peeps over at e.g. Refine Labs are evangelists here – basically advocating less analysis paralysis & the “Dark Funnel”.

It’s a thing: trying to measure every ad $ is an inefficient, futile task that can’t & doesn’t create value for the team. Sometimes it just needs to be good marketing. 
But of course teams, boards and investors need KPIs. So a framework needs to be in place to give the team feedback on the performance beyond vanity metrics & KPIs (a.k.a. impressions/CPM, clicks/CPC and even conversions). And there’s a few ways to solve for that.

Tracking the right impressions: LinkedIn

Microsoft made a brilliant move buying LinkedIn in 2016 (for $26Bn) – its data is a treasure trove of B2B insights, provided by the 1st party (usually)! They are now more and more capitalizing on it – e.g. with the launch of Sales Insights 2021, but also by providing more detailed insights into campaign performance (maybe available via an integration or the API – pretty please LinkedIn?). The most valuable insights are the impression share in my humble opinion:

Tracking the right clicks: IP Unmasking

There’s plenty of tools out there that help with that – Leadfeeder, Albacross or Lead Forensics among them. In a nutshell, these vendors sell their database of IP addresses. You get to understand what companies visit your website. 

As a next step, you can segment based on utm parameters – and therefore understand which campaigns drive that traffic. Those are then added to the CRM and can be considered “Leads”  (w/o a form fill, but serious intent – add a “time on page” or “avg. session duration” filter on top if need be). Well worth some sales development outreach IF the company is indeed a good fit. 
That data is then synced to the CRM via integrations or the API and we can take it from there. 

Tracking the right Conversions: CDP

There’s even more vendors around in this space. Some are focused on B2C (Emarsys and Exponea/Bloomreach among them), some are more B2B focused (like Hubspot, but also e.g. Segment). Most can only pick up cookie-based information – but since these are first party, they will at least not be affected by Google’s update ‘23/’24. Specifically, it only triggers if a cookie is set (form submit) or resolves (so visits from the same cookie after a form submit). 

Excursion: Marketing Attribution in Salesforce & Hubspot Campaign Objects

Why not go down the obvious route? Use what’s already there? And it’s easy enough – apart from a few admin settings, Salesforce Campaigns are set up quickly and work automatically out-of-the-box. They also come with fancy attribution models (e.g. U-shaped, W-shaped, Time-decay, Last Interaction). A good overview of the Salesforce side of things can be found in this SFDC Campaign Influence blog. I covered the Hubspot side for Reachdesk here. 

  • Caveats to the SFDC attribution models:
    • 100% influence, a single campaign: Model “1.0” is a simple mention/connection to one campaign. A free text field can accomplish basically the same thing…. If it’s set to use auto-association, users can’t even add campaign influence records to the model manually.
    • Contact Roles & Closed Won Oppties only: “2.0” requires campaign members to be assigned a contact role on a closed opportunity. Otherwise, nothing is shown.
    • Contact-based. And not account based. No way to add touches from ABM, e.g. account visits from utms, G2 intent data etc. 
  • Caveats to the Hubspot Campaigns attribution models. They work differently than Saleforce’s and are more limited (for details, see “Influenced Deals” on Campaigns FAQs). They focus on marketing assets and content.
    So in addition to only being able to track Closed Won Deals & Contacts being assigned to Deals,
    • there no way to retroactively update the data: if a Campaign Member wasn’t part of the Campaign before a Deal closes, it’s omitted.

Marketing Automation Setup

Now that we have the data, it needs to be operationalized, i.e.made actionable. Two basic distinctions:


No surprise utm parameters are used. Put them in place for each campaign, the previously discussed IP unmasking tools & CDPs (e.g. Leadfeeder, Hubspot & Co.) can pick up on them and flag the Contacts & Companies. No need to add to any form submissions: this way, if cookies resolve, it will also trigger (e.g. a known Contact clicks on an ad, but doesn’t submit a form – still a win!). The forms determine what they are looking for – content assets, demos, videos, etc. – a different story (one content marketers will be interested in).
It will then look much like that:

This is a templated approach. The workflow is simply cloned for each new campaign. In addition, a few more fields/properties are needed to keep track: 

  • “First Lead Source” (only set once (per Lifecycle Stage cycle), used for “Sourced” attribution). 
  • “Last Lead Source“ (gets overwritten all the time) &
  • “All Lead Sources” (collects all touches)
  • Date fields. Depending on how granular the reporting should be, one for each campaign/channel, distinguishing on- & off page (to get an accurate conversion rate). 
  • “Number of Marketing Campaign Touches” – to increment each time and get properly discounted ROI for Closed Won (mimicking a “Linear Model”). 
  • An “operational” field that helps trigger workflows on the right objects. 

That leaves you with the following to-dos:

  1. Define the “Campaigns” (see blog here!). Usually a “bucket of money” 
  2. Set the utms – a unique “utm_campaign” is usually the most effective way. Create new values for the respective fields (“Lead Source”)
  3. Create (clone) 3 workflows – one for Contacts (and then trigger the Company), one for the Company (and then trigger potential Deals), one for Deals. 


You’ll need a flag for syncs/uploads, and “Last Lead Source” is the most obvious choice. Tag Contacts & Companies as well as Deals and trigger the workflows like before following an upload or a sync (via Zapier).
Other than that, it follows the same tagging & therefore reporting. 

Key Reports – Definitions: 

You see it everywhere: “Marketing needs to create more Opportunities”, “[…] more pipeline”, “[…] more revenue”.
But nobody bothers defining that. What does it even mean (in attribution terms)? It’s not like an impulse decision (vs. buying gum at the cashier) to e.g. request a demo – are all Demo Request considered “Marketing Sourced” then? 
That’d be convenient for sure, and therefore, for the majority of Companies, the answer is “yes”. Exclusively. Like, that IS “Marketing Sourced”!

But what if Sales / Sales Dev. had touches before and diligently worked the account? Proactive, good outbound sales is a thing after all. And Sales & Marketing will, if the org isn’t prepared to double-count Oppties – argue about who “sourced” it of course. Sad. 

Demo submissions are super-easy to track anyway, so let’s improve on it! 
The answer then is: it should be based on time. WHEN did the marketing touch happen in respect to everything else (Sales Outreach, Lifecycle Stage, other touchpoints)?

Accounts Being Worked (“SAL”):

Accounts Marketing brought in / touched, that Sales is working (as in actively reaching out to). That qualifies as “accepted” – the accounts are a good fti (and not say students, one-man-shows or even spam). 

Engaged Accounts (“SQL”): 

Account where the reps are talking to the right personas – via any channel – and are trying to get a meeting. This can add valuable insights into 

  • Business Development’s strides into accounts before demo meetings can be secured. An additional KPI between sheer “Activity counts” &  pipeline generated! 
  • Sales is encouraged to move Accounts to this stage. If a Demo comes in first, it’s considered “Marketing Sourced”.
  • Marketing & campaign performance: not all reasons a touchpoint/conversion doesn’t translate are ours to control. Better than clicks, not as good as Demo Meetings. 

On the details about all these, see the blog about the “The Demand Gen Funnel” here.

Marketing Sourced Deals – “Demo Meeting”:

Opportunities that become a Demo Meeting (or any other significant next step for Sales) AFTER Marketing had the initial/a crucial touch. That one – much like a Sales one – is only “valid” for a certain amount of time, say 30 days. 
IF Marketing brought the account in in any way – content download, webinar signup, event participation and yes, demo request – IF there’s no prior touches, that should be considered “sourced”. Marketing did their job, wouldn’t you agree? 

Reps usually create Deals anew, but there’s also an option to have a “BDR Pipeline” in place where Deals get created automatically. In this case, the data can then be added to the Deals beforehand more easily (automatically). AND the reps only need to progress the Deal to that Stage!

OF COURSE a Demo is the easiest and most obvious way this happens. But what drove it? A campaign maybe? In most cases, it will be “Direct Traffic” or “Organic Traffic”. So if nothing else, the website needs to get the credit.
OF COURSE Sales is doing the follow-up, multi-threading the account, researching the buying committee etc. A good team wins together.
This way, you will understand what Marketing (and ideally even which campaigns) actually surface a NEW, GOOD lead that then becomes an Opportunity. 

Marketing Sourced Deals – “Accepted Pipeline”

Like the former, just accepted by an Account Executive / the Sales team. 

Marketing Sourced Deals – “Closed Won”

The only source for reliable revenue numbers – Customers! 

Marketing Influenced (across all open stages):

That’s rather easy: ALL Oppties/Deals that have a Marketing touch. Looking at the complexity of the sales process nowadays and the inaccuracies that come from it, a valid metric to look at. It can be looked at together with the “Number of Marketing Touches” to get to a linear model when calculating ROI of a campaign or a channel – just divide.

Overview of methodology: 

Overview of data points to record touches on the Objects: 

First Lead SourceLast Lead SourceAll Lead SourcesLS Date On-PageLS Date Off-page
Contacts WFBased Company Lifecycle StageAll the timeAll the timeBy Channel By Channel (+Asset Date)
Company WFBased on Lifecycle StageAll the timeAll the timeBy Channel By Channel (+Asset Date)
Deal WFBased on Company LC OR Deal StageAll the timeAll the timexx

Reset the Marketing Tracking:

Not something you hear (a lot) about. Accounts of course get “(Marketing) Lost” – the timing isn’t right, the org not mature enough, the budget not there (yet). BUT you can’t just forget about that account – it’s a perfect prospect in 6 months, 1y, or even more from now!
Would you consider that “new”? “Sourced” even if Marketing is the first touch / best touch for a demo meeting? Of course. A year is an eternity in SaaS.
So Accounts that don’t make it to an AE will need to get “recycled” – and enter the funnel again in due time. “Lead Sources” & the associated metrics get reset, Marketing can generate “MQLs” – better put “Inbound Accounts”, again. 

As a rule of thumb, ~6m will do the trick. Until then, they stay in a “Nurture” stage if reps reach out occasionally.

Leave a Reply

Your e-mail address will not be published. Required fields are marked *