Progressive Permissioning for Facebook

Progressive permissioning is a means of requesting additional permissions from the user, gradually and based on the user’s activity on the site. In a progressive permissioning strategy, when a new user signs in, the site requests minimal permissions. Later, when the user wants to complete an action such as posting a comment or sharing a video, the site requests further permissions.

The challenge of progressive permissioning is learning what your user base is comfortable with and how different permission requests affect conversion rates. We recommend preparing a series of A/B tests and tracking the respective performance of different request buckets.

Implementation

Progressive permissioning for Facebook is enabled with the facebookPermissions setting, which must be set as an array. For other providers, see Assign Scopes on a per-page Basis. See Social Login JavaScript API for more information on scopes.

To implement progressive permissioning requesting access only to a user’s email address, modify the facebookPermissions property as follows:


>janrain.settings.facebookPermissions = ['email'];

Or, if you want to request access to the user’s email address, location, and Likes, as well as to post to the user’s Timeline, set the facebookPermissions property to an array with the following values:


janrain.settings.facebookPermissions = ['email','user_location','user_likes','publish_stream'];

To see which values can currently be included in this array, check the Facebook developer’s page. Facebook adds new values often, so be sure to check frequently. Currently, when a user logs in to your application and no additional permissions are requested, the following properties are available to all applications by default:

  • age_range
  • first_name
  • gender
  • id
  • last_name
  • link
  • locale
  • name
  • username

Here is an example of implementing progressive permissioning with Facebook.