Link Search Menu Expand Document

What is Echo?

Echo presents a single interface for multiple analytics and event reporting systems. By providing a layer of abstraction it is possible for a product to report data to multiple vendors without the need to integrate directly with multiple different libraries. Echo also consistently applies various rules and business logic eg to ensure event property values are consistent etc.

Echo covers both simple web page views, and the more complex interactions found in media player applications, and games. You simply include the relevant library in your code, and call the appropriate reporting methods where required.

Table of contents

  1. Reporting services
  2. Supported platforms

Reporting services

Echo currently supports the following services:

Service Description Page Load Other Events Audio and Video Enabled by default Documentation
AT Internet The BBC’s primary analytics service Yes Yes Yes Yes link
Comscore The BBC’s former analytics service, still in use for some applications Yes No No Yes (mobile only) link
BARB AV reporting for BARB (audience figures) No No Yes (video only) No link

Echo does not support all analytics services used within the BBC. In some cases there are alternative means of reporting data to a service that is supported by Echo. As an example, on most BBC web pages, page impressions are reported to AT Internet using the ‘Reverb’ library rather than Echo.

Supported platforms

Echo is currently supported on the following platforms:

Name Language Releases (via Github)
Echo JS Javascript Echo JS on GitHub
Echo iOS Swift Echo iOS on GitHub
Echo Android Java Echo Android on GitHub
**Please use the precompiled versions of Echo provided as part of the release** rather than attempting to compile from source. Each Echo release contains detailed release notes that include new features, bug fixes as well as breaking changes.

The Echo repositories are visible to the members of the BBC Github organisation. If you are not a member of that organisation and need to request access please email the Analytics Services Team or contact us on the #help-echo Slack channel, however in most cases you will not need access to the repos.

See the getting started section for details on how to integrate Echo into your product.