Search code examples
iosfacebookanalyticsadsfacebook-analytics

Facebook Analytics SDK for iOS app: how to disable value tracking for non-valuable events like App Install or Start Trial?


I'm running Facebook Ads campaigns for my iOS app and quite naturally I have Facebook Analytics SDK integrated inside my app to track App Installs and Start Trial events to measure the "quality" of the traffic my campaigns bring.

At the Analytics settings page inside Facebook developer dashboard.

https://developers.facebook.com/apps/XXX_APP_ID_XXX/analytics/settings/?business_id=XXX_BUSINESS_ID_XXX

I have the option Log In-App Events Automatically (Recommended) set to "Yes", which I presume enables the tracking of App Install and Start Trial events. There's also a Shared App Secret field filled in with the value from iTunesConnect.

Indeed, the App Install and Start Trial events have started to appear inside Analytics dashboard

https://www.facebook.com/analytics/XXX_APP_ID_XXX/AppEvents?__aref_src=landing_page&__aref_id=entity_name&force_desktop=1&user_id=XXX_USER_ID_XXX

However I noticed when viewing the stats for just App Installs there's a quite considerable value in USD attributed to these events. I decided to take a closer look into these events using Event Debugging

https://www.facebook.com/analytics/XXX_APP_ID_XXX/most_recent?since=1577923200000&until=1580256000000&__aref_src=landing_page&__aref_id=entity_name&force_desktop=1&user_id=XXX_USER_ID_XXX 

and selecting "App Install" in the events filter.

There I saw that some (only some and as if randomly) App Installs have a value associated with them. To me this is an unexpected behavior since I can't imagine revenue being made by just receiving an install.

Same goes for Start Trial event, which always has the value associated to it (equal to the sale price of a subscription period) and once again this makes no sense to me because started trials themselves bring no value to me. They may be canceled or may end up in Billing Retry when the user has no money on the bank card attached to their iTunes account, etc. I track the conversions from Start Trial to Purchase on my backend separately with great precision and only these conversions as well as subsequent renewals would bring real value to my business.

I can and will track these Purchases manually and post them to Facebook (server-to-server style) and I will supply the corresponding value to these events myself, which will help to understand the overall performance and ROI but I need to clean my stats from these "false" automatically and erroneously attributed values to App Install and Start Trial events first.

I've already reported this issue to Facebook few days ago, however they seem to be slow in handling such requests so I've decided to ask here if anybody ran into similar issue.


Solution

  • Thanks to Lena Bru for giving enough food to find a solution.

    The Facebook documentation is scarce on the raised questions and the support answer literally headed me towards the documentation. To recap things, there were 2 main issues (the second one I've mentioned in the comments to Lena's reply):

    1. Facebook was tracking value for the events, which brought no value to my business
    2. Some of the events I've sent from backend didn't appear in the campaign reports

    To solve both of these problems, I:

    1. Turned off the value tracking option in the Facebook app settings
    2. On the client side I've started setting up User ID (which the client receives from backend) according to Facebook documentation
    3. I've started to send all of the events, which I wanted to view inside Facebook business cabinet, under custom names from backend. I've supplemented them with app_user_id parameter (see Advanced Matching for App Events in Facebook documentation) so that they could match the App Installs reported from client.

    There's still a smaller issue left (it feels like Facebook reports include 20% less installs than actually happening) but the current setup is already something to begin with.