Page MenuHomePhabricator

Remove client side analytics logging from Special:Homepage and modules
Closed, ResolvedPublic3 Estimated Story Points

Description

For a long time the newcomer Homepage has had built-in long-lived analytics legacy instrumentation in both server and client. This instrumentation was used in several Homepage experiments, every time a new module was developed and AB tested. With the latest shifts both on the product and data collection areas to use TestKitchen and move Homepage modules to the PersonalDashboard extension, this instrumentation is more and more useless because we don't use its collected data, costly to maintain and in conflict with best data collection practices in terms of privacy risks. The Growth team consensus is to get rid of it. Homepage modules are well established and monitored through Growth Suggested Edits KPI dashboard. If we need to look into specific data from the homepage or its modules the new TK tooling allows us to build it quickly and adopting better practices.

Details
In the server through the eventlogging_HomepageVisit and in the client through eventlogging_HomepageModule. An intervention was made in T417876: Migrate existing instruments that add experiment information to use TestKitchen variant to move away from the legacy client to the new TestKitchen's configured clients, however the migration was incomplete in the sense that it did not create a TK named instrument but kept using custom configuration as follows:

...
streamName = 'mediawiki.product_metrics.homepage_module_interaction',
schemaId = '/analytics/product_metrics/web/base/2.0.0',

However the old stream and associated schema were not deleted. This task is to remove and cleanup whatever dependencies derive from the logger and logging in ext.growthExperiments.Homepage.Logging and ext.growthExperiments.Homepage.Logger. And remove the logging calls in any consumers.

Acceptance criteria

  • Homepage module interactions are no longer instrumented in the client
  • Related infrastructure is cleaned up
    • Stream(s) to decomission: eventlogging_HomepageModule, mediawiki.product_metrics.homepage_module_interaction
    • Schema(s) to delete: TBD
    • Remove following GrowthExperiments RL modules/scripts
      • modules/ext.growthExperiments.Homepage.Logging/index.js
      • modules/ext.growthExperiments.Homepage.Logging/useInstrument.js (This one could be kept for future usages, moved to utils (?))
      • modules/ext.growthExperiments.Homepage.Logger/index.js
    • Remove logger calls in any homepage module
    • Review and clean the filters in Growth's validation dashboard.

Event Timeline

Sgs renamed this task from Remove client side analytics logging from Special:Homepage to Remove client side analytics logging from Special:Homepage and modules.May 19 2026, 11:16 AM

Change #1289318 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] cleanup: remove ext.growthExperiments.Logging

https://gerrit.wikimedia.org/r/1289318

Change #1289318 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] cleanup: remove ext.growthExperiments.Logging

https://gerrit.wikimedia.org/r/1289318

Sgs raised the priority of this task from Medium to Needs Triage.Jun 1 2026, 3:36 PM
Sgs updated the task description. (Show Details)
KStoller-WMF set the point value for this task to 3.Jun 1 2026, 3:39 PM

Change #1300835 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[operations/mediawiki-config@master] Remove no longer used product_metrics.homepage_module_interaction

https://gerrit.wikimedia.org/r/1300835

Change #1300874 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] cleanup: remove client-side Homepage analytics logger

https://gerrit.wikimedia.org/r/1300874

Change #1300875 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] cleanup: prune logger-only Homepage actionData and state

https://gerrit.wikimedia.org/r/1300875

A lookup in codesearch for eventlogging_HomepageModule shows 4 results in non-Growth owned repositories, Wikipedia Android App and repos/data-engineering/metrics-platform. I'm not very familiar with these, the android app code that holds the stream config seems to come from a test kitchen package and repos/data-engineering/metrics-platform is an archived project (?) Could someone from Wikimedia Apps and Experiment Platform confirm how we should proceed with these. Is it ok to remove all occurrences of eventlogging_HomepageModule in those repos? cc @Dbrant @phuedx

Change #1301349 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[operations/mediawiki-config@master] Remove no longer used eventlogging_HomepageModule

https://gerrit.wikimedia.org/r/1301349

This is absolutely ok to remove from our end. The eventlogging_HomepageModule stream appears in a local test fixture for testing our eventlogging SDK. This stream is safe to remove from the fixture.

No problem removing mentions of the stream from repos/data-engineering/metrics-platform either 👍

Change #1300874 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] cleanup: remove client-side Homepage analytics logger

https://gerrit.wikimedia.org/r/1300874

Change #1300835 merged by jenkins-bot:

[operations/mediawiki-config@master] Remove no longer used product_metrics.homepage_module_interaction

https://gerrit.wikimedia.org/r/1300835

Mentioned in SAL (#wikimedia-operations) [2026-06-15T13:35:26Z] <jforrester@deploy1003> Started scap sync-world: Backport for [[gerrit:1300835|Remove no longer used product_metrics.homepage_module_interaction (T365889 T426742)]], [[gerrit:1302153|TaskSuggester: avoid nullable logger in setLogger call]], [[gerrit:1302100|migrateMentorStatusAway: ensure validateStrictly receives objects (T409170)]], [[gerrit:1301451|Store nowiki source in StripState::extra to support subst-nowiki (T3

Mentioned in SAL (#wikimedia-operations) [2026-06-15T13:37:13Z] <jforrester@deploy1003> arlolra, sgimeno, jforrester: Backport for [[gerrit:1300835|Remove no longer used product_metrics.homepage_module_interaction (T365889 T426742)]], [[gerrit:1302153|TaskSuggester: avoid nullable logger in setLogger call]], [[gerrit:1302100|migrateMentorStatusAway: ensure validateStrictly receives objects (T409170)]], [[gerrit:1301451|Store nowiki source in StripState::extra to support subst-nowik

Mentioned in SAL (#wikimedia-operations) [2026-06-15T13:43:22Z] <jforrester@deploy1003> Finished scap sync-world: Backport for [[gerrit:1300835|Remove no longer used product_metrics.homepage_module_interaction (T365889 T426742)]], [[gerrit:1302153|TaskSuggester: avoid nullable logger in setLogger call]], [[gerrit:1302100|migrateMentorStatusAway: ensure validateStrictly receives objects (T409170)]], [[gerrit:1301451|Store nowiki source in StripState::extra to support subst-nowiki (T

Change #1300875 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] cleanup: prune logger-only Homepage actionData and state

https://gerrit.wikimedia.org/r/1300875

The only remaining change to deploy is waiting on wmf.7 to progress to all wikis so no more data is collected through the HomepageModule stream. At that point we won't have access anymore to fine grained homepage module interaction data, eg: render mode, browser family, client IP. Which was one of the points of performing this task. Fwiw I have taken a snapshot of the last three months of browser families and render modes, may be relevant for T264992:

Screenshot 2026-06-17 at 17.54.34.png (1,468×1,188 px, 246 KB)
Screenshot 2026-06-17 at 17.55.42.png (1,678×1,202 px, 279 KB)

Change #1301349 merged by jenkins-bot:

[operations/mediawiki-config@master] Remove no longer used eventlogging_HomepageModule

https://gerrit.wikimedia.org/r/1301349

Both eventlogging_HomepageModule and mediawiki.product_metrics.homepage_module_interaction are now removed from stream config and all producer code has been removed from GrowthExperiments. There's still one change cleanup: remove deprecated stream fixture pending review but not producing any traffic.

Michael updated the task description. (Show Details)

I think this task is now done as written. I looked at EventLogging validation errors dashboard and removed eventlogging_HomepageModule from those as well. That being said, the list of streams in that dashboard is quite extensive and maybe could use a bit more thorough cleaning. I think the other tasks are done, while noting that docs that Martin shared above are saying that Schemas should not be deleted.