Report numbers don't match
Why a report differs from another report, the conversion list, a partner's or advertiser's numbers, or the ad platform — and how to reconcile.
Last updated 3 min read
On this page
Most differences come from definitions, not lost data. Check these in order.
1. Same definitions?#
A partner who counts every postback they received, or an advertiser who counts every order, will see more than Conversions: compare with Conversions + Pending + Rejected, or filter the conversion list.
2. Same dates?#
- Time zone. Panel reports bucket days in the viewing user's Display time zone (Profile) when one is set,
otherwise in the workspace time zone (Settings → Workspace). Two teammates with different display zones, or a
partner in another zone, see a different "yesterday". The API uses its
tzparameter. Caps and billing periods always use the workspace zone. - Conversion time vs click time. The report builder counts conversions on their conversion time by default.
Switch the selector next to the date range to click time to count them on the day of their click (cohort view);
the API parameter is
date_basis=click. Totals for a range differ when conversions happen days after clicks. - Status changes do not move dates. A conversion approved today that converted last week is counted last week.
- Hold periods. Held conversions are Pending until the hold ends; they then count as Conversions on their original date.
3. Same currency?#
Money is never added across currencies. Money columns show only amounts in the report's currency (default: the
workspace currency); the report lists the other currencies that have money in the same range — run it again with
that currency. Counts (clicks, conversions) cover every currency. Conversions converted from another currency keep
original_amount, original_currency, fx_rate and fx_date in their parameters.
4. Are changes still syncing?#
Conversions are stored first and then copied to the reporting database by a background job, normally within seconds. Status changes, adjustments and imports follow the same path. On Reports → Conversions the money cards mention "N changes still syncing" while that copy is behind. Wait a minute and refresh; if the number does not go down, contact your platform administrator.
5. Report adjustments#
Report adjustments (/app/reports/adjustments) add or subtract clicks, conversions and money for a day. They are
included in reports but are not conversions, so they never appear in the conversion list or the postback log.
6. Conversion list vs report#
7. Partner or advertiser portal vs network view#
- Partners see only their own traffic and their payout (never revenue, profit or advertiser data).
- Advertisers see only their own offers and revenue (their cost), never payout or partner names.
- Compare the same date range and the same time zone.
8. Ad platform vs TrackCrown#
Google Ads, Meta or a partner's tracker will rarely match exactly:
- the ad platform counts clicks on the ad, TrackCrown counts requests that reached the tracking link (some visitors close the page before the redirect; with parallel tracking the background request can be skipped);
- the ad platform attributes conversions with its own window and model (view-through, data-driven), TrackCrown with the offer's attribution window and last or first touch;
- invalid-click filtering differs: TrackCrown records bots and flags them; the ad platform may remove them silently.
Compare trends, not single days. For a precise check, export click IDs or gclids from both sides and match them with
Transaction lookup or GET /api/v1/clicks?.
9. Find the exact difference#
- Export both sides for one day (report CSV export, the partner's file).
- Match on
conversion_idor the advertiser's order ID (adv_txid). - Look up each unmatched row in Reports → Postback log → Received (did it arrive?) and in Reports → Conversions with all statuses (was it rejected or a duplicate?).
- See Conversions are not attributed for the reasons.