Using SSO for Permission Marketing: A Primer

Recently, our CEO Dave Yovanno published a well-received article in Mashable about the movement towards “Permission Based Marketing”. It describes a model in which websites that embrace data transparency with users will be rewarded with (i) higher CPMs, (ii) a way to differentiate against the competition, and (iii) a more loyal audience.

From a technical standpoint, the targeted advertising concepts discussed in the post can be implemented using Gigya. Below are several of these concepts along with suggestions on how you can implement them with Gigya.“Sites can sell against social influence and activity…”
The article talks about using “social influence” factors as a way to target advertisements. A great way to accomplish this is using our iRank feature. iRank is a number between 1-99, which denotes the percentile location of the user in compare to all other site users as a site influencer. The iRank calculation uses the following parameters:

  • The number of friends the user has in all the networks that they are connected to through your site (Facebook, Twitter, Linkedin, tc).
  • The number of times the user shared something on your site (per month).
  • The number of click backs that were made as a result of this user’s shares.

Accessing iRank to target advertising is straightforward. Simply call socialize.getUserInfo (javascript or REST) and set the parameter include iRank to “true”. You’ll receive the user’s iRank in the response User object which you can use to target ads or other incentives. For example, if a user’s iRank puts them in the top 20% of site influencers you can offer targeted rewards. As mentioned in the paper, reward programs driven by game mechanics are a key part of this new model.

“sites could offer advertising based on interest data”
The paper also talks about offering advertising based on interest data, targeting movie fans or iPod fans for example. These are often popular data elements on social networks like Facebook, Linkedin, Yahoo and Google.

The extra Fields parameter on socialize.getUserInfo accepts a comma-separated list of additional data fields to retrieve besides the standard profile information found in the User object. The current values you can enter are “interests” and “activities”. Just call this method using either javascript or REST and you’ll extract a user’s interest data.

Note: Before your application can retrieve interests and activities, the user must grant your application with access. Please read about this in the Enable Retrieving User Interests and Activities guide.

“…powerful social filters for relevant content”
The paper talks about providing social filters so that users can see what their friends are reading and sharing on their site. This gives them a powerful social filter for discovering relevant content such as what items their friends have purchased on your site.  One of the most popular ways to do this is to implement an Activity Stream (using an Activity Feed Plugin). It creates instant personalization and social context for users who login with identities like Facebook, Twitter, Yahoo, LinkedIn, Google, etc.

There are a variety of ways to accomplish this using Gigya. Take a look at our recent blog post “Implementing Simple Activity Feeds” which details two technical approaches to get you started.

“demographic targeting”
The article mentions demographic targeting. Gigya aggregates basic demographic information across providers. Calling socialize.getUserInfo will return a User object that contains standard profile information for the logged in user. Different providers supply different information so the availability of the data depends on the specific provider the user is connected to. But targeting content based on basic demographic information found in the User object is a great place to start.

There may also be times when you’ll want specialized demographic data found at a specific provider. For example, you might want to make a Facebook Graph API call to target advertisements based on a user’s gender, date of birth, hometown or even likes. Or maybe you want to call the Linkedin API to offer a user incentives based on their education history.

To retrieve data directly from the provider, use our socialize.getSessionInfo method which will return the OAuth token (sometimes called “session token”) generally required for making API calls on behalf of the user. We have technical writeup of how to implement this with Facebook using our REST API but you can apply the concept using our javascript API along with other providers like Twitter, Linkedin, Messenger Connect, etc.

Note: Facebook will often require “extended permissions” before allowing your site to access certain profile information. You can read about how to use the “scope” parameter when using the Graph API from their Authentication guide.

By Kevin White