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

@financial-times/n-tracking

Package Overview
Dependencies
Maintainers
18
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@financial-times/n-tracking

Client-side tracking initialisation for FT.com apps

  • 4.3.0
  • npm
  • Socket score

Version published
Weekly downloads
480
decreased by-36.84%
Maintainers
18
Weekly downloads
 
Created
Source

@financial-times/n-tracking CircleCI

This package provides tracking initialisation and custom events for FT.com. On the client-side it configures o-tracking (which is used to capture and send tracking events to Spoor) and for the server-side it provides components which render fallback tracking pixels .

Getting started

This package is for client-side and server-side use and is distributed on npm.

npm install -S @financial-times/n-tracking

After installing the package you can import the tracking component into your code:

Client-side integration

Configure o-tracking

This package can be used on the client-side. Initialise the component with configuration options.

import * as nTracking from '@financial-times/n-tracking';
const options = {}
const oTracking = nTracking.init(options); 

Send custom events

import * as nTracking from '@financial-times/n-tracking';
const context = { customData: 12345 }
nTracking.broadcast('oTracking.event', {
  category: 'page',
  action: 'custom-event',
  ...context
});

Server-side integration

On the server-side a JSX component embeds tracking pixels into the page which send page view events for any visitors which do not support JS or fail to cut the mustard.

const { CoreTracking } = require('@financial-times/n-tracking');

<CoreTracking {...options} />

To initialise the component you'll need to provide it with several configuration options.

Client-side API

init(options)

Configures o-tracking with the given options, triggers a page view event, initialises click tracking, and returns the instance of o-tracking.

broadcast(name, data)

Creates a CustomEvent with the given name and data and dispatches it from the document <body> element. It is intended to be used to trigger oTracking.event events.

trackers.{tracker}()

There are several custom tracking features provided by this library. See the docs folder for more information about these.

Server-side API

<CoreTracking />

Renders a <noscript> and inline <script> element to embed fallback tracking pixels into the page which can be used when the client-side JS fails to run. It accepts the same options as the client-side code.

Options

PropertyTypeRequiredDescription
appContextObjectYesFT.com App Context data describing the current page which will be appended to all captured events.
extraContextObjectNoAdditional data describing the current page which will be appended to all captured events.
pageViewContextObjectNoAdditional data to append to the page view event only

Automatically inferred data

  • Marketing query string parameters inc. cost-per-click and segment IDs
  • User data inc. layout, screen orientation, and connection type
  • Error page parameters inc. error code and error message

FAQs

Package last updated on 01 Feb 2022

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