Why Your Apple Search Ads Install Numbers Never Match: A Reconciliation Guide for Indie Devs
If you run Apple Search Ads for your app, you have probably noticed that the install count in the Apple Ads dashboard doesn't match what App Store Connect shows, and neither matches what your analytics SDK or RevenueCat reports. This isn't usually a bug. Each system counts different things, on different clocks, with different rules for what counts as an install. The problem is that developers often either ignore the gap or panic about it. Both are expensive. This post explains where the numbers come from, why they drift apart, and a simple routine to reconcile them so you know which numbers to trust for which decisions.
Why the numbers come from different places
Each tool sees a different slice of the same funnel.
- Apple Ads counts taps on your ads and attributes installs that it can link back to those taps.
- App Store Connect counts downloads of your app from all sources, including organic search, browsing, referrals, and ads.
- Your analytics SDK counts events your app sends after it launches, such as first open or sign-up.
- RevenueCat (or your own purchase pipeline) counts purchases and subscription events, and can map some of them back to an install and, when available, to an Apple Ads attribution.
So App Store Connect will usually show more downloads than Apple Ads attributes, because many people download the app without ever tapping your ad. Your SDK may show fewer installs than App Store Connect because some users download but never open the app, or block tracking. None of these is wrong. They answer different questions.
How attribution actually flows
When someone taps an Apple Search Ads placement and installs, the device can carry an attribution token generated by Apple's AdServices framework. After the first launch, your app (through the SDK or a third-party tool) requests attribution details from Apple. Apple then resolves the token and returns campaign, ad group, and keyword information. That resolution is not instant. It typically takes around a day, which means the most recent days in any report will look undercounted compared with their final numbers.
The key implication is that attribution is a delayed, token-based match, not a perfect log of every tap and every install. Some installs never get a token. Some tokens resolve after you've already looked at the report.
Common reasons the gap appears
- Resolution lag. The last one to three days are almost always incomplete in Apple Ads. Comparing today's numbers with App Store Connect's numbers for the same dates will always look worse than it is.
- Users who download later. Someone taps your ad, closes it, and installs two days later from search or from a friend's recommendation. App Store Connect counts the download; Apple Ads may not attribute it.
- Reinstalls and re-downloads. A returning user who deletes and reinstalls can show up as an extra download in App Store Connect, and may or may not count as a new attributed install depending on the flow.
- Opt-outs and missing tokens. Users who limit ad tracking can produce installs with no usable attribution. These show up as unattributed revenue or unattributed downloads.
- Date windows and time zones. Apple Ads, App Store Connect, and your analytics may default to different time zones or reporting boundaries. A purchase at 11pm in one zone can land on a different day elsewhere.
- Country and storefront mismatches. If your campaign targets one country but you compare against all-country App Store Connect totals, the numbers will never line up.
- Event definitions. "Install" in Apple Ads means a download attributed to a tap. "Install" in your SDK might mean first launch. Those are different moments.
A reconciliation routine you can run weekly
You don't need a spreadsheet with dozens of tabs. A short routine every week is enough.
- Pick a closed window. Use a window that ended at least three days ago, so resolution has mostly finished. Stick to the same window for every source.
- Filter to one country and one campaign at a time. Compare Apple Ads installs for that country with App Store Connect downloads for the same country and dates.
- Compare Apple Ads installs with your SDK's first-open count for that country, if your SDK can segment by country.
- Compare RevenueCat's attributed installs against Apple Ads installs, noting that RevenueCat's attribution coverage may be partial.
- Write down the deltas as percentages, not absolute counts, and note them in a simple log.
- Decide whether the gap is stable. A consistent gap of the same rough size each week is normal. A sudden jump in the gap is what you investigate.
Illustrative example: suppose Apple Ads reports 40 installs for a closed week in one country, App Store Connect shows 58 downloads for the same country and dates, and your SDK shows 49 first opens. The gap between Apple Ads and App Store Connect is mostly organic and browse downloads, which Apple Ads should not be credited for. The gap between Apple Ads and the SDK may be users who never opened the app. If those proportions hold for several weeks, the gap is just how your funnel works.
What to do with the gap
Once you know the normal gap, use each number for the job it's good at:
- Use Apple Ads installs and taps for keyword and bid decisions inside the ads account, since that's the data Apple uses to judge your campaigns.
- Use App Store Connect to understand total demand and whether your overall download trend is moving, including organic.
- Use your SDK and RevenueCat to judge quality: trials, subscriptions, and revenue per install after the install happens.
Don't rebuild your bids every time one source disagrees with another. Set a tolerance band, such as a gap that stays within a range you've observed for several weeks, and only dig in when it moves outside that band.
Mistakes to avoid
- Judging the last 48 hours. Recent attribution is incomplete. Wait before deciding anything.
- Trusting one source as the truth. Each source answers a different question.
- Mixing gross and net revenue when comparing against spend. Refunds and store fees change the picture.
- Chasing a one-day spike in the gap without checking for a holiday, a store listing change, or a time zone shift.
The goal isn't perfect agreement across tools. It's knowing how far apart they normally sit, so a real change stands out. Tools that read your Apple Search Ads and revenue data together can help flag when that gap widens, but you still review the evidence and decide what to change.