← All posts

Why Your Analytics and CRM Never Quite Agree

Visits, form submissions, contacts and opportunities count different things. Use a simple reconciliation to find the gaps that actually need fixing.

Mario Aldayuz
6 min read

Your analytics report says the campaign brought in 1,500 visits. Your CRM says it created 52 contacts. The sales team says only eight opportunities came from it.

Those numbers can all be correct.

The trouble starts when the team puts them in the same column, calls them all leads, and tries to explain the difference. Visits, browser identifiers, people, form submissions and opportunities describe different things. You need a clear connection between them before you can decide whether marketing worked.

You do not need a perfect view of every customer to fix this. You need agreed definitions, a reliable handoff and a way to explain the gaps you can actually observe.

Start by naming what each system counts

An analytics tool records activity on the site. A CRM holds records your business uses to manage relationships and sales. Their reports answer different questions.

A visit tells you that activity happened during a particular period. It does not mean a new person arrived. One person can visit several times, use more than one device or browse before identifying themselves.

A form submission tells you that someone sent the form. It does not automatically mean you gained a new contact. Existing customers fill out forms. People submit twice. Your own team tests the page.

An opportunity adds another decision. Someone has accepted that there is a potential deal worth managing. That depends on your sales process, not just on a tracking event.

Write these definitions where everyone who reports results can see them:

  • Visit: the unit your analytics tool uses to group activity.
  • Measured visitor: the identifier your tool can distinguish within its available data.
  • Identified person: a person connected to an identity through an appropriate, documented method.
  • New contact: a new CRM record after the agreed duplicate checks.
  • Qualified conversation: an exchange that meets your team's written qualification rules.
  • Opportunity: a potential deal accepted into the sales pipeline.

Keep your tool's exact definitions alongside these working labels. If you are exploring the identification step, start with what OSPRY is designed to help you understand. The important question is how the record was established and what it allows your team to do next.

Build one small reconciliation

Here is a hypothetical campaign, with made-up numbers to show the method.

During May, the campaign recorded 1,500 visits associated with 1,000 measured visitor identifiers. The form recorded 60 successful submissions. After checking them, the team found:

  • Four submissions were repeats from people already counted in that campaign.
  • Two were internal tests.
  • Two came from existing contacts.
  • The remaining 52 created new CRM contacts.

Sales reviewed those contacts and accepted 22 as suitable for a conversation. Eight became opportunities by the reporting cutoff.

Now the difference has an explanation. The campaign did not lose 1,448 leads between analytics and the CRM. The business counted activity at the top, then distinct contact records, then sales decisions.

The calculation also exposes useful questions. Were all 60 submissions received? Did every new record reach the right owner? Why did 30 of the 52 new contacts fail the qualification rules? Those questions can lead to a fix. Comparing 1,500 visits with eight opportunities without the steps between them cannot.

Separate a tracking failure from a business decision

Give every gap a reason before deciding whether it needs repair.

If a successful form submission never reaches the CRM, investigate the handoff. If it reaches the CRM but merges into an existing contact, record that as a successful duplicate match. If sales rejects a contact because you do not serve its market, record a fit decision.

These outcomes should not share a single label such as “lost lead.” They need different responses.

A missing handoff calls for a technical correction. Duplicate submissions may call for a form improvement. Poor fit may call for more specific campaign targeting or clearer page copy. A suitable contact with no assigned owner calls for an operating decision.

Follow one test submission through the entire path. Keep the submission time, CRM record, assigned owner and resulting task together. Reviewing the connections to your sales tools is useful when it leads to this kind of concrete proof. A connection that says it is enabled still needs an end-to-end test.

Use the same dates before arguing about attribution

A contact can arrive in May and become an opportunity in June. A report that counts May visits against opportunities created during May will treat that person differently from a report following everyone who first arrived in May.

Choose which question you are answering.

For a monthly operating report, show the activity and decisions that happened that month. For campaign evaluation, follow a defined group of contacts from their starting point and let their outcomes develop over time.

In the hypothetical example, “eight opportunities by May 31” leaves room for later progress. “Eight opportunities ever” makes a claim the reporting window cannot support.

Agree on the timezone, cutoff and attribution rule too. Keep the first known campaign source, later campaign touches and the source your reporting model credits as separate fields when you need them. They describe different parts of the journey.

Keep an unknown bucket

Some activity will remain unconnected. A visitor may not identify themselves, the available identifiers may change, or the measurement you are permitted to collect may be limited.

Do not assign those visits to a person because the numbers would look tidier. Do not turn every unexplained difference into a tracking defect either.

Record what you know: measured activity, the identity evidence available, the relevant permissions and the outcome you can confirm. Put the rest in an unknown bucket with a clear definition. Consent belongs in the measurement discussion, because the data you collect and the uses you make of it must follow the choices and rules that apply to your setup.

An honest unknown category is useful. It tells you where the report stops. A guessed identity gives the sales team false confidence and makes later analysis harder.

Give the team one shared handoff report

You can start with a short weekly review rather than a new dashboard project.

For each campaign, record visits, successful submissions, new contacts, existing contacts, qualification decisions and accepted opportunities. Add counts for failed handoffs and unassigned records. Name the person responsible for each exception.

Review a few records together. Marketing should be able to explain the campaign and page. Operations should be able to show how the record moved. Sales should be able to explain why it accepted or rejected the opportunity.

Then choose one correction. Fix a broken submission route. Clarify a misleading campaign promise. Assign the records that have been sitting untouched. Check the same step again after the change.

Understanding how a visit becomes something your team can act on starts with that discipline. Your reports do not have to show identical numbers. They have to explain, in plain language, how one number becomes the next.