Page MenuHomePhabricator

Paste Check: Instrument the Paste Check UX
Closed, ResolvedPublic

Description

This ticket involves the work of implementing the instrumentation required to track how people are engaging with the Paste Check UX.

The instrumentation required to do the above was largely added as part of the Multi-Check feature implementation (T352092).

As such, this ticket largely holds the work of verifying the ===Requirements have been implemented as expected.

Requirements

Note: These are still draft pending finalization of the UX workflow

featureactionmeaning
editCheck-pasteaction-keepUser clicks 'Yes, keep it' button on Paste Check
editCheck-pasteaction-removeUser clicks 'No, remove it' button on Paste Check
editCheck-pastecheck-shown-presave; check-shown-mideditPaste check was shown pre-save or mid-edit. An event will be sent for every check shown.
editCheck-pasteedit-check-feedback-shownDecline survey is presented after user elects to keep text
editCheck-pasteedit-check-feedback-reason-[whatever you picked]User selects a decline survey option and clicks 'submit'
editCheck-pasterelevant-pasteLogs when Paste Check would have been shown to someone in the control group
editCheck-pasteclick-learn-moreUser clicks on the learn more about copyright violation link within Paste Check

instrumentation spec

Progress

Next steps

  • Megan to finish populating requirements
  • David to confirm instrumentation is implemented
  • Esther/Rummana to QA
  • Megan to QA

Done

  • Editing QA verifies ===Requirements are being logged client-side
  • @MNeisler verifies ===Requirements are being logged server-side

Event Timeline

MNeisler triaged this task as Medium priority.Jul 31 2025, 6:49 PM
MNeisler updated the task description. (Show Details)

Currently the feature name is going to be editcheck-importCopyvio. I'm not averse to changing it, if desired.

Currently the feature name is going to be editcheck-importCopyvio. I'm not averse to changing it, if desired.

Good spot. Can we please change the name of the feature to reflect the name of the Check (Paste Check)?

Change #1176341 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/VisualEditor@master] Edit check: change the name of the paste check from importCopyvio

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

Change #1176341 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] Edit check: change the name of the paste check from importCopyvio

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

@DLynch: would it be accurate for us to think the events Megan specified in the task description are implemented?

I ask the above seeing https://gerrit.wikimedia.org/r/1176341 and assuming, perhaps inaccurately, that that match is scoped specifically to renaming the feature.

Apart from the last two. There's no check-control-[listener] because we haven't implemented any a/b test code for this yet. There's no check-learn-more because there's not a learn more link in the check yet.

Regarding learn-more: we last did some copy updates when we refreshed the flow in T400518, at which time we hadn't specified a link, and then said we weren't going to keep fiddling with it until T400518 dealt with it.

Regarding learn-more: we last did some copy updates when we refreshed the flow in T400518, at which time we hadn't specified a link, and then said we weren't going to keep fiddling with it until T400518 dealt with it.

@DLynch, what do you think the next step here is?

I ask this knowing we've sorted out the outstanding copy questions in T400518.

I can confirm that Ed implemented the click-learn-more event in the patch that adjusted the copy to include the link.

We did wind up not having the check-control- event, because T402460 asked for something that happened regardless of the a/b test. It'll be equivalent to looking for`relevant-paste` events with a control bucket.

We did wind up not having the check-control- event, because T402460 asked for something that happened regardless of the a/b test. It'll be equivalent to looking for`relevant-paste` events with a control bucket.

Per offline discussion with @MNeisler, David what you described above sounds great.

ppelberg updated the task description. (Show Details)

I've confirmed that all paste check events identified in the task description are logging as expected in VisualEditorFeatureUse.

This is based on a review of test events generated on various wikis since events were instrumented. Note: This excludes a review of the Paste Check eligible event (relevant-paste), which was QA'd separately in T402460.

See summary of the checks completed below:

  • Paste Check events have been logged at 24 editing sessions by 11 distinct users since we first started recording events on 23 August 2025.
  • Paste Check events have been logged at cswiki, enwiki, frwiki, and ptwiki to date.
  • Paste Check has been shown only once within an editing session and multiple times within an editing session as expected.
  • All expected paste check events have been logged except action = check-shown-presave, which appears expected based on this thread
  • Paste Check events are logged for both desktop and mobile platforms
  • Paste Check events are logged for both unregistered and registered users.
  • The order of events within a session appears as expected (i.e. check-shown-midedit appears before action-keep or action-remove)
  • All events are recorded while the user is editing with VisualEditor (editor_interface = 'visualeditor')

The VEFU data dictionary has been updated to include these events.

cc @ppelberg

All expected paste check events have been logged except action = check-shown-presave, which appears expected based on this thread

We can consider this task complete. Although, Peter needs to follow up with David L. to learn more about why Paste Checks are not being shown pre-save.