Page MenuHomePhabricator

Identify Android Watchlist event action/screen_names from android_breadcrumb_events
Closed, ResolvedPublic

Description

Hi @Sharvaniharan We need to collect event count data on Android Watchlist engagement from android_breadcrumb_events. We will work together to identify action/screen_name combos for the following events. Will also need to know language/wiki designation for these events, lmk if we need to make any adjustments to include that with event data.

We should also discuss watchlist counts which we didn't track in Legacy but should consider doing going forward similarly to how are tracking in Reading Lists data.

"add_article"
"add_expiry"
"add_success"
"view_watchlist"
"open_watchlist"
"remove_article"
"remove_success"
"change_language"

Note: I will also need to get edit Thank actions and Diff view actions from android_breadcrumb_events to compare to iOS data but this is a secondary request. Likely there will be multiple event combos for these.

We used to measure interaction with tooltip ("show_tooltip", "show_tooltip_more") but I don't anticipate needing those counts for this Baseline request.
Legacy schema: MobileWikiAppWatchlist

Event Timeline

Edit diff details screen engagement:

Screenshot_20230424_160243.png (2×1 px, 160 KB)

  1. Diff screen shown
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"show"
  1. Undo button click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"undoButton.click",
  1. Thank button click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"thankButton.click",
  1. Rollback button click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"rollbackButton.click",
  1. Nav button < for olderRevId Details click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment"
"action":"olderIdButton.click",
  1. Nav button > for newerRevId Details click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"newerIdButton.click",
  1. To username click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"usernameToButton.click",
  1. From username click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"usernameFromButton.click",
  1. Article title on diff screen click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"articleTitleView.click",
  1. Diff line number click
"screen_name":"ArticleEditDetailsActivity.ArticleEditDetailsFragment",
"action":"diffLineNumContainer.click",

Not documented on the diff screen: Overflow menu item clicks and popUp menu [The menu that appears on click of To or From username item clicks]. Please let me know if they are crucial and need to be explicitly wired

LGoto triaged this task as Medium priority.Apr 25 2023, 4:12 PM

Watchlist events
add_expiry
This can be captured with breadCrumbs with the following:
Measures intent to change expiry:

"screen_name":"PageActivity.WatchlistExpiryDialog",
"action":show",

1 week expiry selected:

"screen_name":"ContextThemeWrapper.WatchlistExpiryDialog",
"action":"watchlistExpiryOneWeek.click",

1 mon expiry selected:

"screen_name":"ContextThemeWrapper.WatchlistExpiryDialog",
"action":"watchlistExpiryOneMonth.click",

3 mon expiry selected:

"screen_name":"ContextThemeWrapper.WatchlistExpiryDialog",
"action":"watchlistExpiryThreeMonths.click",

6 mon expiry selected:

"screen_name":"ContextThemeWrapper.WatchlistExpiryDialog",
"action":"watchlistExpirySixMonths.click"

show_tooltip:

"screen_name":"PageActivity",
"action":"page_toolbar_button_show_overflow_menu.tooltip",

search click Note that the number has to be 0 only in this case, as the search button is the first item in the list.

"screen_name":"WatchlistActivity.WatchlistFragment",
"action":"watchlistRecyclerView.0.click"

show_tooltip_more

"screen_name":"MainActivity",
"action":"nav_more_container.tooltip"

view_watchlist - [Measures intent]

"screen_name":"ContextThemeWrapper.MenuNavTabDialog",
"action":"main_drawer_watchlist_container.click",

open_watchlist - {Measures shown]

"screen_name":"WatchlistActivity.WatchlistFragment",
"action":"show",

"add_article"

"screen_name":"PageActivity.PageFragment",
"action":"Watchlist.itemWiki:en.added"

"add_success"

"screen_name":"WikipediaApp",
"action":"Watchlist.itemWiki:en.addSuccess"

"remove_article"

