Pugpig Bolt Analytics Starter Guide
Introduction
Pugpig comes with a tried and tested integration with Google Analytics, which is collected from the apps using the Firebase SDK, and from the website using standard GA tags.
Note: This document is entirely related to using Google Analytics and the Firebase SDK. To see a list of other providers we have integrated with, please look here. If you are using a different provider, we can help you understand what information we are sending, but we trust your expert analytics teams to be able to test the integration and run the reporting. If you are on GA 360, some reports might be missing.
The latest versions of our products (Pugpig Bolt) have an improved analytics structure. If you’ve recently upgraded your Publish app, you’ll notice some improvements but will need to adapt existing reports.
Our analytics specification can be viewed here, it’s been honed over many years of working with publishers and tracks almost anything our product can conceivably do. Our tracking also grows over time as features are added or improved, and based on feedback from our customers.
We’re always happy to field questions about our spec and improve our tracking where necessary. If there are things you and your analytics teams are trying to track but aren’t sure how, get in touch with support@pugpig.com.
Over the last couple of years, Google have migrated the core reporting tools from the Universal Analytics platform to the new Google Analytics 4 platform, which is tightly-coupled to Firebase. There are notable changes between the two, and GA4 is regularly evolving. We recommend following Google’s documentation on understanding the changes.
Apart from the standard Google Analytics, other useful places to find and cross reference information are:
- The reporting from the App Stores (iTunes, Google Play and Amazon). These are always the most accurate source of information regarding revenue.
- Push notification reporting from the push provider (Firebase and Airship are the supported ones). We can send custom data for segmentation to these providers.
- Bandwidth usage (available from the Pugpig Distribution Service)
- Crash Reporting from Crashlytics, which is available in the firebase dashboard
Getting it set up
Here’s our guide on setting up GA4, as well as a brief explainer of the differences between it and previous versions of Google Analytics.
We generally request that we're added to your analytics properties as an admin so that we can configure your custom dimensions and help troubleshoot where necessary. We use the address analytics@kaldorgroup.com for this access, rather than specific team members.
How to test your analytics
Often it’s helpful to send some events of your own and see them in the dashboard. GA4 (and UA) offers a real time view and you should be able to isolate your device with a combination of filters (device model and location often work wonders). That way you should be able to see just your events and understand how they would track.
Basic Concepts
Screens
The apps track a number of distinct screens, as detailed in the spec. Note GA4’s preference for using Page Title and Screen Class as the default view in the pages and screens report. This doesn’t suit our content model, but changing to Page Title and Screen Name at the top of the table will get you what you want. You should always apply the KGPageName dimension when looking at content.
Custom Dimensions
Google Analytics allows you to attach custom dimensions to every event. The out of the box reporting includes many of these. For the full list and their description, see here.
We also have the ability to send two different kinds of custom dimension specifically for you. Content-based custom dimensions, which are related to the article being viewed, for example your internal unique ID for an article. User based custom dimensions are related to the logged in user. Examples would be Subscription Tier, User ID or Company of the user.
URL Structure/Deep Links
Our URLs follow a defined structure you can read about here. These often map to our deeplinks, which allow users to go to specific destinations or trigger certain functionality you can read more about deeplinking here.
Tracking purchases and revenue
We always recommend you get any business-critical information about revenue and subscriptions directly from the stores themselves. However, GA4 does offer some level of revenue reporting if the connections are configured correctly. This configuration is done in Firebase, and allows Firebase/GA4 to communicate directly with the stores.
The list of relevant events tracked by GA4 can be found here: https://support.google.com/analytics/answer/9234069 any events beginning with app_store as well as the in_app_purchase event pertain to the revenue tracking.
Note that we do not track anything to GA's ecommerce reporting, as this pertains to actual shopping and checkouts within apps, which don't form part of our product.
Note that free trials will report a revenue value of 0, hence many purchase events showing 0 revenue. The revenue of converted trials will be tracked to the app_store_subscription_convert event.
FAQs
Do analytics work for users that are offline?
Sure! The SDK collects the data while offline and forwards it to the servers when a connection is restored.
How does this relate to Google Play's Data Safety requirements:
You can find all the information about that here
What is the difference between the Firebase SDK and the Google Analytics SDK?
Good question! Google do not make this very clear. The Firebase SDK tracks to Firebase and then events are automatically sent into GA. The GA SDK is no longer under active development. Google no longer recommend or support the Google Analytics SDK in apps, even for Google 360 customers: https://support.google.com/firebase/answer/9167112?hl=en
Universal Analytics is being fully deprecated on the 1st July 2023, after which all reporting will utilise GA4. If you aren't sure if your apps or sites are tracking to GA4, get in touch.
Why do I see (not set) values?
This is an issue with firebase itself, whereby all dimensions are recorded for all events. However, certain dimensions don't/can't apply to these events. For example, KGOrientation doesn't apply to BoltAudioFinishedPlaying but will still send as (not set). You can safely ignore these when viewing your reports.
Can end users opt out of analytics? How many do?
Yes they can. The number varies enormously across our brands.
Why don’t my analytics line up exactly with the reporting from the App Stores?
Users opting out. Different periods. Different lag times. For these reasons we always suggest using the store data for revenue reporting, as it is the final source of truth.
Why don’t my analytics line up exactly with the reporting from my Push Provider?
Different SDKs cannot be guaranteed to handle the same data the same way, and thus small variances are to be expected, but if these differences are substantial we can investigate
Do you support eCommerce Reporting
Nope. The apps don't sell retail products, so these reports don't make too much sense. We do track In App Purchases, however.
Can I see my In App Purchase Reports without GA4 (e.g. Universal Analytics or GA 360)?
Sadly not. Google have told us we should be optimising everything for GA4. You can get this information from Firebase, or directly from the App Stores.
Can I rename events/parameters to what I like?
GA4 allows you to modify event parameters upon receiving them (i.e not at the source). This is detailed in their documentation. If you'd like greater control such as blocking events from being recorded entirely, or transforming the event names as well as their parameters then the Google Tag Manager SDK is available for this purpose, this requires additional set up and an app submission to enable, after which you'll be able to make any transformations using the Google Tag Manager dashboard.
Why do I see strange page names like RootViewController in my reports?
GA4’s preference for using Page Title and Screen Class as the default view in the pages and screens report. You should always apply the KGPageName dimension when looking at content.
Why do I see strange page numbers instead of page names?
If your app includes a copy of the print version the page name will be a page number.
For more information on how to find commonly-used metrics and reports in GA4 see http://docs.pugpig.com/en_US/analytics/4411734250385-GA4-Common-Reports-WIP-
What analytics platforms do you have integrations with?
You can find a list of all of the analytics platforms that we support in our available third-party integrations document.