If you're using Firebase analytics in your iOS Firebase project, starting in iOS 14.5 do you need to present a prompt asking User for app Tracking permission? From Firebase docs they say that Impact if IDFA is not accessible for Google Analytics:
Analytics event logging, event reporting, and conversion measurement are unaffected, but attribution is impacted if IDFA is not accessible. To learn more about Google’s response to iOS 14, see our blog post.
After reading the blog post its still not clear to me if I need to present the prompt or not?
If you want to track conversions in firebase or google analytics supporting of IDFA is required.
For CocoaPods you use two types of pod:
Either
pod 'Firebase/Analytics'
or
pod 'Firebase/AnalyticsWithoutAdIdSupport'
The last pod doesn't use IDFA and you shouldn't use ATTrackingManager request to user otherwise should.
If you use FirebaseAnalytics only to track user activity (custom and system events) use AnalyticsWithoutAdIdSupport and don't show ATTrackingManager prompt.
Firebase Analytics does not track the user's personal information, most of the information is metadata about the app itself and its usage time. The key difference is you cannot target a specific user and track them as an individual, rather find in general how often users fullfill a specific task.
Related
I have integrated Firebase Cloud Notifications for Push Notifications in my iOS App written in Swift.
Although, the notifications are working as expected and I can see the Number of Deliveries, It doesn't show the Open Count and Click Count.
I have searched for similar questions on StackOverflow but none of them has been answered yet.
As you can see in the screenshot below, the number of sends is being tracked but not Open Count or other things.
Any Help is Appreciated.
We had a similar issue and it was caused by the missing Firebase Analytics library.
Documentation for iOS:
Step 4: Add Firebase SDKs to your app
...
4. Choose the Firebase libraries you want to use.
If Google Analytics is enabled in your Firebase project, make sure to add
FirebaseAnalytics. For Analytics without IDFA collection capability, add
FirebaseAnalyticsWithoutAdId instead.
Documentation for Android:
Step 4: Add Firebase SDKs to your app
...
// Add the dependency for the Firebase SDK for Google Analytics
implementation 'com.google.firebase:firebase-analytics'
Google Analytics also has a setup guide in the Admin UI (Admin - Property - Data Streams, select the stream, click "SDK Setup Instructions"):
For iOS apps, the app must collect IDFA in order to automatically derive the Age, Gender, and Interests properties.
Google Analytics guide
I have added pod ‘GoogleIDFASupport’ but unable to set the tracker as there is no tracking ID on Google Analytics -> Admin for a App+Web property.
// Assumes a tracker has already been initialized with a property ID, otherwise
// getDefaultTracker returns nil.
let tracker = GAI.sharedInstance().tracker(withTrackingId: "NO_TRACKING_ID")
// Enable IDFA collection.
tracker!.allowIDFACollection = true
I just see the property number on the property panel.
Please advise
Reference
Source - Firebase Support -
Please note that Firebase and Google Analytics are two separate platforms. In regards to the GA Mobile SDK, please note that we have now fully sunset the SDK. You can read more about this topic here.
As for Firebase, for IDFA to be available in iOS, you just need to link in the following libraries:
libAdIdAccess.a
AdSupport.framework
Other steps mentioned here are for GA Mobile SDK.
I wonder if it is possible to use Google Analytics for iOS in a anonymized way.
It is currently possible to :
- disable IDFA (https://developers.google.com/analytics/devguides/collection/ios/v3/optional-features)
- anonymize IP (https://developers.google.com/analytics/devguides/collection/ios/v3/advanced)
But is there any other identifier that Google Analytics may use ?
for exemple, does Google Analytics use the IDFV ? (https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor)
You can find everything here: https://support.google.com/firebase/answer/9019185?hl=en
Site and/or app owners using Google Analytics and Google Analytics for Firebase (aka “customers”) may find this a useful resource, particularly if they are businesses affected by the European Economic Area’s General Data Protection Regulation (GDPR), or California's California Consumer Privacy Act (CCPA), or other similar regulations.
Disabling IDFV and Personalized Ads
Disabling IDFA is possible. There are two ways, programmatically, and through Google Analytics "admin panel". Additionally, you should probably setup your Firebase accordingly, and configure all GADRequests. I explain all of them below.
Programmatically disabling IDFA
To programmatically control whether a user's Analytics data should be
used for personalized advertising, set the appropriate default
behavior in the app's AndroidManifest.xml file, and then use the
methods described below to override that default behavior.
To set the default personalized advertising behavior, set the value of
GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS to NO
(Boolean) in your app's Info.plist file.
Disabling IDFA via settings
You can also control whether data collected from end users may be used
for ads personalization via the ads personalization setting, found in
Google Analytics’ Property settings.
Here is a screenshot of this setting in Google Analytics "Admin Panel":
Go to your Google Analytics dashboard, select the Product, then follow these steps:
Disabling during Firebase setup
Additionally, make sure you use AnalyticsWithoutAdIdSupport when you add Firebase to your app. See the documentation here.
If you installed Firebase through CocoaPods by adding pod
'Firebase/Analytics' to your app's Podfile and wish to disable
collection of the IDFA (a device's advertising identifier) in your
Apple app, ensure that the AdSupport framework is not included in your
app. To install Firebase without any IDFA collection capability, use
the following subspec in place of pod
'Firebase/Analytics': pod ‘Firebase/AnalyticsWithoutAdIdSupport'
Serving Non-Personalized Ads via GADRequest
Additionally, you can configure GADRequest objects to specify that only non-personalized ads should be requested, as explained in the documentation.
The following code causes non-personalized ads to be requested regardless of whether or not the user is in the EEA:
let request = GADRequest()
let extras = GADExtras()
extras.additionalParameters = ["npa": "1"]
request.register(extras)
Disabling IDFV Collection
You can also disable IDFV (Identifier for Vendor) collection.
If you wish to disable collection of the IDFV (Identifier for Vendor)
in your Apple app, set the value
of GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED to NO (Boolean) in your
app's Info.plist file.
IP Anonymization
IP Anonymization is no longer necessary according to Google Analytics 4 documentation:
“In Google Analytics 4, IP anonymization is not necessary since IP
addresses are not logged or stored.”
Disclaimer: I only write this answer to help others. This is not a legal advice, and information in this answer may not be complete, up-to-date, and/or correct.
I'm trying to clean up a pod installation on a current project that has been using Firebase analytics for the last year or so. I have noticed that it has collected user data such as age and gender, from what I understand this is done like so:
The iOS Identifier for Advertisers (IDFA). Applies to app activity only. When you use the Firebase Analytics tracking code in an iOS app to collect the IDFA, Firebase Analytics generates an identifier based on the IDFA that includes demographic and interest information associated with users’ app activity
However does this require the GoogleIDFASupport pod to work? I was using this previously for Google Analytics and would like to remove it if it's not used by Firebase. Any pointers on this would be really appreciated. Thanks!
The IDFA is used in Firebase analytics SDK when users allow ad tracking automatically. Besides Firebase Analytics' dependencies like FirebaseCore, FA doesn't need GoogleIDFASupport.
I guess you need GoogleIDFASupport only if you use it in your reports.
I'm trying to gather Demographics and Interest Reports for my iOS app users using the Google Analytics iOS SDK.
I have enabled Demographics and Interest Reports in my Google Analytics dashboard. I also installed the GoogleIDFASupport pod (Cocoapods), and set the following code in my app delegate:
#if DEBUG
#else
let gAnalytics = GAI.sharedInstance()
gAnalytics.defaultTracker.allowIDFACollection = true
#endif
I have been testing the app multiple times, and running in Release scheme on my iPhone, and the app is also currently waiting for review in the App Store.
When I login to the Google Analytics dashboard, and go to the Demographics and Interest Reports section, it tells me that I have enabled it, but also presents a button that says "Validate tracking code". If I click the button, the page just refreshes and tells me that "Your Analytics tracking code does not include the necessary support for the Demographics and Interest reports."
How can I validate the tracking code?
I ended up just ignoring the warning and skipping the validation. The demographics stats have been showing up just fine.