Five ideas to take away.
Attribution is a decision tool
Its job is to show where to spend the next hour and the next pound or dollar. It is not a court case about which channel deserves credit.
Definitions come first
Agree what a lead, an MQL and a sales-accepted lead (SAL) are before you configure any tool. Tools then record the agreement.
Track every source, one way
A single UTM convention, forms that capture source fields and a CRM that stores them are worth more than an expensive model.
Report two views, not one
Show the first source that brought the buyer in and the last source before they asked to talk. The gap between them is the insight.
Lead with the leads sales accepts
In long B2B cycles, revenue arrives months later. Report leads, SALs, pipeline and cost per SAL by source now, and tie deals back as they close.
Why attribution is hard in B2B IT services.
A consumer buys after a few clicks. A technology buyer does not. The decision involves a committee, a long evaluation, several sources of information and, usually, a conversation with someone who knows the buyer already. By the time a form is filled in, the buyer may have read a dozen pages, seen your name on LinkedIn, asked an AI assistant for a shortlist and been recommended by a colleague.
That journey produces four measurement problems. The cycle is long, often six to eighteen months from first contact to a signed contract, so revenue cannot be the only measure. Many people are involved, but most tools track browsers, not buying committees. Some influence is invisible: podcasts, peer recommendations, private chats and AI answers leave no click behind. The systems are separate: the website sits in one tool, the CRM in another, and ad platforms in a third, each with its own idea of what counts.
The result is familiar. Marketing reports traffic and form fills. Sales reports conversations and deals. Neither report explains why the other looks the way it does, and the meeting that was supposed to settle the question becomes an argument about numbers.
Good attribution does not remove the uncertainty. It narrows it, and it puts marketing and sales on one record of what happened.
What attribution can answer, and what it cannot.
Before building anything, be clear about the questions the work should answer. Three are realistic. Two are not.
| Question | Realistic? | How to answer it |
|---|---|---|
| Which sources bring leads that sales accepts? | Yes | Lead-to-SAL ratio and cost per SAL by source, from CRM data tied to tracking. |
| Which sources start journeys, and which finish them? | Yes | Compare first-touch and last-touch views of the same leads and deals. |
| Where should the next budget or hour go? | Yes | Combine source quality, volume and cost, and test changes one at a time. |
| What exact share of a deal came from each touch? | No | Credit is a modelling choice. Treat splits as a guide, not a fact. |
| What did untracked influence contribute? | Partly | Add a self-reported field and read it beside the tracked data. |
A useful rule: if the answer would not change a decision, do not build the report for it.
Step 1: agree the funnel definitions first.
Most attribution projects fail before any code is written, because marketing and sales use the same words for different things. Write each stage down, name who decides it and give it a rule two people would apply the same way. The full treatment is in our guide to the lead-to-SAL ratio. The short version follows.
| Stage | Event that creates it | Decided by | Where it is recorded |
|---|---|---|---|
| Visitor | A first visit, identified by a cookie or a click ID | Automatic | Web analytics |
| Lead | A named person at a target company asks for something: a form, a demo, a download | Marketing | CRM or marketing automation |
| MQL | A lead that meets fit and engagement rules, such as role, company size and score | Marketing | CRM or marketing automation |
| SAL | A lead sales reviews and agrees to work, within an agreed time | Sales | CRM |
| SQL | A SAL qualified in conversation as a real need | Sales | CRM |
| Opportunity | An SQL with a deal created | Sales | CRM |
| Closed won | A signed contract | Sales | CRM |
Two additions make the definitions work in practice. First, a time limit on acceptance, so a lead nobody has accepted or rejected within, say, two working days returns to marketing. Second, reason codes on every rejection, such as not a fit, duplicate, competitor, student or job seeker, wrong region or existing customer. Reason codes tell you which source or message to fix.
Write the definitions on one page, get the heads of marketing and sales to approve it, and treat any later change as a dated event in the report, not a quiet edit.
Step 2: instrument every source in one consistent way.
Tracking is the least glamorous part of attribution and the one that decides whether anything else works. The goal is simple: every lead should arrive in your CRM carrying the source, medium and campaign that brought the person to the site, the page they first landed on and the page they converted on.
Use one UTM convention. UTM parameters are the labels you add to links so analytics can tell sources apart. Agree a short list of allowed values and apply it to every link you control: ads, emails, social posts, newsletters, partner links and QR codes.
| Parameter | Rule | Example |
|---|---|---|
| utm_source | The platform or publisher, lowercase, no spaces | linkedin, google, newsletter |
| utm_medium | The type of channel, from a fixed list | paid-social, cpc, email, referral |
| utm_campaign | The initiative, in a stable pattern such as quarter-topic-market | q1-sap-migration-us |
| utm_content | The variant: ad, subject line or creative | case-study-video-a |
| utm_term | The keyword, for paid search | sap s4hana migration |
An illustrative convention. The value of the rules is consistency, not these particular names.
Capture source on every form. Add hidden fields to each form that store the UTM values, the first landing page, the referrer and, for Google Ads, the click ID. Store the first values when someone arrives and keep them for the session or longer, so the form records where the person came from rather than the page they were on when they submitted.
Mark real conversions in analytics. In Google Analytics 4, conversions are called key events. Mark your lead events, such as a demo request or a gated guide download, as key events, and keep them separate from low-value actions such as scrolling or a click on a menu. Test each one by submitting a form and checking that the event, the source and the lead appear where you expect.
Install platform tags properly. The tags for LinkedIn, Google Ads and other platforms let you see conversions inside those tools and feed their optimisation. They also need consent handling, which is covered below.
Check the edges. Common leaks include cross-domain journeys (a separate booking or webinar domain), forms embedded in iframes, links in email that strip parameters, redirects that drop UTMs and traffic that shows up as direct because the tag failed. A short audit of these usually finds the biggest gap in the data.
Step 3: join the website and the CRM.
Web analytics knows what people did before they became leads. The CRM knows what happened afterwards. Attribution only exists when the two are joined, which means the source fields captured on the form must be stored on the lead or contact record and must survive when the lead becomes part of an account, an opportunity and a deal.
A workable record structure uses a small set of fields that never get overwritten and a few that do:
| Field | Behaviour | Why it matters |
|---|---|---|
| Original source and campaign | Set once, never overwritten | Shows what started the relationship (first touch) |
| Latest source and campaign | Updated at each conversion | Shows what prompted the most recent request (last touch) |
| First landing page | Set once | Shows which content opens journeys |
| Conversion page and offer | Updated at each conversion | Shows which asset or form produced the lead |
| Stage dates: created, MQL, SAL, SQL, opportunity, closed | Stamped by the system at each stage | Enables conversion rates, speed and cohort views |
| Reject reason | Required when a lead is rejected | Turns rejections into fixes |
| Self-reported source | Typed by the lead | Captures influence that tracking misses |
Then decide how the joining happens. The common options are a native integration between your marketing automation platform and CRM (HubSpot, Salesforce, Pardot, Marketo and similar), a form tool that writes straight into the CRM, or a data pipeline that sends web events to a warehouse where they are matched to CRM records. Native integrations are quicker to set up and cover most mid-sized firms. A warehouse suits teams that need to combine many systems.
Whichever route you choose, deal with three things early. Duplicates: the same person entering through two forms should create one record, not two. Account level: in B2B you often care about the company, so connect contacts to accounts and report at both levels. Ownership: name one person who owns the data model, because fields drift when everyone can add them.
Last, feed outcomes back to the ad platforms. Most major platforms accept offline conversions, meaning the later stages recorded in your CRM, such as SAL or opportunity. Sending those back lets the platform optimise towards leads sales accepts rather than towards form fills.
Step 4: choose attribution models you can explain.
An attribution model is a rule for sharing credit across the touches in a journey. No model is correct. Each makes a different assumption, so each answers a different question. Choose the models that help your decisions and that you can explain in one sentence to a sales director.
| Model | How it gives credit | Best used for | Weakness |
|---|---|---|---|
| First touch | All credit to the first recorded source | Understanding what opens journeys and builds demand | Ignores everything that happened afterwards |
| Last touch | All credit to the final source before conversion | Understanding what closes the request | Over-rewards branded search, direct visits and retargeting |
| Linear | Equal credit to every touch | A simple view of the whole journey | Treats a casual view and a decisive visit alike |
| Position-based | More credit to the first and last touches, the rest shared | A balanced view when both opening and closing matter | The weights are a judgement, not data |
| Time decay | More credit to touches closer to conversion | Shorter cycles with clear momentum | Undervalues early awareness work in long cycles |
| Data-driven | Credit assigned by a model learning from your conversion data | Accounts with enough conversions for the model to learn | Hard to explain, and needs volume that many B2B accounts lack |
The models your tools offer change over time, so check what each platform provides today.
For most IT services and technology firms, start with two views side by side: first touch and last touch. First touch shows which channels create demand. Last touch shows which ones capture it. A source that scores well on first touch and poorly on last touch is doing the opening work. One that scores the reverse is closing deals that something else began. Cutting the first kind because it rarely finishes a journey is a common and costly mistake.
Add a multi-touch view, such as position-based, when you have enough leads to make it meaningful, and use it to check the picture rather than to replace it. If the two simple views and the multi-touch view agree, you can act with confidence. If they disagree, run a test before moving budget.
Capture the influence tracking misses.
Some of the most valuable sources in B2B are the ones analytics cannot see: a recommendation from a peer, a conference conversation, a podcast, a private message, or an answer from an AI assistant. A buyer who heard about you this way often arrives as direct traffic, or as branded search, and gets credited to the wrong thing.
The fix is cheap. Add a free-text field to your main forms: "How did you hear about us?" Do not use a drop-down list, because a list tells people what to say. Free text produces answers such as "ChatGPT suggested you", "someone at a client", "saw your talk" and "your guide on lead-to-SAL". Read the answers every month, group them into themes and report them beside the tracked data.
This self-reported view is imperfect, since people forget and simplify. Used alongside tracked sources, it fills the gap that clicks cannot, and it is often where AI assistants and word of mouth first become visible. Ask the same question of the sales team on first calls and record the answer in the CRM.
Step 5: build the one funnel report.
The reason to do all of this is a single report that marketing, sales and leadership read the same way. Build it around the funnel stages, by source, for a fixed period, using CRM data as the source of truth.
A good funnel report has one main table, a few supporting views and a short written reading. The main table looks like this.
| Source | Spend | Leads | MQLs | SALs | Lead-to-SAL | Cost per SAL | Pipeline created |
|---|---|---|---|---|---|---|---|
| Organic search | Content and SEO programme | Count | Count | Count | SAL ÷ leads | Spend ÷ SALs | Value of opportunities |
| Paid search | Media and management | Count | Count | Count | SAL ÷ leads | Spend ÷ SALs | Value of opportunities |
| Media and management | Count | Count | Count | SAL ÷ leads | Spend ÷ SALs | Value of opportunities | |
| Email and nurture | Platform and content | Count | Count | Count | SAL ÷ leads | Spend ÷ SALs | Value of opportunities |
| Referral, events and other | As applicable | Count | Count | Count | SAL ÷ leads | Spend ÷ SALs | Value of opportunities |
The layout of the report, not client data. Each cell is filled from the CRM for the same period.
Group leads by the month they were created. This cohort view stops late acceptances from flattering the next month and early rejections from penalising the last one. Track how each month's leads move through the stages over the following weeks and months.
Report speed as well as volume. The time from lead to first contact, and from lead to SAL decision, often explains a poor ratio better than lead quality does.
Finish with a written reading. For each report, add three short notes: what changed, what it probably means and what you will do next. A table without a recommendation invites a debate; a table with one invites a decision. The analytics and attribution service page shows what this looks like in a monthly review.
What reporting by source revealed in one programme.
A top-5 Indian IT company had a strong sales team and a website with traffic, but only 0.22% of its marketing leads reached sales-accepted status. Over twelve months we rebuilt the site structure for search, added a blog and a gated resource section, ran search and LinkedIn campaigns into it, and nurtured contacts in Pardot. The overall lead-to-SAL ratio reached 4.12% at month twelve.
The reporting made the difference visible by source. Leads from SEO were accepted at 4.37%, against 2.12% for search campaigns, in the same programme. Without source-level reporting, the blended figure would have hidden the fact that the sources behaved differently, and the budget conversation would have been about averages. These are historical results from FY 2018–19 and each programme depends on its starting point. The full detail is in the case study.
In a second programme, for a global operations and analytics firm, SEO, analytics and Marketo nurture were built together, and sign-ups doubled year on year. The lesson in both is the same: when tracking, definitions and reporting are in place before the campaigns scale, you can see which activity produced a useful lead and move effort towards it. See the EXL Service case study.
How to measure when revenue arrives months later.
In IT services, a deal can take six to eighteen months to close, and waiting for revenue means learning too slowly to improve anything. Use two kinds of measure together.
Leading indicators tell you early whether the programme is working: lead volume, lead-to-SAL ratio, cost per SAL, pipeline created and speed through the funnel. They are available within weeks.
Lagging indicators confirm it: closed-won deals, revenue, win rate and sales cycle length by source. They arrive late, so build the report to keep history. When a deal closes, you can look back at the source, the campaign and the touches recorded months earlier, and add the result to the source table.
Over time, this builds a record of which leading indicators predicted revenue in your business. A ratio that moved well and later produced closed deals earns more trust than one that moved and led nowhere. Share this learning with finance and leadership, because it turns marketing from a cost they have to believe in into a number they can check.
Consent, privacy and data quality.
Tracking people raises obligations. Rules differ by place, including GDPR and ePrivacy rules in the EU and UK, state privacy laws in the US and India's Digital Personal Data Protection Act, and they change. This guide is not legal advice, so speak to counsel about your own set-up.
Some practical principles hold in most places. Ask for consent before setting non-essential cookies where the law requires it, and make the choice real: declining should work. Record what the person agreed to. Collect only the fields you will use. Keep personal data out of URLs and analytics parameters. Set a retention period and review it.
Expect consent choices to reduce what you can see, particularly in regions where many people decline. Plan for it. Rely on form fields and CRM records, which hold data people have given you directly, rather than on cookies alone. That is another reason to capture source fields on the form and to ask the self-reported question.
Eight mistakes that make attribution misleading.
Starting with the tool
Buying software before agreeing definitions produces a well-configured dashboard of numbers nobody trusts.
Inconsistent UTMs
Mixed capitalisation and ad hoc names split one source into many. Fix the convention and audit it monthly.
Overwriting first touch
If the original source field updates on every visit, you lose the thing that tells you what opened the relationship.
Trusting last touch alone
It rewards branded search, retargeting and direct visits, and tempts teams to cut the work that created the demand.
Reporting from two systems
If marketing reports from analytics and sales from the CRM, the numbers will never match. Use the CRM as the source of truth.
Counting form fills as leads
Spam, tests and existing customers inflate the base. Clean the lead count before you measure acceptance.
Chasing precision
Small differences between models are noise. Look for large, consistent patterns and test before moving budget.
Skipping the reading
A report with no interpretation and no next action does not change anything. Always end with a decision.
A 90-day plan to put it in place.
Days 1 to 30: Agree and audit
Agree the funnel definitions with sales. Document the UTM convention. Audit the current tracking, forms and CRM fields, and list the gaps by impact.
Days 31 to 60: Connect and fix
Add source fields to forms, store them in the CRM, mark key events, correct leaks such as dropped UTMs and cross-domain journeys, and add the self-reported question.
Days 61 to 90: Report and decide
Build the first funnel report by source and cohort, run the first monthly review with sales, and agree the first change to budget or content based on it.
After day 90, the work becomes a monthly rhythm: report, read, decide, change, and measure again. Add the multi-touch view when volume allows, feed offline conversions back to the platforms, and tie closed deals to their sources as they arrive.
The attribution checklist.
Use this list to review a set-up in an hour. Each unticked item is a gap.
- Funnel definitions written, approved by marketing and sales, and dated
- Time limit for sales to accept or reject a lead, with reason codes on rejections
- One UTM convention in use on ads, email, social and partner links
- Hidden source fields on every form, storing first and latest source and campaign
- First landing page and conversion page recorded on the lead
- Lead events marked as key events in analytics and tested end to end
- Platform tags installed, with consent handling that works
- Source fields stored in the CRM, with original source never overwritten
- Stage dates stamped automatically for lead, MQL, SAL, SQL, opportunity and closed
- Duplicates handled, and contacts connected to accounts
- Offline conversions sent back to the main ad platforms
- "How did you hear about us?" free-text field on the main forms and on first calls
- A monthly funnel report by source, with a cohort view and a written reading
- Closed deals tied back to their original and latest sources
- A named owner for the data model