Help Center
/
Integrations
/
Data discrepancies - where to start

Data discrepancies - where to start

Numbers not lining up? No need to worry - this is one of the most common things we help with, and it is almost always a definition, timezone, or date-type difference rather than missing data.

Just finished onboarding? Please run the Post-Integration Data Check first. This guide is for when you have done that and something still looks off.

A simple way to think about it

First, decide which layer the number belongs to - mixing these up causes most of the confusion:

  • Counting — did we receive the data?
  • Attribution — could we link it to a source?
  • Prediction — is it a forecast (pRevenue, pLTV, pROAS)?
    Most mismatches are simply counted data in one tool compared with attributed or predicted data in another. They answer different questions, so they were never meant to match exactly.

Check these first (this solves most cases)

  • Calendar vs cohort date — payment systems and app stores report by payment date. Cohort reports group by install date (mobile) or visit date (web). For a like-for-like revenue comparison, please use Calendar Insights.
  • Timezone — Campaignswell reports run on the timezone configured for your account (UTC unless we agreed otherwise during onboarding), while ad accounts and stores often use a different one. Transactions near midnight then land on different days: daily numbers shift, monthly totals normally still match.
  • Today's data is always partial — please exclude the current day from any comparison.
  • Definition — gross vs net, before or after refunds, store commission, taxes and processing fees, subscribers vs transactions, new vs renewals. In Campaignswell: Revenue gross → Revenue gross adj. (after refunds, voids, chargebacks and dispute/prevention-alert fees) → Revenue (after store commission, payment-processing fees and taxes). Note that for App Store and Google Play revenue the store's 15–30% commission is part of that last step — it is included in the fee line rather than shown separately.
  • Currency — we report in a single currency (USD by default). Different conversion rates on each side create a small, expected gap.
  • Filters — a filter left on is the single most common cause. Please check both systems.
  • Any recent change? — an integration going live, a new UTM rollout, an SDK or billing change, or a migration between payment providers will all move the numbers.
  • How big is the gap? — roughly 1–2% between systems is normal and comes from timezone, currency and payment-processing timing. Larger or growing gaps are worth a closer look.

Mobile

  • Attribution counts from your integration date onward — earlier dates cannot be compared with MMP cohorts.
  • Cohort revenue will differ from your MMP (we process store data in batches, MMPs work in real time). If Calendar Insights matches the store, your data is in good shape.
  • Day 0 is not the same everywhere — for us it is the first 24 hours from attribution, while most MMPs use the calendar day of install. A late-evening install is where this shows up most.
  • SKAN (iOS) is modelled and arrives late — the last three days are not loaded yet, and SKAN figures keep being restated for several weeks after the cohort date. Spend appears immediately, so the most recent days will always look under-attributed.
  • A small share of N/A is normal once attribution is live (typically up to about 5%). If it is materially higher, please check that purchases carry the install ID (appsflyer_id / adjust_id) — a purchase without it cannot be matched to a user at all — and that your purchase event is implemented.
  • Installs shown without funnel information are the ones where we could not link the web user to the mobile user. Installs shown as Web Funnel (web2web) are the opposite case — there the link succeeded.
    Source of truth: App Store, Google Play or your payment provider for revenue; Ads Manager for spend.

Web

  • A purchase event is the key — cw_subscribe for subscriptions and cw_nrc_purchase for one-time purchases, or the equivalent event your funnel builder sends (for example cw_start_trial, cw_subscribe_ff, purchase_completed_success). Without one of them we see the visits and the payments, but cannot connect the sale to its source, so it goes to N/A.
  • Connect your funnel builder and GA4, re-publish your funnels, and register funnel URLs in Product Catalog → Manage web funnel links — we can only attribute URLs we know about.
  • Web cohorts use the visit date — the last non-organic visit in the 90 days before subscribing — so a payment-provider export will not match a cohort report. Please use Calendar Insights instead.
  • Payment providers differ in when they recognise money (authorisation or hold vs actual payout). This can move revenue between the calendar and cohort views.
  • Some N/A is unavoidable (ad blockers, cookieless sessions without consent, ITP). A large or growing share is worth a closer look.
  • A/B tests — assign the variant per user_id, not user_pseudo_id, otherwise one user can appear in both groups.
    Source of truth: your payment provider for revenue; for Web2App spend, Ads Manager is more reliable than the MMP.

Attribution labels

In Cohort Insights, the old n. a. value is split into three:

  • (not applicable) — no value can exist by design (an organic install has no campaign; a search campaign has no creative). Nothing to fix.
  • (missing) — a value should exist but did not arrive. Please check the setup.
  • (empty) — the traffic source itself was not recognised, so we cannot tell whether the value should exist. Worth a look.
    Other reports, including Calendar Insights, may still show n. a. — the split is being rolled out report by report. If you have a saved filter on n. a. in Cohort Insights, please update it.

Still off? Please send us this

The more of this you include, the faster we can resolve it:

  • ⭐Report link plus the exact metric/column and breakdown
  • Date range and timezone, and whether it is calendar or cohort based
  • Filters applied in both systems
  • Expected vs actual value, plus a screenshot or export from your source
  • Is it one day, a period, or every day? Did it start after any change?
  • 5–20 example IDs (transaction / order / customer, plus MMP IDs) — this detail often decides whether we resolve it the same day or spend a week searching

Still not matching? Please share the report link and a screenshot with your CSM, or book a short call and we will look at the raw data together.

‍