Analytics package to use Google Analytics with Frontity
Table of Contents#
Install#
npm i @frontity/google-analyticsSettings#
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 IDstate.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 instate.analytics.pageviewsactions.analytics.event()will take into account settings instate.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