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.
Related
Information.
IOS app swift, firebase+analytics, bigquery integration, iAd (https://developer.apple.com/documentation/iad)
Problem.
Most of installs are direct/none in firebase - so the same in analytics & bigquery. Main sources are google ads and apple ads. We can get apple ads source and campaign using iAd. But no info how to send this data to firebase (=how to set source for Firebase)
Question.
Is it possible to manually set source/medium/campaign for Firebase? Can't find anything :(
Any other tips how to get install source/medium/campaign and set it to Firebase?
Also, if we will use some tracker - appmetrica, appsflyer etc - there will be the same question - how to get source data from appsflyer and send it to Firebase
Thanks a lot!
As mentioned in the Firebase group conversation :
Setup multiple user properties based on the info you have (like
source, medium, campaign, etc)
Combine 2 or more user properties to
make an audience
Filter your attribution report on the audience
Follow the whole conversation here.
There is one documentation about how to add firebase to your apple project and another on installation of firebase in your apple app.
For more information you can refer to the blog5, medium post and link on how Campaign Attribution Works in Google Analytics for Firebase
Okay. After researches and tests I have this view
(1) First of all - unfortunately look like firebase team doesn't make clear and working method of setting custom sources
(2) There is some possibility to send something directly to source/medium/campaign in Firebase, but it work unstable.
To do this you need
Get somewhere your Source/Medium/Campaign (for example from iAd)
send 'campaign_details' event with source/medium/campaign params
Also, as mentioned Divyani Yadav - You can just send this params anywhere to user_properties
And somehow work with this data (using bigquery or making audiences to make some analysis in Analytics), but this approach doesn't rewrite firebase initial source/medium/campaign params
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"):
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.
We use Firebase Analytics to track usage of our iOS app. We found that Firebase was tracking usage data of development builds, thus corrupting our data by showing inflated numbers. To fix that, we wrote:
if debugBuild || installedThroughXcode || TestFlight || simulator {
AnalyticsConfiguration.shared().setAnalyticsCollectionEnabled(false)
}
This prevents our production data from being corrupted, but we'd still like data from TestFlight. Does Firebase offer a way to collect this data but partition it from production data?
We can't change the bundle ID because we need to test IAPs in TestFlight.
The Google App ID is used to keep track of all data, so if you use the same Google App ID for both Dev and Release, all of your data will end up in the same place on Firebase Dashboard. You might want to divert your traffic of TestFlight to a different Google App ID at runtime by using [FIRApp configureWithOptions:] (https://firebase.google.com/docs/reference/ios/firebasecore/api/reference/Classes/FIRApp#/c:objc(cs)FIRApp(cm)configureWithOptions:)
If you don't want to use multiple Firebase Projects, another workaround solution I found for this is by using UserProperties as your "custom filter".
So after initializing Firebase, call:
Analytics.setUserProperty(isDebugBuild, forName: "debug")
isDebugBuild represents the if-clause you defined in your question to find out if this is a production-build or not. Here are some ways to find this out.
Now, in Firebase or Datastudio you can apply this property as a filter/comparison to filter out debug-build analytics and events from production-builds.
I have been Googling this to try and confirm - My understanding is Apple now reject apps using IDFA without actually serving Adverts. For the demographics feature of Google analytics the documentation says that IDFA collection must be enabled.
There are lots of articles around how the latest version of the Google analytics IOS SDK no longer requires the collection of IDFA by default.
To gather demographic data though - can someone please confirm if you still need to enable this option? Is it no longer possible to collect demographic data without serving ads using Google analytics?
Thanks heaps
I am using IDFA exclusively for getting demographic info for Google Analytics.
I chose the option:
"Attribute this app installation to a previously served advertisement".
And my app was approved. Cheers! :-D
When submitting the app, specify that you are using it to attribute campaigns served outside of the app. Works for us for over a year.