Skip to main content
Drupal is a registered trademark of Dries Buytaert
Usage Milestone: Easy Breadcrumb Module easy_breadcrumb crossed 100,000 active installs. Release: Entity Reference Edit Link 2.0.0 Major update available for module entity_reference_edit_link (2.0.0). Release: IDNA Convert Service (punycode) 2.0.1 Minor update available for module idna (2.0.1). Release: Contact ajax 8.x-1.6 Minor update available for module contact_ajax (8.x-1.6). Release: Artisan 2.1.0 Minor update available for theme artisan (2.1.0). Release: MCP Sentinel 2.15.3 Minor update available for module mcp_sentinel (2.15.3). Release: Fullcalendar Io 7.1.0 Minor update available for module fullcalendar_io (7.1.0). Release: Schema Scope 1.0.0 Initial release available for module schema_scope (1.0.0)! Release: SynUsers 2.0.0 Major update available for module synusers (2.0.0). Module Revived: GoogleTag Manager 2.0.0 Module gtm updated after 13 months of inactivity (2.0.0).

Brightcove Extras

No security coverage Drupal 10–11
View on drupal.org

Brightcove Extras enhances the Brightcove module by providing an in-page video player for better analytics and consent management, Google Analytics 4 video tracking, faster incremental syncing for large video libraries, and tools to identify broken video references. It offers these features as separate submodules, allowing you to enable only what you need.

Brightcove Extras adds the pieces the Brightcove module leaves out: an in-page (not iframe) video player, GA4 video analytics, faster incremental sync, and admin tools for spotting broken video references. Enable only the submodules you need — the base module ships shared utilities and has no features of its own.

Features

Each capability is a separate submodule you can turn on independently:

  • In-page player (brightcove_extras_player) — renders a Brightcove video as a responsive, on-page video.js player instead of an iframe. Because the player lives on your page, analytics, cookie consent, and page context all work correctly. It shows up automatically on the video entity page, and is also available as a field formatter for any field holding a Brightcove player URL (such as a Media oEmbed field).
  • GA4 analytics (brightcove_extras_ga4) — sends Google Analytics 4 video engagement events (video_start, video_progress at configurable milestones, video_complete) to the dataLayer using GA4's standard video parameters (title, percent, URL, provider). Works with any in-page video.js player.
  • Incremental sync (brightcove_extras_sync) — syncs only the videos changed since the last run (delta sync) on cron, instead of a full nightly reconcile. Ideal for large catalogues. Includes a drush brightcove_extras_sync:run (bce:sync) command to run it on demand.
  • Admin (brightcove_extras_admin) — a videos overview with title / video-ID search, and a report listing content that references an inactive or missing Brightcove video.

When and why to use it: reach for Brightcove Extras when your Brightcove videos need to be tracked properly in GA4, when the default iframe embed breaks analytics or consent, when a large video library makes the nightly full sync too slow, or when editors need to find and fix broken video references. Typical use cases: marketing sites measuring video engagement, editorial teams managing thousands of synced videos, and sites with strict cookie-consent requirements.

Post-Installation

Enable the base module plus whichever submodules you want, then:

  1. In-page player: synced videos show the player automatically on their entity page — no configuration required. To use it elsewhere, set the Brightcove in-page player formatter on the field that stores your Brightcove URL (Manage display).
  2. GA4: set the progress milestones at Configuration → Media → Brightcove Extras GA4 (default 10/25/50/75%), then create matching Custom Event triggers and a GA4 Event tag in your Google Tag Manager container to forward the events to GA4.
  3. Sync: enable it and tune the interval and overlap window at Configuration → Media → Brightcove Extras sync. It runs on cron.
  4. Admin: set the media bundle and video-ID field the report inspects at Configuration → Media → Brightcove Extras admin. The report is at Reports → Brightcove broken references; the overview at Content → Brightcove videos.

Note: the in-page player submodule ships a corrected brightcove-video.html.twig that fixes a recursive-render issue in the Brightcove module's default template (which otherwise truncates the video page). No action is needed — it applies automatically.

Additional Requirements

  • Brightcove (^3.3) — required by all submodules.
  • The Admin submodule additionally requires Entity Usage and core Views.
  • Google Tag (or your own GTM/gtag snippet) — required downstream to forward the GA4 dataLayer events into Google Analytics 4.
  • Media: Brightcove — if you manage Brightcove videos as Media entities, the in-page player formatter works directly on the media oEmbed field.

Similar projects

Brightcove Extras complements, and does not replace, the Brightcove module (which handles the API integration and video entities) and Media: Brightcove (media integration). It adds capabilities none of them provide: an analytics-friendly in-page player, GA4 video tracking, incremental sync, and a broken-reference report.

Supporting this Module

Issues and merge requests are welcome in the issue queue.

Community Documentation

Documentation lives in the module's README.md and each submodule's README. (Add links to walkthroughs or a demo site here as they become available.)

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Jul 2026
Latest release
1 month ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0 Stable 10–11 Jul 27, 2026
1.0.x-dev Dev 10–11 Jul 27, 2026