Changing the Face of Identity
In Ecommerce
Jonathan LeBlancDeveloper Evangelist: X.commerce
Joind.In: https://joind.in/6100Email: [email protected]
Twitter: @jcleblanc
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
The Gist of This Talk
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
The Gist of This Talk: PayPal Access
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
The Gist of This Talk: PayPal Access
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
The Gist of This Talk: PayPal Access
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What is user identity?
How can you use grouping to personalize?
How do you pick the right identity tool?
How does PayPal Access help?
What We’re Going to Cover
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What is user identity?
How can you use grouping to personalize?
How do you pick the right identity tool?
How does PayPal Access help?
What We’re Going to Cover
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: It’s Not Facebook
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: It’s Not BrowserID
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: It’s Not Even PayPal
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: Login is Just the Tool
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: It’s Human Behavior
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Are you tracking what a user is viewing?
Are you categorizing your users?
Are you incentivizing your users?
Identity: Statistics From User Browsing Data
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: The Different Identity Models
Anonymous Identity
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: The Different Identity Models
Perceived Identity
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity: The Different Identity Models
True (Verified) Identity
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What Have We Learned Thus Far?
Identity is more than just a login
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What is user identity?
How can you use grouping to personalize?
How do you pick the right identity tool?
How does PayPal Access help?
What We’re Going to Cover
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Grouping: Users Get Confused
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Grouping: Find People With Like Interests
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Grouping: Recommended Products
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What Have We Learned Thus Far?
Identity is more than just a login
Grouping provides insight into users
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What is user identity?
How can you use grouping to personalize?
How do you pick the right identity tool?
How does PayPal Access help?
What We’re Going to Cover
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity Tools: Proprietary or Open?
23 % of customers abandoned carts when asked to register. (Forrester)
45 % left a site when they couldn’t remember their password. (Blue Inc)
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity Tools: It’s Simpler Than You Think
What kind of raw user data do you need?
In what ways do you want to personalize your product with identity?
Do you sell anything?
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity Tools: Selling Goods
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity Tools: Selling Goods
Graph source provided by Digitas (http://rww.readwriteweb.netdna-cdn.com/teaser.jpg)
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity Tools: Raw User Data
{ "addresses":[{ "state":"CA”, "street1":"1339 moonlight way”, "city":"New York", "zip":"92345” }], "emails”:["[email protected]"], "firstName":"John", "lastName":"Smith", "telephoneNumber":"2123935554”}
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Identity Tools: Personalization
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What Have We Learned Thus Far?
Identity is more than just a login
Grouping provides insight into users
The right tool should work for your needs
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
What is user identity?
How can you use grouping to personalize?
How do you pick the right identity tool?
How does PayPal Access help?
What We’re Going to Cover
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
PayPal Access: The Core Principals
Identity is more than just a login
Grouping provides insight into users
The right tool should work for your needs
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
• Create an application at devportal.x.com.
• Forward the user to PayPal to authenticate.
• Exchange the response code for an access token.
• Use the access token to collect user data.
PayPal Access: Implementation Example
PayPal Access: The Common Code
<?phpdefine('KEY', 'YOUR APPLICATION ID');define('SECRET', 'YOUR APPLICATION SECRET');
define('CALLBACK_URL', 'YOUR CALLBACK PATH - TO COMPLETE.PHP');define('AUTH_ENDPOINT', 'https://identity.x.com/xidentity/resources/authorize');define('TOKEN_ENDPOINT', 'https://identity.x.com/xidentity/oauthtokenservice');define('USER_ENDPOINT', 'https://identity.x.com/xidentity/resources/profile/me');
function run_curl($url, $method = 'GET', $postvals = null){ ... }?>
PayPal Access: Forwarding for Login
<?phprequire_once "common.php";
$auth_url = sprintf( "%s?scope=%s&response_type=code&redirect_uri=%s&client_id=%s", AUTHORIZATION_ENDPOINT, urlencode("https://identity.x.com/xidentity/resources/profile/me"), urlencode(CALLBACK_URL), KEY);
//forward user to PayPal auth pageheader("Location: $auth_url");?>
PayPal Access: Obtaining the Access Token
<?phprequire_once "common.php";
//capture code from auth$code = $_GET["code"];
//construct POST object for access token fetch request$postvals = sprintf("client_id=%s&client_secret=%s&grant_type=authorization_code&code=%s&redirect_uri=%s", KEY, SECRET, $code, urlencode(CALLBACK_URL));
//get JSON access token object$token = json_decode(run_curl(ACCESS_TOKEN_ENDPOINT, 'POST', $postvals));
PayPal Access: Using the Access Token
//construct URI to fetch profile information for current user$profile_url = sprintf("%s?oauth_token=%s", PROFILE_ENDPOINT, $token->access_token);
//fetch profile of current user$profile = run_curl($profile_url);
var_dump($profile);?>
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Verified AccountLanguageFirst NameLast NameFull NameEmails
PayPal Access: The Raw Data
AddressesTelephone NumberDate of BirthTime zoneGender
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
PayPal Access: Using the Raw Data
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
PayPal Access: Using the Raw Data
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
PayPal Access: The Data Sources
TransactionRecency
TransactionFrequency
Activity Class
Average Spent
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Seamless Checkout Simplification
User is already known – no login needed.
Simplified checkout with a single review step.
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Extending Identity with Recommendations
Recommended Products
SimilarProducts
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Group Dynamics with Prospect Scores
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
In The End…
Data should help, not hinder
Identity should help extend your business
X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
Looking for Partners
Early Access to alpha release products
Direct support from evangelism & engineering
Thanks for joining me! Questions?
Slides: http://slidesha.re/confoo_identity1
Jonathan LeBlancDeveloper Evangelist: X.commerce
Email: [email protected]: @jcleblanc
Github: http://github.com/jcleblanc