M·A mark microanalytics

Optimise campaigns on real CRM revenue,
not on what the platforms claim.

Every platform — Meta, Google, TikTok — counts its own conversions and credits itself. Add them up and the total runs past your real leads and sales. CRM-based attribution ties every lead and every sale back to your CRM, so you optimise on revenue, not on inflated numbers.

B B Meta “50” Google “45” TikTok “+15” “50”+“45”+“15” = “110” — same sale, three times tied to the real click — GCLID consent DEDUPLICATION “110” in → 60 out CRM — SINGLE SOURCE OF TRUTH 60 LEADS · 12 SALES RETURN PUMP OCI · CAPI the loop, closed — real sales back to the platforms’ bidding revenue, not form fills ±0.00 −3.60 one sale = one sale — counted once ABOVE — CLAIMED BELOW — PROVEN CRM ATTRIBUTION SECTION B–B · 1:100 · REV 01 · 2026 OPTIMISED ON REVENUE — NOT CLAIMS

What you get

— one honest number

Each source's real contribution

To pipeline and revenue — not its self-reported credit.

— in production

The loop closed, automated

CRM → platforms, running on its own. Not a one-off export.

— decisions

Clear optimisation rules

What to scale and what to cut, based on real revenue.

— you own it

Reporting that survives a CFO question

Documented and handed over. The stack is yours to run.

Who it’s for

For performance / digital media and marketing teams at mid-sized and large companies that spend across several platforms and have a CRM or a sales pipeline behind them.

Especially where the real conversion isn’t a click, but a qualified lead, a quote or a sale that closes days or weeks later. If you pay for media to build pipeline, not form fills, this page is for you.

The problem, plainly

Ad platforms are self-attributing: each one sees only its own clicks and credits itself the conversion, with attribution windows built to maximise the credit it can claim.

Meta says 50. Google says 45. TikTok adds a few more. Add them up — 110. Your CRM shows 60 real leads and 12 sales.

The same sale gets counted several times, and some of those “conversions” are form fills that never closed. Optimise your budget against 110 and you’re optimising against a lie — you scale the source that brings cheap leads that never buy, and cut the one that was actually bringing the sales.

How it works

The CRM becomes the single source of truth

Lead → qualified lead → sale → value. That's what counts — not what the platform reports.

Every conversion tied to the real click

GCLID / click ID, first-party and hashed. No more taking the platform's word for it.

Deduplicated across the five sources

One sale = one sale, attributed once — instead of the same close counted three or four times.

The loop closed back to the platforms

Offline conversion import / Enhanced Conversions for Leads on Google, CAPI with CRM data on Meta — so Smart Bidding and Advantage+ bid on real sales, not form fills.

Consent-aware from the start

First-party data only, hashed, with consent respected (GDPR / ANSPDCP). No unnecessary exposure.

Practitioner note. As of June 2026, Google moved offline conversion import and Enhanced Conversions for Leads to the Data Manager API — exactly the moment to build the plumbing properly, not patch it.

How we work together

01 — Map

Map the ground truth

  • Which platforms you spend across
  • Which CRM or pipeline sits behind
  • What “a real conversion” means — lead, quote or sale
02 — Tie & dedupe

Tie the click to the CRM

  • First-party click IDs, hashed
  • Deduplicate across the sources
  • The size of the inflation, on your own data
03 — Close the loop

Close the loop to the platforms

  • Google OCI / Enhanced Conversions for Leads
  • Meta CAPI with CRM data
  • Algorithms bidding on real sales
04 — Optimise

Optimise on real outcomes

  • Scale / cut rules on revenue
  • Reporting you can defend
  • Handed over — you own it
— Talk to us

One honest number. Real revenue.