Links
Comment on page

@frontity/google-analytics

Analytics package to use Google Analytics with Frontity

Table of Contents

Install

npm i @frontity/google-analytics

Settings

The namespace for this package is googleAnalytics
Every Google Analytics account has a Tracking ID. To connect the package with a specific account (or accounts) we can set the following properties in the frontity.settings.js:
  • state.googleAnalytics.trackingId: to specify just one tracking ID
  • state.googleAnalytics.trackingIds: to specify a list of tracking ID's
export default {
packages: [
{
name: "@frontity/google-analytics",
state: {
googleAnalytics: {
trackingId: "UA-12345678-9",
},
},
},
],
};
export default {
packages: [
{
name: "@frontity/google-analytics",
state: {
googleAnalytics: {
trackingIds: ["UA-34567890-12", "UA-34567890-13"],
},
},
},
],
};

Usage

This @frontity/google-analytics package can co-exist with some other analytics packages. Once we have properly installed and configured these analytics packages, their actions will be centralized by the analytics namespace
  • actions.analytics.pageview() will take into account settings in state.analytics.pageviews
  • actions.analytics.event() will take into account settings in state.analytics.events
Read more here about how to use Analytic packages

actions.analytics.pageview

If @frontity/google-analytics is configured and enabled for pageviews in state.analytics.pageviews, every time a link changes (or every time action.router.set(link) is launched) a tracking for that page will be sent to Google Analytics by using internally actions.analytics.pageview()

actions.analytics.event

If @frontity/google-analytics is configured and enabled for events in state.analytics.events, every time you call the method actions.analytics.event() from any of your React components, the proper tracking info will be sent to Google Analytics.
The actions.analytics.event() must receive an event object with the following properties.
Name
Type
Required
Description
name
string
yes
The value of this property is mapped to the eventAction field of analytics.js events.
payload
object
yes
Event payload.
The payload object has to have the following format:
Name
Type
Required
Description
category
string
yes
The value of this property is mapped to the eventCategory field of analytics.js events.
label
string
no
The value of this property is mapped to the eventLabel field of analytics.js events.
value
number
no
The value of this property is mapped to the eventValue field of analytics.js events.
[key]
any
no
Any other property specified in analytics.js field reference.
These values will be transfomed (by this package) into the proper format before sending the data to Google Analytics