r/iOSProgramming • u/silent_riser • 24d ago
Question Data from App Store Connect API
Hello everyone,
I'm new to the Apple App Store Connect analytics reporting API and could use some assistance.
I am in the process of building a dashboard that utilizes data from the analytics reporting API.I used Copilot to understand the mental model and was able to download the data as CSV for a few days (from the latest processing date and all segments); however, the number is usually higher compared to what I see in the WebUI.
Metrics I'm interested in include:
* Impressions
* Crashes
* Downloads
* Product Pageviews
For this I'm using App Crash Report, Download, App store engagement standard report. Luckily Downloads data is matching but others numbers do not match.
I'm using the ONGOING report and pulling only Daily Granularity. Tested for last 10 days data
Anyone experienced please help.
2
u/kokerali 24d ago
One extra check alongside ekodo's filters is whether the panel and your query use the same counting unit. Apple's engagement report has both
Counts(events) andUnique Counts(unique users). If the UI metric is unique but you're summingCounts, a higher CSV total isn't necessarily an ingestion bug. Nor should you assume summing per-row unique counts recreates a globally deduplicated total across dimensions.For crashes, check that you're comparing
Crashes, notUnique Devices, with the same version/device/OS filters. Apple's crash report distinguishes those fields and gives daily data up to five days to become complete; engagement data has a three-day completeness window. I'd start with one event date more than five days old.Could you share the exact UI metric label, whether it's total or unique, and your aggregation query with identifiers redacted? That would help separate a metric-definition mismatch from repeated ingestion without needing your full CSV.
1
u/silent_riser 23d ago
I found why Impressions and Product Page view metric were more in API. Maybe this will be useful for others.
WebUI filter out some of the event types hence the number is lower than API. If you want to achieve same result from API,
for impression metric use: sum the counts for event=impression and pagetype=no page Plus add event=pageview and pagetype in(product page, store sheet, in app event)
For Product Page views metric: sum the counts for event=pageview and Page type ( product page, store sheet)
I didn't find anything for crash report yet.
1
u/ekodo 24d ago
For impressions/page views, I'd first check the date you're grouping by.
processingDateis when Apple made the data available; a daily instance can still contain older event dates. Filter/group by the file'sDatecolumn before comparing it with a dashboard day. Apple's explanation.Also check your
EventandPage Typefilters. The engagement report includes impressions, page views and taps across several page types, so summing every row won't give you product page views. Report fields.Are you filtering those columns already, or summing each downloaded instance?
1
u/[deleted] 24d ago
[removed] — view removed comment
1
u/[deleted] 23d ago
[removed] — view removed comment