Guide · Measurement
Why your Apple Ads spend and your App Store Connect revenue never match
Open Apple Ads in one tab and App Store Connect in another, pick the same date range in both, and the numbers will not agree. This is the point where most people assume they have made a mistake. Usually they have not. The two systems are measuring different quantities over different clocks, and knowing exactly how they differ is what makes the comparison usable.
What each dashboard is actually counting
Apple Ads reports impressions, taps, installs, and spend, and on Advanced you can segment all of it down to the individual keyword. On Basic you get a simpler view built around a monthly budget, which is fine for running ads and useless for this exercise: without keyword-level spend there is nothing to join revenue to. Everything here assumes Advanced.
App Store Connect, under Sales and Trends, reports units and proceeds. Units count transactions: downloads, purchases, renewals. Proceeds are what reaches your bank after Apple's commission, which is either 15 or 30 percent depending on the programme you are in. Those two columns can tell opposite stories about the same week, and only one of them pays your rent.
The three reasons the numbers diverge
1. Gross against net
Ad spend is gross: you paid every cent of it. Proceeds are net: Apple took its share before you saw them. Comparing spend against gross sales rather than proceeds makes every campaign look between 15 and 30 percent better than it is, which is comfortably enough to turn a losing keyword into an apparent winner.
2. Two different clocks
Spend lands on the day it happens. Revenue arrives when the transaction settles, and Apple reports parts of it in arrears. A subscription bought today may not appear in the report you are reading today, so a same-day comparison shows a cost with its revenue still in transit.
3. A 30-day attribution window
Apple attributes an install to a tap for up to 30 days after the tap. Money you spend this morning can produce an install three weeks from now. Any window shorter than the attribution window will systematically understate what your spend achieved, which is why judging a keyword on a few days of data reliably produces the wrong verdict.
What neither side will give you
App Store Connect knows what you earned. It does not know which keyword earned it. Apple Ads knows what each keyword cost. It does not know what those users went on to pay. Neither dataset carries the other's key, and no setting inside either product changes that. Per-keyword profitability is therefore always a join you perform, never a report you open, whether you do it in a spreadsheet, throughRevenueCat cohorts, or in a tool that does it for you.
Comparing them honestly
- Use proceeds, never units and never gross sales.
- Set the same date range on both sides, in the same time zone, before comparing anything.
- Judge a keyword over at least 30 days, so the attribution window has closed on the spend you are looking at.
- Keep campaign and ad group names aligned to your keyword themes, so the two exports can be matched without guesswork.
- Expect the totals to stay slightly apart even when everything is right. The goal is a stable relationship between them, not equality.
Where Veldo fits, and what it estimates
Veldo pulls both sides onto one row on your Mac: organic rank per storefront, and your Apple Ads spend, taps and installs per keyword per storefront, all measured rather than inferred. That removes the tab switching and the export reconciliation, and it is where thebid, pause, or double down verdict comes from.
Revenue is the part worth being precise about. Subscription revenue arrives per app per day, not per keyword, so Veldo apportions it to keywords by each keyword's share of that day's spend. It is a defensible estimate and it is what per-keyword ROAS rests on, but it is an apportionment rather than a measurement. Any product claiming exact revenue per keyword is doing the same arithmetic, reading a source you have connected yourself, or overstating what Apple provides.
Common questions
Why don't my Apple Ads spend and App Store Connect revenue match?
Because they are not measuring the same thing over the same period. Apple Ads reports what you spent, gross, on the day you spent it. App Store Connect reports what you earned, and proceeds are net of Apple's commission and settle on their own schedule. Add a 30-day attribution window and the two series cannot line up day to day even when both are correct.
What is the difference between units and proceeds?
Units count transactions: downloads, purchases, subscription renewals. Proceeds are the money that reaches you after Apple's commission. Judging a campaign on units or on gross sales overstates what it earned you, sometimes by 30 percent.
How long is Apple's attribution window?
Apple Ads attributes an install to a tap for up to 30 days. That means today's spend can produce an install three weeks from now, so a same-day comparison of cost against revenue will always understate what the spend did.
Does App Store Connect tell me which keyword earned the money?
No. App Store Connect knows what you earned; Apple Ads knows what each keyword cost. Neither side carries the other's key, which is why per-keyword revenue always involves joining two sources yourself or apportioning by spend.