Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@telefonica/google-analytics

Package Overview
Dependencies
Maintainers
0
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@telefonica/google-analytics

> Google Analytics 4 library for Telefonica web projects

  • 1.0.2-beta
  • npm
  • Socket score

Version published
Weekly downloads
98
increased by96%
Maintainers
0
Weekly downloads
 
Created
Source

@telefonica/google-analytics

Google Analytics 4 library for Telefonica web projects

Usage

import {initAnalytics, logEvent, setScreenName} from '@telefonica/google-analytics';

initAnalytics('G-XXXXXXXXXX');
setScreenName('my_screen_name');
logEvent({name: 'my_event_name', foo: 'bar'});

Things to know

  • initAnalytics must be called before any other function. This function will inject the gtag script in the document.

  • initAnalytics function is idempotent. Subsequent calls to initAnalytics will not have any effect.

  • logEvent and setScreenName calls won't send any data to Google Analytics until initAnalytics is called. If you call logEvent or setScreenName before initAnalytics, the calls will be queued and sent to Google Analytics once initAnalytics is done.

  • Events are normalized before being sent to Google Analytics:

    • Event params name are truncated to 40 characters.
    • Event params value are truncated to 100 characters.
    • Not allowed characters are removed from event params value.
    • Multiple white spaces are removed and spaces are replaced by underscores in event params value.
    • The same normalization is applied to screen names.
  • If setScreenName is called multiple times with the same screen name, only the first call will be sent to Google Analytics.

  • setScreenName and logEvent return a promise that resolves when the event has been sent to Google Analytics.

  • All the events are automatically filled with a screenName param containing the last screen name set with setScreenName.

Use custom Api

Events are sent to Google servers by default (using gtagApi), but you can use a custom api to change this behavior. For example, Novum app uses the webview bridge to send the events to the native app, and then the native app sends the events to Firebase.

Another use case of custom api is to log events in the browser console in development mode:

import {initAnalytics, consoleApi, gtagApi} from '@telefonica/google-analytics';

initAnalytics('G-XXXXXXXXXX', {
  api: process.env.NODE_ENV === 'production' ? gtagApi : consoleApi,
});

CSP

If you are using a CSP, you must add the following directives for Google Analytics to work:

script-src https://*.googletagmanager.com; connect-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; img-src https://*.google-analytics.com https://*.googletagmanager.com;

Check Google docs for CSP in Google Analytics 4

FAQs

Package last updated on 19 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc