New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 679336 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Team-Security-UX



Sign in to add a comment

Recording site engagement following interaction with a notification

Project Member Reported by peter@chromium.org, Jan 9 2017

Issue description

A user clicking on a notification, or a developer-provided button on a notification, is a great sign of engagement with a website. We should probably record that.

One particular case in which this is beneficial are push aggregators, where foo.pushservice.com shows the notification instead of foo.com, giving them *some* means of gathering some budget.
 
General note: Peter and I were discussing some potential issues of push aggregators once we move to the new budget system and think that granting budget to an origin when one of it's notifications are tapped would solve this, and it seems like a very natural decision to me.
Cc: dmu...@chromium.org dk...@chromium.org benwells@chromium.org kcaratt...@chromium.org
-cc calamity, +cc kcarattini, benwells, dknox, dmurph

This is something that has been suggested before by the important sites team, who currently directly check for sites which have been granted notifications and add them to the list of important sites. We should probably think about prioritising since multiple teams are requesting.

One question is whether we should apply engagement for any granted permission request, or just for a subset (only notifications?) And whether we should give engagement at the time of a permission grant, or give a flat boost per permission that is already granted (and remove the boost when/if the user revokes permission).
It seems like the two teams are asking for slightly different things, is that correct? One is boosting engagement for interaction on an actual notification, the other is boosting engagement for a notification permission grant.

For interaction with the notification itself, is it the aggregator site that requests the notification permission in the first place or is it foo.com?


Comment 4 by peter@chromium.org, Jan 10 2017

Kendra is right, this bug specifically is about interaction with a shown notification. That would be recorded for the origin that has shown the notification, which would be the aggregator site in these cases. (Which must've been granted permission.)

Orthogonally, my 2 pennies on the permissions topic - granted permissions can be a signal that a trust relationship exists between the user and the site. It seems reasonable to consider that.
Presumably the aggregator site requested the original notification permission through an iframe. If we proceed with boosting for a permission grant, we'd need to be careful about how this interacted with Feature Policy.

Comment 6 by owe...@chromium.org, Jan 10 2017

That's a good thought. It's interesting to note that we're actually in the process of deprecating the ability to request from iFrames and that will happen most likely by Chrome 61, if not sooner (we're running a deprecation timeline to give developers time to adjust).

Specifically, I'm most concerned with granting some engagement for interaction on the notification, rather than for any permission grant, as the former helps with a use case we care about. The latter definitely sounds reasonable, there's just no requirement from our side for prioritizing it right now, hence focusing on the former :). Perhaps we can fork the permission question to a separate issue if it's something we want to consider.
Labels: -Pri-3 Pri-2
Owner: dominickn@chromium.org
Status: Assigned (was: Available)
Update: We've decided to have interaction on a notification (either clicking or inline response), as well as granting the notification permission earn engagement. The latter will be a static boost to the engagement score.
Dominick - you're pretty loaded, want me to take this on?
This is pretty straightforward and not immediately urgent, so it can stay in my queue (I have other things that you can take ;))
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b8a53b39667bab5aa73c5526b33bfdb04ea5351b

commit b8a53b39667bab5aa73c5526b33bfdb04ea5351b
Author: dominickn <dominickn@chromium.org>
Date: Mon Mar 20 07:19:24 2017

Grant origins engagement for having interactions on their notifications.

This CL implements support for interactions on persistent (i.e.
ServiceWorker-based) notifications to generate site engagement. A new
engagement type and points bucket is added for notification
interactions.

In the future it would be better to have notification observers so the
site engagement service itself can directly observe notifications
without needing to expose HandleNotificationInteraction() publicly.

Several tests are added and extended to ensure that the correct
behaviour is exhibited on Android and desktop when users:
 - click on a notification (increase engagement)
 - click on an action button in a notification (increase engagement)
 - click on the settings button (no action)
 - close the notification (no action)

This CL also corrects some errors in histograms.xml as well as adding
the new engagement type.

BUG= 679336 

Review-Url: https://codereview.chromium.org/2748103011
Cr-Commit-Position: refs/heads/master@{#458021}

[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/android/java/src/org/chromium/chrome/browser/engagement/SiteEngagementService.java
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeTest.java
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_metrics.h
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_observer.h
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_score.cc
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_score.h
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_service.cc
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_service.h
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_service_android.cc
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/engagement/site_engagement_service_unittest.cc
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/notifications/platform_notification_service_impl.cc
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/notifications/platform_notification_service_impl.h
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/chrome/browser/notifications/platform_notification_service_interactive_uitest.cc
[modify] https://crrev.com/b8a53b39667bab5aa73c5526b33bfdb04ea5351b/tools/metrics/histograms/histograms.xml

Status: Fixed (was: Assigned)

Sign in to add a comment