Shopgate supports Google Analytics for Firebase on your mobile app.
Please contact us via email after the setup is done so that we can submit updates for your app. Once Google Analytics for Firebase has been configured for your app, Shopgate will use this Firebase project for sending push notifications on Android via Firebase Cloud Messaging. This change only affects the notification infrastructure - you will not notice the change in the Shopgate Merchant Admin.
Step 1: Create a project in Firebase Console
Recommended: Firebase for Mobile Apps is perfectly complemented with Google Tag Manager.
- Create a Firebase Project: Firebase
- After choosing the project name, the additional setup of Google Analitycs is preset. To analyze your mobile app, we recommend setting up Google Analytics for Firebase. You can do that in this step, or do it later at any time. Deactivate the setting (bottom left) for later setup and click on "Create project."
3. After you have set up your Firebase project, you will be redirected to the homepage of your Firebase console and you can now create your iOS and Android apps in succession.
In this process, Firebase asks for your Android package name and the iOS Bundle Identifier (you do not need to specify your app nickname and App Store ID). These can be found in your Shopgate merchant admin: "Settings" => "Tracking Tools" => "Show App Information."
4. Copy and paste in the information and click "Register app." Download the current configuration file (one click on the blue button). Shopgate has already done the next steps for you (setup SDK, etc.) and you can always click "Next" until the process is finished. It is expected behavior that at this point Firebase will report not being able to connect to your App. This error will go away once we have recompiled and uploaded the App to the App Stores. This process must be done for iOS and Android separately. Click "Continue to console" to get back to the homepage - go to "Add app" and start the process again with the second app.
5. You should now have two files saved: googleService-Info.plist from your iOS project and google-services.json from your Android project.
6. Navigate to "Project Settings" => "Cloud Messaging." Copy the top server key. You'll need it to configure the Shopgate setup, so your Android users can continue to receive push messages.
Step 1 is done! You successfully created your Firebase Project!
Step 2: Connect Firebase project at Shopgate
- Log into your Shopgate Admin
- Go to "Settings" => "Tracking Tools."
- Insert the server key that you copied from Firebase into the field "FCM server key."
- Upload the "google-services.json" file in the Android configuration
- Upload the "GoogleService-Info.plist" file in the iOS configuration
- Choose how you wish to track your revenue with Firebase. This setting should be identical to your shop settings. If you display gross prices but select "net" then net prices are tracked to Firebase (if available in the Shopgate system).
Step 3: Request an app update
After you have completed the above steps, email us at email@example.com to request an app update. Your Shopgate App manager will re-compile your app and submit it to the App Store for an update. It will take 4 to 10 business days for your app to be updated in the App Store.
As soon as the next app update is available in the app stores, you will see the tracking data in Firebase and the connected Google Analytics account.
FAQ - Why don't I see screen_view events but cryptic names instead?
The Shopgate App is a hybrid app. In order to be able to always publish the latest content quickly and without a lengthy App Store Update process, the presentation layer of your App is served via WebViews. Firebase SDK, unfortunately, doesn't allow WebViews to trigger the reserved event "screen_view" and therefore we can't use this event to track the presentation layer of your app.
So that you can track your shopper's journey and create funnels, we have implemented a custom solution to replace screen_views. Simply use the custom event sg_view_page, which is sent with each screen change of the user.