"screen_name":"PageActivity.PageFragment",
"action":"Watchlist.itemWiki:en.removed"

"remove_success"

"screen_name":"WikipediaApp",
"action":"Watchlist.itemWiki:en.removeSuccess"

The change_language feature is no more available on android because we have built a filter screen where they can choose the wikis they want to view:

filter.png (2×1 px, 80 KB)

Click count for the filter button itself can be obtained by this:

"screen_name":"WatchlistActivity.WatchlistFragment",
"action":"filter_button.click",

Filter screen shown:

"screen_name":"WatchlistFilterActivity",
"action":"show",

Any option clicked on the filter screen list is recorded by: where n can be any number
Note: Details of which option was clicked is not available through breadCrumbs. For example, if we need to measure how many times people pick Latest revision we will need extra wiring. Please let me know.
I was able to add selection details.. so for count you can use this:

"screen_name":"WatchlistFilterActivity",
"action":"watchlist_filters_recycler_view.n.click",

and for selection details you can use this:

"screen_name":"WatchlistFilterActivity",
"action":"WatchlistFilterSelection.appWikis:[test, pt, ar, en].excludedWikiCodes:[en].includedTypeCodes:[pageEdits, pageCreations, loggedActions, allEdits, allChanges, allRevisions, allEditors, allUsers]",

Reset button click can be measured by

"screen_name":"WatchlistFilterActivity",
"action":"menu_filter_reset.click"

Hi @SNowick_WMF
I have updated the events and mentioned where we need extra wiring. Please review and let me know.
Thank you.
You will start seeing these events from the next beta release.

Thank you @Sharvaniharan, I've updated the Process & Spec doc and will validate data after next release. Do we have an event that tracks Watchlist counts in the event?

@JTannerWMF please note, we discussed tracking every selection made under the Filter tab for iOS which will be easier to track because it will have it's own non-breadcrumbs schema, in order to track for Android requires extra engineering, Sharvani can weigh in on extent of work for this. Not sure we need that level of granularity but want to check with you. This was resolved.

Any option clicked on the filter screen list is recorded by: where n can be any number
Note: Details of which option was clicked is not available through breadCrumbs. For example, if we need to measure how many times people pick >Latest revision we will need extra wiring. Please let me know.

"screen_name":"WatchlistFilterActivity",
"action":"watchlist_filters_recycler_view.n.click",

Hi @SNowick_WMF
I added the search_click to the above events, and also the expiry info events..

Good news.. I was actually able to wire-in the details of the Watchlist Filter selection pretty easily ... So you will get an event like this now when they select/unSelect a filter type. This is of the similar pattern how we used to measure the feed config:

"screen_name":"WatchlistFilterActivity",
"action":"WatchlistFilterSelection.appWikis:[test, pt, ar, en].excludedWikiCodes:[en].includedTypeCodes:[pageEdits, pageCreations, loggedActions, allEdits, allChanges, allRevisions, allEditors, allUsers]",

Thanks @Sharvaniharan I will edit the note above since we have that resolved.

Adding for tracking:
screen/action values for Watchlist item count =
"screen_name":"WatchlistActivity.WatchlistFragment",
"action":"Watchlist.itemCount*.displayed"

Validated all events from this list, seeing data as expected in android_breadcrumbs_event: Android Watchlist Data Validation T335167

Hi @SNowick_WMF

I thought i had updated this here, but might have missed,

"screen_name":"EditHistoryListActivity",
"action":"compareButton.on"

gives you the intent to compare - first compare button or compare1 as they call it on iOS,
and . . .

"screen_name":"EditHistoryListActivity",
"action":"compareConfirmButton.on",

This is actual comparison of two edits, or the equivalent of compare2.

Also just a note, that this feature in not available for Watchlist entries as they could be from different articles and hence not comparable. We have this while viewing edit history.

Validating we are seeing the events above for compare/confirm - Watchlist Data Validation