Google AnalyticsUser Guide

Google Analytics is a support library that aids Alien-Factory in the development of other libraries, frameworks and applications. Though you are welcome to use it, you may find features are missing and the documentation incomplete.


Google Analytics is a simple service that sends page views and events to Google's Universal Analytics script.

It uses Duvet to render Javascript in HTML pages.

Quick Start

Set the Google Analytic account in your AppModule:

using afIoc
using afIocConig
using afGoogleAnalytics

const class AppModule {
  @Contribute { serviceType=ApplicationDefaults# }
  static Void contributeApplicationDefaults(Configuration config) {

    config[GoogleAnalyticsConfigIds.accountNumber] = "XX-99999999-9"
    config[GoogleAnalyticsConfigIds.accountDomain] = ``  // optional, defaults to 'auto'

Or set the properies in config.props (See IoC Config)

afGoogleAnalytics.accountNumber = XX-99999999-9
afGoogleAnalytics.accountDomain =   // optional, defaults to 'auto'

The domain is optional and will be taken from the Bedsheet host / request host parameter if not supplied.

Then render the required Javascript via the GoogleAnalytics service:

@Inject GoogleAnalytics googleAnalytics



Note that Javascript is only rendered in prod mode (see IoC Env for details). Enabled debugging if want to see the generated google analytics javascript in the logs:

Log.get("afGoogleAnalytics").level = LogLevel.debug