Closed Bug 1834842 Opened 2 years ago Closed 1 year ago

Replace hardcoded SERP Telemetry parameters with new config data by integrating with Remote Services helper class

Categories

(Firefox for Android :: Search, task)

All
Android
task

Tracking

()

VERIFIED FIXED
124 Branch
Tracking Status
firefox124 --- verified

People

(Reporter: skhan, Assigned: skhan)

References

Details

(Whiteboard: [fxdroid])

Attachments

(1 file)

Steps to reproduce ( in order to match with the remote config )

  1. Remove the existing validCodeSet https://searchfox.org/mozilla-mobile/rev/7562b185670145d7d36674fbaaf792bfc2ad3c63/firefox-android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/Utils.kt#14-24 , replace codePrefixes with taggedCodes and use exact matching.
  2. Add handling of expectedOrganicCodes which will classify some partner codes as purely organic rather than tagged:other.
  3. Add organicCodes param to SearchProviderModel, https://searchfox.org/mozilla-mobile/rev/7562b185670145d7d36674fbaaf792bfc2ad3c63/firefox-android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetry.kt#74-134
  4. Add altogether a new SearchProviderModel called Ecosia which desktop added for version 110.0a1 and after.
No longer depends on: 1834820
Assignee: nobody → skhan
Whiteboard: [fxdroid]
Blocks: 1833277

Per Sarah in the PR description:

As of the task related to this PR, everything is ready to be reviewed but is dependent on the task mentioned before [Bug 1834820] hence not ready to be landed.

Depends on: 1834820
Depends on: 1860531
Depends on: 1861676

Changes needed to be added to focus and fenix both as well since the functions in the Android-components changed slightly.

Blocks: 1870066
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 124 Branch
Flags: qe-verify+

Hello!
Sarah, could you please provide us some STR, or some scenarios in order for the QA to verify this ticket.
Thank you!

Flags: needinfo?(skhan)

(In reply to miralobontiu from comment #5)

Hello!
Sarah, could you please provide us some STR, or some scenarios in order for the QA to verify this ticket.
Thank you!

Desktop QA has some test cases for SERP telemetry, that might be able to help with this.

(In reply to miralobontiu from comment #5)

Hello!
Sarah, could you please provide us some STR, or some scenarios in order for the QA to verify this ticket.
Thank you!

Hello! Since this is an old feature (https://github.com/mozilla-mobile/focus-android/issues/4967#issuecomment-893411693) which got some new updates (same as desktop SERP telemetry), we can for use Desktop QA test cases as Mark has mentioned in comment #6.

We have,
InContentTelemetry : Telemetry for knowing of in-web-content searches (including follow-on searches) and the provider used.
For example, if we search something on the urlbar with Google as the search engine, we should record InContentTelemtry specifically IN_CONTENT_SEARCH recorded with the Google as the provider-name and the right type and code
Documentation : https://searchfox.org/mozilla-central/source/browser/components/search/schema/search-telemetry-schema.json#56
Metrics recorded : https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/browser_search_in_content

AdsTelemetry (Telemetry for knowing how often users see/click ads in search and from which provider.)

  1. For example, if we search "photo" with DuckDuckGo as the search engine, we should record InContentTelemetry as well as AdsTelemetry because the results contain ads as well, specifically SERP_AD_SHOWN
    Metrics recorded : https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/browser_search_with_ads

  2. In case we click the above ad, we should record AdsTelemetry again, specifically SERP_AD_ClICKED
    Metrics recorded : https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/browser_search_ad_clicks

[:standard8], would you able to provide test cases or perhaps a link to the desktop test cases?

Flags: needinfo?(skhan)
Flags: needinfo?(standard8)

Thank you, Sarah!
I already have access to the desktop test cases.

Flags: needinfo?(standard8)

Verified on the latest Fenix Nightly builds from 2/7, and 2/8, with the following: Google Pixel 8 (Android 14), Google Pixel 6 (Android 14), and Oppo Find X3 Lite (Android 11).
Here are my findings:

  • on region US, the browser.search.with_ads, bowser.search.in_content, and the browser.search.ad_clicks metrics were successfully generated on all three default search engines: Google, DuckDuckGo, and Bing,
  • on DE, the browser.search.with_ads, bowser.search.in_content, and the browser.search.ad_clicks metrics were successfully generated on all three default search engines: Google, DuckDuckGo, and Bing,
  • on DE, setting the Ecosia search engine as the default one, dowsn't trigger any of the above mentioned metrics - Glean dashboard - even though the devices was set to German, the browser.search.region from about:config was set to DE, and the VPN was set to Germany. I filed Bug 1879135 for this issue.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: