Closed Bug 1471350 Opened 3 years ago Closed 3 years ago

Add "Top Frecent Sites" to AS Router targeting

Categories

(Firefox :: Messaging System, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
Firefox 63
Iteration:
63.2 - July 23
Tracking Status
firefox63 --- fixed

People

(Reporter: k88hudson, Assigned: ahillier)

References

(Blocks 3 open bugs)

Details

User Story

https://docs.google.com/spreadsheets/d/132NbUoIFfga9N_LCHrPl1ENLWMHDaBWZxEurh3yiLp4/edit#gid=810854690

Attachments

(2 files)

For our CFR Milestone 1, we will need a targeting parameter for checking if a certain site (or probably hostname) is in the user's set of top sites.

Perhaps this could be implemented with in, e.g. `"amazon.com" in topFrecentSites` where topFrecentSites is just an array of host names, or perhaps a more advanced matching pattern is needed (this depends on the exact specification of the URL matching rules).

See ASRouterTargeting.jsm for existing code and https://github.com/mozilla/mozjexl for documentation
Severity: normal → enhancement
One thing to be careful about is "top sites" could have defaults and pinned sites whereas "top frecent sites" should be those that the user most visited/recently. But then another thing to be careful about is the targeting intent is for sites that the user visits a lot, but a brand new profile could have a single visit make it become a "top frecent site," so an explicit frecency threshold / check would probably be required.
Iteration: --- → 63.2 - July 23
Priority: -- → P2
User Story: (updated)
User Story: (updated)
Assignee: nobody → ahillier
Iteration: 63.2 - July 23 → 63.3 - Aug 6
Iteration: 63.3 - Aug 6 → 63.2 - July 23
Notes from our meeting with Kamyar:

URLS
- For m1, the URL match pattern should look at hostname/TLD. We should be able to target multiple TLDs at once (e.g. amazon.com, amazon.ca, amazon.co.uk etc.). It sounds very similar to how we do tippy-top / top sites, so we might be able to use the same logic
- In the future we would like to look at multiple subdomains as well as the first part of the path (e.g. google.com/maps), however, this is not necessary for m1. We should be mindful of the privacy implications of this.
- Exact URL recipes will be provided by Shell/Scott; 

Thresholds
- Kamyar has some recommendations for thresholds as well as a meaning for "semi-fresh", which he will provide exact definitions of in the future; we should provide support for a specific minimum number of visits and a minimum recency, preferably in a way that can be exposed to/ changed in the targeting expression. We might be able to just use the frecency number from the NewTabUtils query for this.
From discussion with Kate:

- If we're targeting multiple domains, we can't just add the frecency for the domains as then that frecency value may account for more than 10 visits. We also can't just average them, because the average will be lower than the maximum for a single domain, which doesn't make sense. In the Amazon case of locale-specific sites (amazon.com/.ca/.co.uk/etc.) it's probably a reasonable approximation for most users to test if any single domain crosses the frecency threshold, as almost all users will be predominently using just one of the geodomains, so we'll do that for milestone one.

- Should we target a domain if a user has blocked that domain from their topsites? What about in the case where they've blocked one but not all of the multiple domains we're targeting? For milestone one we will ignore blocked sites for domain targeting, and in the case of multiple domains just disregard the ones that have been blocked. However, it's something to reconsider in the future.
Frecency is also a per-page value (not per domain). Indeed, most users who have multiple related domains probably primarily visit one, so just checking the max frecency of the most-frecent page of each related domain is probably good enough. Adding the frecency of each matching top domain could work, but that's probably adding unnecessary complexity.

If we're using the data from TopSitesFeed frecentCache / getTopSites, the blocked pages get filtered out already.
Comment on attachment 8992073 [details]
Bug 1471350: Add Jexl transforms for ASRouter topFrecentSites targeting

https://reviewboard.mozilla.org/r/256980/#review263832
Attachment #8992073 - Flags: review?(mcooper) → review+
Comment on attachment 8992073 [details]
Bug 1471350: Add Jexl transforms for ASRouter topFrecentSites targeting

https://reviewboard.mozilla.org/r/256980/#review264430
Attachment #8992073 - Flags: review?(khudson) → review+
Pushed by khudson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/721a89562597
Add Jexl transforms for ASRouter topFrecentSites targeting r=k88hudson,mythmon
https://hg.mozilla.org/mozilla-central/rev/721a89562597
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 63
Blocks: 1478144
Blocks: 1489530
Component: Activity Streams: Newtab → Messaging System
You need to log in before you can comment on or make changes to this bug.