Google Analytics Measurement Protocol  1.0.0
Google Analytics plugin for Unreal Engine, using a native cross-platform implementation of the Measurement Protocol.
Google Analytics Measurement Protocol for Unreal Engine

Google Analytics Measurement Protocol for Unreal Engine

Google Analytics Measurement Protocol is a plugin for Unreal Engine that adds support for Google Analytics, using a native cross-platform implementation of the Measurement Protocol. The plugin doesn't require any third-party dependency and it's compatible with all the platforms supported by Unreal Engine (including desktop and consoles). It's also a provider for the standard In-Game Analytics system of Unreal Engine.

GoogleAnalyticsMP-intro.png
A Cross Platform implementation of Google Analytics for Unreal Engine

In addition to the basic event reporting functionalities, the plugin supports a number of advanced features like automatic instrumentation, session tracking, detailed purchases reporting, etc.

NOTE: This product is not made by, or affiliated with, Google Inc in any way.

Links

MARKETPLACE: https://www.unrealengine.com/marketplace/google-analytics-measurement-protocol

Changelog: Changelog

Support thread: https://forums.unrealengine.com/t/google-analytics-measurement-protocol-cross-platform-plugin-desktop-consoles-supported/253259

Video tutorial: https://youtu.be/_gV9K1xA6sE

Main features

The plugin allows you to easily log application and game events to Google Analytics, using a native cross-platform implementation (not requiring any third-party dependency). It supports advanced features like the automatic instrumentation, that automatically logs key events without the need of any specific code. The simple API provides all you need to log custom events and detailed purchase transactions.

Supported features:

  • support for the Google Universal Analytics protocol version;
  • native cross-platform implementation, not requiring any third-party dependency and compatible with all the platforms supported by Unreal Engine (including desktop and consoles);
  • optional automatic instrumentation (session tracking, loading of maps, networking errors, etc.);
  • automatic detection of system info (e.g. operating system, app version, etc.);
  • special methods/nodes to:
  • compatible provider for the standard In-Game Analytics system integrated into Unreal Engine, supporting the Analytics Blueprint Library plugin;
  • support for distinct Tracking IDs depending on the project Build Configuration;
  • all the features are available from both Blueprints and C++.

Note Google Analytics 4 (GA4) protocol version is not currently supported by the plugin: GA4 is in Alpha state at the moment and its current Limitations don't allow proper user sessions tracking outside of a Web Browser.

Quick start

Setting up the plugin and using it is very easy: you must simply configure the plugin and set the Tracking ID of your Google Universal Analytics property.

GoogleAnalyticsMP-TrackingID-ConfigSteps.png
Configuring the plugin

Thanks to the automatic instrumentation, your game will already log important events to Google Analytics! Including user sessions, maps loaded, operating system details, etc.

Plugin configuration

Here the detailed step-by-step guide to configure the plugin:

  1. from the Google Analytics website, get the Tracking ID of the Google Universal Analytics property you want to use to collect the logged data. If you don't have one, follow the official Google Analytics instructions to create one.

    GoogleAnalyticsWebsite-TrackingID.png
    Get the TrackingID from the Google Analytics website
  2. enable the plugin (open the Edit > Plugins menu and search for the “Google Analytics Measurement Protocol” plugin) and restart the editor as requested by Unreal Engine.
  3. open the Project Settings and navigate to the Google Analytics MP section.
  4. if the plugin reports that the project is not configured, then press the Configure Now button. This will set the plugin as the default analytics provider for the project (for advanced configurations, please refer to the official Unreal Engine documentation).

    GoogleAnalyticsMP-ConfigureNow.png
    Automatic configuration of the plugin
  5. for each project Build Configuration, set the Tracking ID you want to use. The plugin supports distinct Tracking IDs for different Build Configurations of Unreal Engine projects, to separate - for example - events recorded by development builds from events recorded by production builds. You can re-use the same Tracking ID with multiple Build Configurations. If the Tracking ID field is leaved empty, then the analytics will be disabled for that particular build configuration. This could be helpful for example for the PIE Configuration, used when Playing-In-Editor the game while developing it.

    GoogleAnalyticsMP-ProjectSettings-TrackingID.png
    Configuring the plugin
  6. restart the editor in order to apply the new settings.

The plugin is now ready to be used to send data to your Google Analytics property.

For the best experience, we suggest to configure your Google Analytics property creating a Mobile App View, enabling the Ecommerce and the Enhanced Ecommerce features, enabling the User-ID feature. Please refer to the official Google Analytics documentation for its configuration and usage.

Automatic instrumentation

If you leaved the default automatic instrumentation enabled, simply playing the game now and stopping it a few seconds later will be enough to send some key events to the Google Analytics back-end (including users sessions, operating system details, maps loaded, etc.). The Google Analytics back-end could require few minutes to process the received data and show them in the Realtime reports.

Log custom events

You can then easily record custom events with the plugin API, look at UGoogleAnalyticsMPStatics for the complete list of available methods. For example this is how to record a simple event:

RecordStructuredEvent.png
RecordStructuredEvent method

Google Analytics Universal events are based on Category/Action/Label/Value tuples, but you can log custom properties using Custom Dimensions and Metrics. Read more about them here:

Log purchases

The plugin provides dedicated APIs to track purchases in your game/application, this will allow you to take advantage of the Google Analytics E-commerce reporting system. This is an example on how to record a simple purchase in your game (applied prices and currencies should be retrieved from your payment processor):

RecordPurchase.png
RecordPurchase method

Plugin Settings

Under Project Settings > ... > Google Analytics MP, you can customize several settings of the plugin. Go over each setting with the mouse pointer to open a tooltip with the detailed description. Detailed documentation for each option can be found in the class UGoogleAnalyticsMPSettings.

GoogleAnalyticsMP-ProjectSettings.png
Plugin settings