How do you reconcile MMP and ad platform reports?
Compare the same metric, reporting dates and population in both exports before interpreting the gap. Check timezone, currency, units, filters and attribution settings, then inspect daily and segment differences. TruthPane Parity Reconciler compares supplied CSV files locally; a discrepancy pattern is an investigation prompt, not a confirmed cause.
- What you need: Two CSV exports with a date and the metric to compare; shared dimensions when available.
- What you get: Differences between the supplied reports, comparison coverage and a record of assumptions and unknowns.
- Limits: No ad-account connection, automatic inspection of provider settings or proof that either platform is wrong.
Two dashboards can report different numbers without either export being broken. Before explaining a discrepancy, establish whether the reports describe the same metric, dates and population. A gap is an observation; its cause still needs evidence.
Start with a comparison you can defend
Export both reports for the same intended period. Keep the original files unchanged and note which source produced each one. Record the account timezone, reporting currency, selected campaigns, filters and export time separately. If one of these is unknown, mark it unknown rather than filling in a likely value.
For installs or revenue, check the metric definition and attribution settings in each source. Do not apply an install-attribution explanation to spend simply because the daily curves look similar. A spend discrepancy needs its own investigation of scope, currency, units and reporting coverage.
Prepare the two files
- Include a date column and the metric you want to compare in each CSV.
- Keep useful dimensions such as channel, country or platform when both reports expose them.
- Check whether the metric column contains a total, a rate or a value in a different unit.
- Distinguish a row with zero activity from a date that is absent from the export.
In Parity Reconciler, load source A and source B, map their columns, and choose the metric. The column names do not have to match. Try the built-in sample first if you want to see the output before using your own files.
Illustrative example: a daily gap
| Date | Source A installs | Source B installs | B minus A |
|---|---|---|---|
| Day 1 | 100 | 120 | 20 |
| Day 2 | 0 | 0 | 0 |
| Day 3 | Missing row | 80 | Not comparable |
Day 1 has a difference of 20 installs, or 20% relative to A. This does not establish why it happened. Day 2 has observed zeros in both sources and still counts as date coverage. Day 3 cannot be treated as an observed zero in A. Combining these cases into one percentage hides the most useful distinction.
Read patterns as investigation prompts
A roughly constant multiplier is a reason to verify units and export scope, not proof of a currency conversion. A gap near day boundaries is a reason to inspect timezone and report timing. A difference concentrated in one dimension is a reason to inspect that segment. Check the source settings before changing the interpretation of an entire report.
Leave a reusable record
Export the row differences for further work. Download the data contract to record the comparison scope, assumptions and unknowns for a teammate or local agent. It describes this analysis; it does not certify either provider as universally correct.
Common questions
Will the tool connect to my ad accounts?
No. It compares the files you provide in your browser. It cannot inspect settings that are absent from those files.
Can it prove which platform is wrong?
No. It identifies differences and possible directions to investigate. A confirmed cause requires evidence from the underlying reporting settings or data.
What percentage discrepancy is acceptable?
There is no universal acceptable percentage. Establish comparable definitions and coverage first, then choose a review threshold for your own workflow. A small gap does not prove that the reports are comparable.
Check the reporting settings at the source
For AppsFlyer exports, consult the provider's data freshness and timezone documentation and attribution lookback-window documentation. These describe settings to verify; they do not establish the cause of a discrepancy in your files.
If your question is about campaign settings rather than performance numbers, use Launch Diff. For a daily summary after resolving your reporting scope, use Daily UA Report.