⚠️ Deprecation Notice ⚠️

This documentation is now deprecated along with the Forge-based Barlesque and ORB stack.

If you are working on a new BBC product you should almost certainly be using the new Navigation API (aka Orbit).

These pages will be left here for the lifetime of the Forge platform and are left for reference for legacy products, but no guarantee is made of their accuracy nor will any of the documented products be worked on.


iStats collects key value pairs known as 'labels' and sends them to analytic collecting endpoints ('collectors') when tracking events are fired.

iStats provides tools for tracking link clicks and logs user interactions as users move through bbc.co.uk. iStats also provides a mechanism for tracking external links and downloads.

How iStats is designed to work

As of the 0.26.0 release:

iStats is an asynchronous module with an API to customise the labels sent to a collector.

iStats is expected to be on every page of bbc.co.uk.

With Barlesque iStats is required in the '<head>' section of the html. This sets the default collector for the BBC and invokes the iStats module.

Invoking iStats will send the page view action to the collector and pass on any labels set or passed through from the previous page.

Any calls to send data to a collector before invoke() is called are queued up and sent on invoke. This ensures all data gets sent.

Invoke is called at the top of the body to allow pages to add configuration in the head of the page.

Mandatory settings

All iStats calls need to have a Countername set.

All iStats calls need to have a Site set. This is new as of the 0.26.0 release. The site allows M&A to see the ownership of a page on the BBC. A list of valid values can be found on confluence.

All Mandatory settings must be set before iStats is invoked. See accessing the API on how to do this.

Link tracking

iStats has the ability to set up link tracking on the page. This can be set up using the API.

For external and download links the event is intercepted and the call to iStats is made before following the link. This has a timeout on the iStats call to prevent links from breaking.

For internal link tracking the labels are added to a cookie. The following BBC page then sends the labels when iStats is invoked. This prevents adding delays to links within the BBC. Additional checks are made to ensure the labels are only sent once and on the correct page

Logging custom actions

Additional actions are able to be logged through the API. See Logging Actions.

Customising iStats

Read accessing the API to see how to integrate with iStats.

The page can also bind events to the istats module.