I've been working on retrieving total app installs via the Apple Connect API using Python. However, I've noticed a discrepancy between the data obtained manually and the API results.
When I download the Sales & Trends report manually with these settings:
Sales & Trends, Monthly, By Territory, Total Installs
…the results don't match those from the API when I use the following parameters
python
report_date = '2024-09'
params = {
"filter[frequency]": "MONTHLY",
"filter[reportDate]": report_date, # Date for the report
"filter[reportSubType]": "SUMMARY",
"filter[reportType]": "SALES",
"filter[vendorNumber]": vendor_number
}
I’m seeing a clear mismatch in units between the manual download and the API output
Note: This report was generated on 2024-11-05
Analytics & Reporting
RSS for tagMeasure your App Store performance and get unique insights with data you won’t find anywhere else using App Analytics in App Store Connect.
Posts under Analytics & Reporting tag
69 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Analytics report issues
Hello All,
New member here so hopefully my post adheres to Dev Forum standards.
My Platform team and I are attempting to gather a bunch of our customer/service data via an automated process where we code a script to obtain data from the App Store Connect dashboard of our app. We need to web scrape most likely with the App-Store-Scraper library. This reason for this is the following challenge we have run into previously while utilizing the App Store Connect API: When we have attempted to fetch data we have seen that the attributes we are looking for cannot be obtained with the query parameters available. Certain reports can only be obtained for DAILY query param values; certain information, such as "File Size" from the "State" report, and "revenue net" of Apple's commissions on sales from the "Proceeds" report within the App Store Connect dashboard, are not able to be obtained via the API, to my knowledge. Of course it can be obtained manually by downloading it through the dashboard, but we want to automate this process.
My question is with regards to web scraping: Will we be able to obtain all the information we need by web scraping the "Event, State, Proceeds" reports that one can find by navigating from the left-hand-side tabs within the App Store Connect dashboard? This information contains PII, but since we have rights to our customer data we should be able to maintain confidentiality by following industry standards.
Please let me know if anyone has any experience with this kind of task before and I look forward to hearing from you.
I've set up the Discovery and Engagement Report via the API to create daily reports. I'm using the Standard report so it includes all of the data and doesn't remove any as per the privacy policy.
It's providing impression data for the App Store Search and App Store Browse source types but it's missing impression data for the others (web referrer and app referrer) - this data is available in the dashboard.
Also, the impression data that I do have does not align with the dashboard, I thought using the standard report would mean all of the data would get provided.
The product page view data is correctly being provided in the data for each of the source types.
Any ideas why it's missing?
Hi,
I could not find it in the official documentation, so I assume it is not ready yet.
I wonder if there is any other way to create campaign links and get analytics on them programmatically.
Otherwise, what is the right place to submit a request for it? Or perhaps it is on the horizon already?
Hello everyone,
We recently implemented one-time use offer codes in some of our apps and have started distributing them to select users. I am currently trying to obtain a report from ASC to see how many of these codes have been redeemed and how many have not.
However, when I follow Apple's instructions to access the reports in the Sales and Trends section, I cannot find the 'Subscription Offer Redemption Report'.
Does anyone know how I can access these reports? Any assistance would be greatly appreciated!
Thank you!
I have been sending requests to the Appstore Connect API for 3 types of reports; download data, discovery data, and install data.
The documentation notes that data is available as far back as Jan 1, 2024. I have found this to be true with install data reports. But the other two go back only about 5 weeks.
The process of getting these reports involves two HTTP requests, one to get segment instances with the report ID and one to get media links with the segment IDs.
I am using the 'granularity' and 'WEEKLY' param but I get the same results with other options.
I don't think it's an error with my code because I'm receiving data for earlier dates but not dates before 5 weeks ago.
I need some ideas to move forward because I need to backfill the data to at least April, 2024.
Translate the complete passage into English: "When using xctrace to record mobile process performance parameters, it happens that long duration recordings (exceeding about 20 minutes) result in the trace file missing some information, as shown in the diagram. However, there is no issue when recording directly with the instrument on the problematic machine. Now, using xctrace for recording for over 20 minutes almost certainly causes this problem. The macOS versions are all 12.5.1, and the processors are M1 and Intel Core i7, respectively. Additionally, the Xcode versions are all 13.4 (13F17a). There is no problem with short recording durations. Only when it records for a longer period does it result in nearly all data being lost. The situation is pretty much the same with the other templates as well.
I've been getting errors from the salesReports endpoint (https://api.appstoreconnect.apple.com/v1/salesReports) in appstoreconnect for the last few hours. It was working intermittently for a bit but now I keep getting the following error:
"errors" : [ {
"id" : "fb276203-0995-4a6c-a567-d17e7358dd7c",
"status" : "503",
"code" : "SERVICE_UNAVAILABLE_ERROR",
"title" : "This request can not be processed right now",
"detail" : "Reporter is currently unavailable."
} ]
I've also tried directly using the Reporter CLI tool and am receiving the following error:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
<Code>111</Code>
<Message>Network is available but cannot connect to application. Check your proxy and firewall settings and try again.</Message>
</Error>
We have an app associated with an account on itunesconnect that has three country specific vendor ids.
I am able to see the vendor IDs when I run this script:
java -jar Reporter.jar p=Reporter.properties m=Robot.XML Sales.getVendors
I am also able to get Finance reports for these vendor Ids
java -jar Reporter.jar p=Reporter.properties a=*** Finance.getReport XX, ZZ, Financial, 2024, 7
downloads a report!
But every time I attempt to download a Sales report using one of these vendor Ids I get the same generic and totally wrong error that I have an invalid vendorId. This is not a permissions issue btw. Both myself and two other developers who have even more access than me cannot download Sales reports with the below script and all three of us can download sales reports through the UI.
java -jar Reporter.jar p=Reporter.properties a=*** Sales.getReport ***, SubscriptionEvent, Summary, Daily, 20240601, 1_3
Invalid vendor number specified. Try again.
When someone else in my organization reached out to apple support about this issue they told us to concatenate the catalog, content and variant ids to create a vendor id...I am a bit besides myself here.
We are just trying to automate the download of daily vendor Id (or ideally account id level that combines all vendor ids) subscription reports - specifying a catalog or piece of content makes zero sense. We were specific that we were trying to use Reporter to get Sales reports so I do not really understand the confusion there.
Also to add more frustration I am unable to even locate these ids even with my developer access anyway. I think because I am just working on reporting and I am not involved at all in content delivery these ids are not accessible. It is very frustrating that this has been so difficult to navigate and there is zero documentation of how to navigate this error, where to find these ids and which roles has access to them, not to mention that there are no directions on how to correctly setup reporter to be able to download Sales reports for multiple vendor ids on a single account - if we are to concatenate the vendors ids with other ids, whatever they are, I think that should definitely be documented somewhere. I think this is a bug but correct me if I am wrong and this is just very bad documentation practices.
Please someone out there advise.
When redeeming a custom offer code, I'm not able to see the actual offer code ID in the Subscriber report - only the subscription offer name is present.
I'm going off of the documentation for the Promotional Offer ID column:
A code that you create for customers to enter and redeem the subscription offer.
https://developer.apple.com/help/app-store-connect/reference/subscriber-report
Is the documentation wrong? How are we supposed to measure the performance of our offer codes beyond the initial redemption?
For example, with the offer name I can see how my "Holiday Promos" offer is doing but can't see the actual performance of "BLACKFRIDAY30" vs "MOTHERSDAY30".
In order to redeem promo codes, Apple recommends the following URL be shared with users:
https://apps.apple.com/redeem?ctx=offercodes&id={APP_ID}&code={CODE}
In order to add campaign tracking ability, Apple recommends the following URL be shared with users:
https://apps.apple.com/app/apple-store/id64995542?pt={PROVIDER_TOKEN}&ct={CAMPAIGN_CODE}
But how do I use both in tandem?
Do I just use the Promo code link and add &pt= and &ct= params at the end of them?
For the periods of time covered by the previous two payment periods (#7 and #8), everything is looking close enough (# of units sold don’t match up and proceeds off by a few % points even when using Apple’s exchange rate but nothing to worry about). For the August 1st payment though (period 9 covering June 2nd - June 29th), there is a larger discrepancy between units sold and proceeds during that time period and the estimated payment coming tomorrow (August 1st).
Anyone else experiencing this? Did it get resolved with the actual payment (I'll see mine in my account in a few days).
My proceeds for period 9 (based on data from App Store Connect > Trends > Proceeds with date range June 2nd - June 29th) were $1,227.83 USD.
Under Trends > Units > Transaction Type I have 100 units “Paid” and 2 units “Refund”, so 98 units counting towards proceeds I would assume.
In Payments and Financial Reports for the month of June though (which I assume matches Period 9 June 2-29), I am seeing only 65 total units sold (not 98) and the total estimated proceeds are $1,203.29 Canadian or roughly $872 USD. So $355 USD less than my proceeds would indicate and 33 units less. Note that I have two apps with multiple time periods for subscriptions so the dollar value of each unit is all over the place. I was expecting $1,668 Canadian or so (using the 1.36 exchange rate Apple shows in the estimated payment * the proceeds shown of $1,227.83 USD), not $1,203 Canadian.
There weren't a flood of sales on June 1st/2nd or June 29th/30th so I don't think this is caused by timezone differences or anything like that.
I’m using https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wa/jumpTo?page=fiscalcalendar to determine dates for August 1st payment.
Perhaps the payment tomorrow will be 38% higher than the estimate but that would seem way off.
Period 7 “April” Mar 31 - May 4:
Trends > Proceeds indicates 13 units for $107 USD * 1.37 Apple exchange rate = $146 Canadian
Actual payment: $135.46 Canadian with 8 units
Period 8 “May” May 5 - June 1:
Trends > Proceeds indicates 55 units for $640 USD * 1.37 Apple exchange rate = $876 Canadian
Actual payment: $855.59 CAD with 49 units
I received an email today stating that my payment is on hold due to irregular activity. I haven't violated any rules, and I've noticed others have received similar messages. I immediately contacted support by phone, and the representative confirmed my account is in good standing. She asked me to forward the email for further investigation.
Email received:
"We noticed some irregular activity associated with your vendor number XXXXXXXX and have paused your earnings payments while we investigate. Once our review is complete, we'll determine if we can resume your payments."
Questions:
Has anyone else encountered this issue? If so, what steps did you take to resolve it, and how long did it take for payments to resume?
Wishing everyone a great day, and thanks in advance!
Hi,
I am trying to get the data in App Store Installation and Deletion Standard report but the counts does not equal what I see on the App Analytics dashboard.
There are 8 ongoing reports with "APP_USAGE" parameter, and the one I am downloading consists of 1 page only. The page count is 1, so there is no pages I am missing. I am using "DAILY" as granularity.
What am I missing here?
Thanks a lot.
api.appstoreconnect.apple.com/v1/salesReports endpoint returns error stating "An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/." for the past two days.
Previously created a one time snapshot report that was later deleted. Trying to recreate it but keeping getting a 409. Been already a week since it was deleted.
Error message
{
"errors" : [ {
"id" : "b0d8d738-1744-463d-bdcf-a48fbfa5d715",
"status" : "409",
"code" : "STATE_ERROR",
"title" : "The request cannot be fulfilled because of the state of another resource.",
"detail" : "You already have such an entity"
} ]
}
Reports request only returns the ONGOING reports link no ONE_TIME_SNAPSHOT . Wonder if it takes time although unlikely or might it be a cache or similar causing the problem.
I am attempting to download subscriber reports for my app. I'm using the following URL with vendorNumber redacted: https://api.appstoreconnect.apple.com/v1/salesReports?filter[frequency]=DAILY&filter[reportSubType]=DETAILED&filter[reportType]=SUBSCRIBER&filter[reportDate]=2024-04-04&filter[vendorNumber]=xxxxxxxx&filter[version]=1_3
I am getting the following response:
"id": "92183ac5-7881-436c-ac66-5d89673c5070",
"status": "400",
"code": "PARAMETER_ERROR.INVALID",
"title": "A parameter has an invalid value",
"detail": "Invalid vendor number specified. Try again.",
"source": {
"parameter": "filter[vendorNumber]"
}
However when I use the same vendor number for the sales summary report: https://api.appstoreconnect.apple.com/v1/salesReports?filter[frequency]=MONTHLY&filter[reportDate]=2023-09&filter[reportSubType]=SUMMARY&filter[reportType]=SALES&filter[vendorNumber]=xxxxxxxx&filter[version]=1_0
I get a proper response. I believe I should be getting a 404 on this response, but am not. This issue can be tracked back to 2019, can we please get some detail about this response?
I'm trying following endpoint to get instances of a report, https://api.appstoreconnect.apple.com/v1/analyticsReports/{id}/instances
but getting an empty response:
{'data': [], 'links': {'self': 'https://api.appstoreconnect.apple.com/v1/analyticsReports/r8-4433f324-ba58-44d0-8b7f-f8976ef36646/instances'}, 'meta': {'paging': {'total': 0, 'limit': 50}}}
I'm accessing "App Sessions Standard" report and correctly passing the instance id to get instances of this report. Also made sure that the App I'm accessing have App sessions data in the console.
code.txt
This is the order of api requests I implemented:
'https://api.appstoreconnect.apple.com/v1/analyticsReportRequests'
'https://api.appstoreconnect.apple.com/v1/analyticsReportRequests/{report_id}/reports'
'https://api.appstoreconnect.apple.com/v1/analyticsReports/{report_id}/instances'
Source code is provided in the attached file.
Would be grateful if someone can help resolve this issue.
hey guyss…. Im currently using ios18 developer beta 2 on my iphoen 12…Idk if u guys noticed it or not.. but when i turn off the toggle for “Help improve apple search” (settings->search->help improve apple search)
it again turns on without my knowledge seconds aftr i close the page. Ive tried restarting my iphone & many more.. nothing seems to work.. im kindoff a more private guy i usually turn off apple analytics.. usage diagnostics and i always make sure data is stored only on my local storage.. and this bug kinda piss me off 😕.
i’ve given u the link below to check it out.
Peace.
https://youtube.com/shorts/YfVDCA-Dfrs?si=qLcl0mWL-Jm9iJFz