Facebook Analytics shows way too many events recorded - ios

I am using Facebook analytics to track purchase of In-apps in my app for iOS. I have also been using another tool for analytics named, Distimo. The issue I had is that the purchases shown by Distimo and those shown in Facebook developers site for my app differ and by a huge number. I have made sure that the Purchases event gets fired only once from my app when an purchase actually happens. Distimo takes the data for analytics from the App Store.
One scenario which I am aware of is that Facebook shows the events according to the Pacific timezone while Distimo shows data by taking the date which the App Store gives it.
For instance, Say, two downloads occur at the same time:
1 in Japan at 1:00 on 2013-09-05
1 in Europe at 18:00 on 2013-09-04
In Distimo:
The downloads happened at the same time, but on a different day because of the timezone
difference. In this case, the download in japan would count towards the 5th while the download
in europe would count towards the 4th.
In Facebook:
The download in Japan would count towards 4th at time 9:00 am and the download in Europe would count also count towards 4th at time 9:00am.
However, the difference in the number of events seems to be huge. Is there something I am missing here? I also cannot get the event logs against which I could validate the number of purchases shown in Facebook.

Two thoughts here:
1) have you also enabled automatic in-app purchase logging for iOS in your Facebook app dashboard? If so, you'll want to remove the explicit call to logPurchase for in-app purchases otherwise these will double log, which could account for your discrepancy.
2) if Distimo is disqualifying non-AppStore-verified purchases (for example, from a jailbroken device), that could account for a discrepancy. Facebook Analytics for Apps doesn't yet do this disqualification.

Related

App Store Connect does not show all sales - why?

In order to be able to better estimate the revenue income of our app, we implemented a Database function that reliably (we tested it in Sandbox mode) increases a subscription counter for the subscription that was made by one once a subscription has been made.
This function is only triggered once an in-app purchase has been successful (i.e. when we receive the feedback from StoreKit to enable the Premium functions). Now, we have found enormous discrepancies between the data we observed and the data App Store Connect gives us.
For the past two days, upon confirmation of purchase via StoreKit, our app has 13 times enabled premium functions on a monthly subscription basis, and 14 times on a yearly subscription basis.
However, App Store Connect tells us we had one yearly subscription and 5 monthlies.
Furthermore, for the one premium subscription that generated sales of $5.60, Apple has added proceeds of $3.73 - but that's more than 30% commission. That's almost 35%.
The sales that Apple has not accounted for amount to more than $70.
Can anybody explain to me what's going on, why Apple is not showing us subscriptions that definitely happened and takes more commission than agreed?
My bet is that you are not aggregating the prices correctly on your database side. It is extremely complicated thing to do, despite superficially seeming simple.
The second guess is that ItunesConnect revenue is delayed by day or three (they were experiencing delays).
If you want to see know the revenue calculation is done correctly, I recommend hooking yourself to RevenueCat (quite simple process), and to double check numbers.
Regarding the price, don’t forget their is also sales tax/VAT that is deducted too. Eg. Any sales made in the UK will have 20% vat removed, then Apple takes 30% and you get the rest.

iTunes Connect Opt-In Rate Over 100 Percent

Was looking at the default metrics within iTunes Connect today. Clicked on the question mark icon at the top of the page next to the About App Analytics Data title to see what the current Opt-In rate is and it says (emphasis added by me):
We only show data from users who have agreed to share their diagnostics and usage information with app developers. In the last 30 days, 545% of users that installed "The App" agreed to share their data.
How is that even possible?! And would the be skewing the analytics data?
I assume that if it says I have 100,000 Sessions but the Opt-In rate is 500%, that would mean that maybe I only actually have 20,000 Sessions...?
Perhaps the .greater.than. 100% Opt-In rate is resolved in the current App Store Connect. For example, 29%.

iOS In App Purchase Model

I am having a problem trying to get the business model of my client to work with iOS in app purchases. We are using Parse.com as a backend for this app.
There are two type of users for this application consumers and posters. Posters are able to post an add for a business and the consumers are able to view those ads. The information for the ads are being stored in the Parse backend.
The problem that I am having is this.
The client wants to have 4 different durations for each ad 1 month 3 month 6 month and 1 year. I have set these up on the iTunes connect account as consumables because the duration it stored in Parse.
I can make the purchase the product just fine but the problem is that I have no way of tying a transaction to a specific add I can only determine which of the products (1 month, 3 month, etc that they bought) and the user can have multiple ads.
I also have the problem of since the ad information is stored on Parse I cannot invalidate it unless the user opens their device.
One way to solve this by making your in-app purchase an intermediate "currency" such as "credits" - The user then purchases a number of credits and when they post an ad it consumes the appropriate number of credits from their balance.
This way you do not need to associate a particular ad with a particular purchase - you simply verify the balance is sufficient for, say, a 3 month posting, deduct the credits from the balance and put the ad in the database with the appropriate duration field.

Multi-device support for non-renewing subscription

I'm working on a news app. All news items are fetched from my website. To make a bit of a profit out of it and keep the website running, I implemented some ads. Now, I'd like the user to be able to turn off all ads in the app for a few bucks. I want to provide this option on a yearly basis. So, this year there will be a button in my app, reading something like "No ads in 2013". After paying, the app will be ad free for the rest of the year. In 2014, ads start popping up again and the user can buy the product "No ads in 2014", for the same amount.
I figured a non-renewing subscription would be the way to go here. A few things I haven't figured out yet:
Is it possible to automatically change the name of the in app purchase over time such that it reads "No ads in 2013" in this year and "No ads in 2014" next year, "No ads in 2015" after that, and so on?
Apple states that it is the responsibility of the developer to implement multi-device support. Ok, fair enough, but I haven't found a way to identify a user yet. Users don't need to be logged in to use my app and as far as I know, there is no way to get hold of the user's iTunes login name. How can I transfer the product to a user's new iPhone for example?
After much thought my conclusion is that there is no way to achieve this without bothering the user to log in in some sort of way.
The alternative I came up with is this:
I just create a regular non-consumable in app purchase, with the year embedded in its identifier. This way, in code I can check the identifier against the current year and determine if the user should buy the product with identifier "year + 1".
As non consumable purchases are linked to the user's iTunes account, they are automatically transferred to other devices like a new phone.
Only thing I must not forget is to create a new product for every year to come.

iTunes Connect download stats

Is it normal for the ITC Sales Trend to take a few days to kick in? We've published our first app and it went live yesterday morning. I know from the Game Center scores that there are at least 100 people playing it, but ITC shows 11 downloads.
What's more strange is that it shows data for USA, Canada, Columbia & Mexico, but there are quite a few of my friends and friends of friends playing, who are in Australia. In fact I would assume that a majority of the players are in Australia, so is there perhaps some kind of lag on stats in our region?
Sometimes, I found that ITC could not provide enough information.
Instead I am using Google Analystics for iOS, which event can provide realtime data. https://developers.google.com/analytics/devguides/collection/ios/
It looks like the data has updated overnight. It's now showing stats from countries in Europe & Asia, in addition to the North & Central Americas ones from yesterday. So I think I just had to be a little more patient.

Resources