Core-X Solutions
← WritingAttribution6 min read

Revenue attribution starts with the invoice, not the ad pixel

You know the cash came in. You cannot say which activity produced it. That is a join problem.

Core-X Solutions

You know how much revenue came in. You cannot confidently say which activity generated it.

That is the usual state. Ads report conversions they defined themselves. The CRM reports opportunities someone remembered to fill in. The payment system reports cash. None of them share an ID.

TL;DR

Revenue attribution is a join you can defend: this invoice, this company, these campaigns, this sales motion. Start from billed revenue, not from the ad pixel. Resolve the company and contacts across CRM and ads. Then apply a written model. Native HubSpot and Salesforce attribution reports are only as good as the campaign field. If it is blank on half the deals, the report will be confident and wrong. The work is upstream.

The honest summary

A usable setup has four parts:

  • Revenue from billing, not from the platform conversion
  • Contacts and companies resolved across CRM and ads
  • A written model, even a simple one
  • A report leadership will actually use when they set budget

How to calculate attributed revenue is not a formula in isolation. It is billed amount, allocated by the rule you chose, only after the IDs exist.

What actually breaks

The pixel is not the ledger

Google and Meta will show revenue. That number is for bidding. Putting it in a board pack as revenue is how you double-count and fund the loudest channel.

The CRM amount is a wish

Opportunity amount is what someone typed. Invoices are what the customer paid. Credit the invoice. Use the CRM to hold the path, not the cash.

No shared company

Ads know a click. The CRM knows a contact. Billing knows a legal entity. Without a join, every model is a guess with a chart.

Native reports look finished

HubSpot multi-touch and Salesforce attribution will draw the picture they can. They cannot invent campaign on deals that never received it. Cleaning the field after close does not reconstruct the journey.

How to calculate it without lying

  1. 01Take the period billed revenue
  2. 02Attach each invoice to a company and, where it exists, a deal
  3. 03Attach the people on that company to the campaigns and sessions you actually stored
  4. 04Apply the written model (first, last, linear, or data-driven)
  5. 05Show the unattributed remainder as unattributed, not as other

The remainder is the health metric. If it is large, you do not need a fancier model. You need better capture.

What done looks like

  • You can name the invoice, the company, and the campaigns
  • Unattributed revenue is visible, not hidden in a bucket
  • Budget conversations use this report, not three screenshots
  • Campaign capture is part of routing and form design, not a quarterly project

When this is the wrong project

If you have one offer and one channel, last-touch in the CRM is enough. If you cannot explain a good month without a war room, start from the invoice and work backwards.

Common questions

How to calculate attributed revenue?
Start from billed revenue, attach invoices to companies and deals, attach people to stored campaigns, then apply the written model.
What is revenue attribution?
A join you can defend: this invoice, this company, these campaigns, this sales motion.
What is an example of revenue attribution?
An invoice for company A, two contacts who came from a LinkedIn campaign and a later demo, credited by a linear or last-touch rule you wrote down.
  • Revenue attribution
  • Marketing attribution
  • HubSpot
  • Salesforce

Have a messy system?

That is usually where we can help.

Tell us what is not working, what is still manual, or what you cannot currently see clearly. If it is not something we should take on, we will tell you that too.

hello@core-x.solutions