Datagran
All articles

Revenue attribution

Lead-to-revenue attribution: connect campaign activity to closed deals

A practical checklist for linking campaign sources, customer conversations, CRM opportunities, and revenue without counting the same deal twice.

Datagran team ·

Campaign dashboards and CRM reports often tell different stories. One counts a submitted form, another counts a booking, and a third counts a closed opportunity. Those numbers can all be correct while answering different questions.

Lead-to-revenue attribution connects the activity that introduced a prospect to the business outcome that followed. A useful setup makes the connection inspectable. It also shows where information is missing instead of assigning credit with false precision.

Use this checklist to define the measurement before changing your campaigns. It is an operating framework, not a promise that a particular attribution model will reveal the full cause of a sale.

Decide what you mean by revenue

Choose the event you want to report: an opportunity marked closed-won, an invoice issued, or a payment received. They occur at different times and may have different values.

For a sales pipeline report, closed-won opportunity value may be useful. For cash reporting, the collected amount matters. Label the report clearly and keep the two separate. A signed annual contract and its first monthly payment should not silently become interchangeable numbers.

Define the currency, time zone, and reporting period. Include a rule for refunds, cancellations, and later changes to the deal amount. Use your CRM and accounting team's agreed definitions so the marketing report can be reconciled with the underlying records.

Keep a small, consistent source record

At the point where a lead enters your workflow, preserve the source information you actually have. Useful fields include source, medium, campaign, landing page, timestamp, and the related contact or conversation identifier.

Do not put names, email addresses, or other personal information into campaign parameters. Use campaign labels to describe the campaign. Keep contact identifiers in the systems designed to hold them.

Store the first observed source separately from later touches. If a lead returns through a second campaign, replacing the first source destroys useful history. Similarly, a salesperson's manual CRM update should not overwrite the original acquisition information.

Missing information should remain visible. A direct visit can mean a person typed your URL, used a bookmark, or arrived through a link without source data. It does not prove that marketing had no influence.

Connect conversations to contacts and opportunities

A conversation is not an opportunity. One contact may have several conversations, and one opportunity may involve several contacts.

Choose explicit links between these records. If the CRM already has stable contact and opportunity identifiers, carry them through the workflow. Where a match is uncertain, review it before adding a new opportunity or merging contacts.

Keep an audit trail for important changes: when a record was created, how it matched, and which opportunity received the source information. The trail is especially useful when a prospect books under a different email address or a teammate creates a deal manually.

Datagran's workflow includes customer conversations, CRM updates, and revenue attribution. When evaluating the fit, check how your actual CRM records connect rather than assuming that every lead source uses the same identifiers.

Choose a credit rule and name it

First-touch and last-touch reports answer different questions. First-touch gives credit to the earliest recorded source in the chosen window. Last-touch gives credit to the final qualifying touch before the defined conversion. Neither proves that the credited touch caused the purchase.

If you use a split-credit model, document the allocation rule and make sure the shares sum to the opportunity's value. Do not add the full deal amount to every campaign and then total the campaign rows.

For example, imagine a hypothetical $6,000 closed-won deal. The prospect first arrived through an educational article and later booked through a tagged email link. A first-touch report may assign $6,000 to the article; a last-touch report may assign $6,000 to email. A deliberately chosen equal split would assign $3,000 to each.

These are alternative views of the same $6,000 deal. Adding them together produces an inflated $18,000 figure. The model, qualifying event, and lookback window must be part of the report's label.

Separate the stages of the funnel

Track each stage with its own definition:

  • Lead: A record with enough information for the business to follow up appropriately.
  • Booking: A scheduled meeting, including a status for cancellation or no-show.
  • Qualified opportunity: A potential deal that meets the team's agreed criteria.
  • Closed-won: An opportunity recorded as won under the CRM's definition.
  • Collected revenue: Payment received under the accounting system's definition.

Avoid calling every booking a qualified lead. Qualification can happen before or after a meeting depending on the sales process. Use the human handoff workflow to make the criteria explicit.

Look at the progression as well as the totals. A campaign with many bookings and few opportunities raises a different question from a campaign with fewer bookings and stronger fit.

Use a cohort when deals take time

A report of this month's leads divided into this month's closed deals can mix unrelated groups. Some deals may have started several months earlier, while newer leads have not had enough time to progress.

For a cohort view, group leads by when they entered the workflow and observe what happens to that group over time. State how long the group has been observed. Compare groups with similar observation periods before drawing conclusions.

Keep a calendar report too if the team needs it for operations. The point is to label the question: “What closed this month?” and “What happened to leads acquired this month?” are different questions.

Reconcile before optimizing

Before moving effort between campaigns, run a small reconciliation:

  1. Select a sample of closed opportunities from the CRM.
  2. Confirm each opportunity appears once in the attributed total.
  3. Check that the recorded amount and currency match the source record.
  4. Trace the campaign credit to an observed touch and the stated model.
  5. Identify unknown sources, duplicate contacts, and missing opportunity links.
  6. Check how refunds and reopened deals affect the result.

Review exceptions with sales and operations. A spreadsheet that explains ten real deals is a better starting point than a polished dashboard that cannot explain one.

Act on the limits as well as the findings

Attribution is a record of observed connections. It can help you identify useful sources, missing data, and broken handoffs. It does not isolate every influence on a customer or prove that shifting spend will recreate the same result.

Use it alongside customer conversations and controlled experiments where practical. When a source produces good opportunities, inspect the content, audience, and follow-up before copying it to another channel.

For a Datagran demo, bring one campaign-to-deal example, your CRM stages, and your revenue definition. Those three items make it easier to assess the workflow than a general request for a better dashboard.

Connect the work in your own business.

Bring your lead, CRM, and reporting workflow to a Datagran demo. We can walk through where context is lost and what your team needs to connect.

Book a demo (opens the booking calendar)