Case study · Multi-channel · Analytics

Making your MMP, GA4 and billing data agree

Three tools report three different counts of the same paid conversions. A shared definition and a few fixes narrow the gap from 15% to about 3% and cut weekly reporting from two days to two hours.

Illustrative scenario. The company and all figures are hypothetical and show how we’d approach the problem. This isn’t a client result, and your numbers will differ.

±15%
Gap to billing data, before
about 3%
Gap to billing data, after
2 days to 2 hours
Weekly reporting time

All figures are hypothetical.

The situation

Imagine a team preparing its weekly numbers. For the same month, the billing system shows 4,000 paid conversions, the mobile measurement partner (MMP) shows 4,600, and GA4 shows 3,400. Every meeting starts with an argument over which number is right, and someone spends two days building a spreadsheet to explain the differences.

Why the tools disagree

SourceConversionsGap to billingLikely causes
Billing system4,000ReferenceRecords what was actually charged
MMP4,600+15%Counts trial restarts and renewals as new, and doesn't remove refunds
GA43,400-15%Consent gaps, and purchases made in the app stores never reach the web tag

None of the tools is broken. They measure different things, and nobody has written down what the team means by "conversion."

The fix

  1. Write one definition. For example: "first paid charge, net of refunds within 14 days, counted on the charge date in UTC." Billing becomes the reference, and every other tool is measured against it.
  2. Align the events. Send the MMP separate events for new subscriptions, renewals and refunds, using server-side notifications from the app stores where possible.
  3. Align the clocks. Set the time zone and reporting currency to match across tools, since these differences alone can move daily numbers.
  4. Give each tool one job. Billing for revenue, the MMP for campaign attribution, GA4 for web behavior. Each report states which source it uses.
  5. Automate a check. A daily job compares the sources and flags any gap above a set threshold, so a broken event gets noticed in a day, not at month end.

The result in this scenario

After the changes, the MMP shows 4,080 conversions (2% above billing) and GA4 shows 3,880 (3% below). The gaps won't reach zero, and they don't need to. Once the difference is small, stable and explained, people can stop debating the numbers and start using them. Weekly reporting drops from two days to two hours.

The takeaway

Before buying another analytics tool, write down your definition of a conversion and test each existing tool against it. Most reporting disputes turn out to be definition disputes.

Multi-channel ROI Illustrative

When three platforms claim the same revenue

A subscription app sees a healthy 1.90 reported ROAS. Measured against sales that would have happened anyway, the real figure is 1.30, and that changes where the budget should go.

1.90 Reported ROAS (hypothetical)

Apple Ads ROI Illustrative

What brand search on Apple Ads really costs

A $5 cost per install on brand terms looks like the best deal in the account. A holdout suggests the true cost is $12.50, and moving part of that budget buys 25% more incremental installs.

$5.00 Reported brand cost per install (hypothetical)

The Lingviny brief

Platform changes and what to do about them, for people who buy Apple, Meta and Google traffic.