Web personalization by Bryce Roberts

75
By Bryce Roberts, MS, MSPH StoneRidge Corporation [email protected] © 2013 – StoneRidge Corporation

description

This presentation provides an overview of implementing web personalization with a thick client (jQuery) and Cascade generated content sets and management for an admission site. It will provide example of both environmental and behavioral information based web personalization. This presentation provides a starting point on the road to web personalization.

Transcript of Web personalization by Bryce Roberts

Page 1: Web personalization by Bryce Roberts

By Bryce Roberts, MS, MSPHStoneRidge Corporation

[email protected]

© 2013 – StoneRidge Corporation

Page 2: Web personalization by Bryce Roberts

• What is Web Personalization?• Who does it well?• Example ideas with Cascade

© 2013 – StoneRidge Corporation

Page 3: Web personalization by Bryce Roberts

Define web personalization

Know a sample of uses cases for web personalization in higher education

Know key features of Cascade Server that support web personalization

Understand an implementation strategy (tags)

See example of tools that can facilitate web personalization

© 2013 – StoneRidge Corporation

Page 4: Web personalization by Bryce Roberts

One view to rule them all …

© 2013 – StoneRidge Corporation

Page 5: Web personalization by Bryce Roberts

© 2013 – StoneRidge Corporation

Most higher education sites provide a single web content set for all viewers of a particular piece content

Individualization of content is often through separate pages or event sites

Highly successful business firms personalize content in both digital and physical forms

Page 6: Web personalization by Bryce Roberts

Content personalization is coming …◦ Like the revolutions in social media and

responsive design◦ It is already having dramatic effects on the ways

people engage with favorite websites

In some cases web personalization is already here and driving large sites

Guess what … Cascade Server can help!

© 2013 – StoneRidge Corporation

Page 7: Web personalization by Bryce Roberts

Why not use this one view?

You cannot wield it.

© 2013 – StoneRidge Corporation

Page 8: Web personalization by Bryce Roberts

More is lessMore is less

Nielsen Norman Group [1]

◦ … at most 28% of the words during an average

visit [are read] …

◦ 4.4 seconds more for each additional 100 words

More content is now displayed on pages◦ Mostly driven by images but also text

© 2013 – StoneRidge Corporation

1 Nielsen, J. How Little Do Users Read (2008) Nielsen Norman Group

Page 9: Web personalization by Bryce Roberts

Not all content is equally interestingNot all content is equally interesting

Web pages are viewed by irrational people◦ Perfectly rational would look through all content◦ No one is perfectly rational

◦ If not engaged, user will use the back button or leave site

Pages often are for multiple types of viewers with different interests and goals

© 2013 – StoneRidge Corporation

Page 10: Web personalization by Bryce Roberts

Improvement of content engagement ◦ Longer, deeper, more

Enriched user experience◦ “That’s just what I am looking for …”

Enhanced brand perception◦ “They really get me …”

Increased conversion rate

◦*Click*

© 2013 – StoneRidge Corporation

Page 11: Web personalization by Bryce Roberts

What are you waiting for? Just let it go!The one view is mine.NOOO …

© 2013 – StoneRidge Corporation

Page 12: Web personalization by Bryce Roberts

Web personalization is a type of content

personalization.

Web personalization is the process by

which information about the viewer is

utilized to dynamically insert, update, or

select content

© 2013 – StoneRidge Corporation

Page 13: Web personalization by Bryce Roberts

In the physical world◦ Direct retail marketing for years was the only

game Based on geographic location Based on past behavior (orders)

◦ Current examples The inventory at your location Wal-Mart®

Database of store behavior Database of area demographics

Bed, Bath, and Beyond (store to home engagement) “Can I have your zipcode?”

In the digital world …

Page 14: Web personalization by Bryce Roberts

Google◦ The leader and pioneer of web personalization

Amazon◦ “It know just what I want … ”

Netflix◦ Cash and prizes to help us do it better

CNN (Outbrain)◦ It is everywhere

Page 15: Web personalization by Bryce Roberts

And sometimes you do want to know the end. Because how could the end be happy?

© 2013 – StoneRidge Corporation

Page 16: Web personalization by Bryce Roberts

Identify Users◦ Implicit – users’ behavior

Types of link clicked Any measurable event

◦ Explicit – users’ observable data IP address (geo-location) User defined preference Site entry point

Identify Content◦ Tag, tag, tag◦ Cascade can really help!

…© 2013 – StoneRidge Corporation

Page 17: Web personalization by Bryce Roberts

Change Content◦ Insert, Update, or Select based on the user

identity and content identity

Refine (optional)◦ Update your tags

◦ Update your users identification mechanisms

◦ Cascade can really help!

◦ Google Analytics can really help.

© 2013 – StoneRidge Corporation

Page 18: Web personalization by Bryce Roberts

You shall not pass!

© 2013 – StoneRidge Corporation

Page 19: Web personalization by Bryce Roberts

No system, idea, or revolution is prefect

Web personalization can work against its

own stated goals

Like most everything it is all about balance

© 2013 – StoneRidge Corporation

Page 20: Web personalization by Bryce Roberts

Misidentification of user

◦ Example geo-location by IP is not perfect

◦ Not everyone who goes to prospective guide

page is a prospective student

The “personalization bubble”

Content exploration is more difficult

© 2013 – StoneRidge Corporation

Page 21: Web personalization by Bryce Roberts

There's plenty for the rest of us... may the best website win!

© 2013 – StoneRidge Corporation

Page 22: Web personalization by Bryce Roberts

Google search – “Auto Repair Shopts” query

Geo by IP

Can includeuser behavior –spelling suggest

Highly Personalized

© 2013 – StoneRidge Corporation

Page 23: Web personalization by Bryce Roberts

Geo-location place the most likely location to be approximately 25 miles away

The content bubble effect – only saw auto shops in Norcross (not Marietta)

Hard to explore desired content, because of content bubble effect

User disengagement – not what I wanted

Page 24: Web personalization by Bryce Roberts

First time custom – provide a general homepage without customization

Promotesgeneralproducts

© 2013 – StoneRidge Corporation

Page 25: Web personalization by Bryce Roberts

Search for “glass blowing” and click on the first product

Promotes other glassblowing books – otherusers’ behavior

Returning later the homepagenow shows books about glassblowing – current user’s behavior

© 2013 – StoneRidge Corporation

Page 26: Web personalization by Bryce Roberts

The content bubble effect – only see suggested products related to glass blowing

Incomplete profile, which is tied to a particular browsers/computer (profile does not cross browsers on same computer or between computers)

Profile bleed – if a new user comes to the same computer, the profile is not refreshed.

Page 27: Web personalization by Bryce Roberts

Progressive enhancement to user’s suggestion movies

Implicit – All about user’s behavior Feedback mechanism

© 2013 – StoneRidge Corporation

Page 28: Web personalization by Bryce Roberts

Starting out – content suggestions seem random and disjointed

Requires significant amount of time to build a profile of the user

Content bubble – show only shows like one you have watched and rated as liked

Profile bleed – if a new user comes to the same computer, the profile is not refreshed.

Page 29: Web personalization by Bryce Roberts

Embedded third partyuser profiling andcontent provider

Found on all pages

Seamless betweenowner content andthird party’s content

Content from Apple iPhone announcement

© 2013 – StoneRidge Corporation

Page 30: Web personalization by Bryce Roberts

Embedded third partyuser profiling andcontent provider

Found on all pages

Seamless betweenowner content andthird party’s content

© 2013 – StoneRidge Corporation

Page 31: Web personalization by Bryce Roberts

Just like Netflix

Starting out – content suggestions seem random and disjointed

Requires significant amount of time to build a profile of the user

Content bubble – show only articles like one, which where previous click (no feed back mechanism)

Profile bleed – if a new user comes to the same computer, the profile is not refreshed.

Page 32: Web personalization by Bryce Roberts

Anyways you need people of intelligence on this sort of … mission … quest … thing!

© 2013 – StoneRidge Corporation

Page 33: Web personalization by Bryce Roberts

Force users to login when coming to your site

and fill out a complete information profile

Put all content for all audience on all pages

Create sites for each type of viewer and let

the user choice, which site to visit

© 2013 – StoneRidge Corporation

Page 34: Web personalization by Bryce Roberts

Dynamically insert content◦ Example: insert additional content into page

Dynamically update content◦ Example: change the order of content on a page

Dynamically select content◦ Example: select which content place on a page

Cascade supports this process!

© 2013 – StoneRidge Corporation

Page 35: Web personalization by Bryce Roberts

JS based◦ Can use any JavaScript library for structuring and

supporting web personalization (only limits are target users)

◦ Example are with jQuery since is a extremely helpful in DOM manipulation

◦ Storage and persistence is require for more meaningful personalization Cookies jStorage – great library

Plan on general content if JS is not enabled

© 2013 – StoneRidge Corporation

Page 36: Web personalization by Bryce Roberts

Embedded content◦ Cascade output◦ Classes on html element◦ Embedded JS variables (ex. array of event data)◦ Embedded XML◦ Feeds (RSS, ATOM, XML, JSON)

Can be on a page

Can be shared resource across site

© 2013 – StoneRidge Corporation

Page 37: Web personalization by Bryce Roberts

A web technology is never late. Nor is it early. It arrives precisely when it means to.

© 2013 – StoneRidge Corporation

Page 38: Web personalization by Bryce Roberts

In most higher education environments, most every if not all page can have some elements of web personalization.

Examples to be discussed◦ A university’s homepage◦ A newsroom or event calendar◦ An admission site

* Examples are drawn from monsteruniversity.com – it is a lot of fun and is used for educational purposes with claim of copyright (under fair use), all images of the site are covered by Pixar’s copyright

© 2013 – StoneRidge Corporation

Page 39: Web personalization by Bryce Roberts

Differentiate by audience (internal to campus vs external users)

Four area of content to think about customizing base on audience◦ Stories◦ Calls to action◦ News◦ Events

© 2013 – StoneRidge Corporation

Page 40: Web personalization by Bryce Roberts

Stories

Calls to action

News

Events

© 2013 – StoneRidge Corporation

Page 41: Web personalization by Bryce Roberts

Stories◦ Filter by fright-net (subnet)

External computers Continuing education for new extreme creepiness

Local computers Dean’s message about dishonor code

Calls to action◦ Filter by audience

Alumni Monsters Hiring Monsters initiative

Prospective Apply today to scare tomorrow

© 2013 – StoneRidge Corporation

Page 42: Web personalization by Bryce Roberts

News◦ Audience

Student Student Pride Event free 4-arm hoodie

Staff Update healthcare form to cover new growths

Events◦ Audience and Geo

Student on campus Campus event - Tailgating for the MU Monsters

Alumni off campus Local alumni chapter meeting

© 2013 – StoneRidge Corporation

Page 43: Web personalization by Bryce Roberts

Interior content order

Navigation links order and selection

Supplemental navigation (quick links)

Store Items (Parent, Alumni, Current …)

© 2013 – StoneRidge Corporation

Page 44: Web personalization by Bryce Roberts

It's the job that's never started as takes longest to finish.

© 2013 – StoneRidge Corporation

Page 45: Web personalization by Bryce Roberts

Callouts on Homepage◦ Audience – Insert content

Apply Now Page◦ Audience – Update content (order)

Events Feed◦ Audience and Geo-location – Select content

© 2013 – StoneRidge Corporation

Page 46: Web personalization by Bryce Roberts

Tag, tag, tag

The agile nature of Cascade server allows for creation of sophisticated tagging systems

You are only limited by your imagination

Example types: audience and geo-location

© 2013 – StoneRidge Corporation

Page 47: Web personalization by Bryce Roberts

Simple Object – Base on a string value

Expandable – can be used to collect and produce tagged content (feeds, etc…)

Good to include self documentation and description information about the tag

© 2013 – StoneRidge Corporation

Page 48: Web personalization by Bryce Roberts

© 2013 – StoneRidge Corporation

Page 49: Web personalization by Bryce Roberts

Complex Object – Base multiple values

Expandable – can be used to collect and produce tagged content (feeds, etc…)

Good to include self documentation and description information about the tag

© 2013 – StoneRidge Corporation

Page 50: Web personalization by Bryce Roberts

© 2013 – StoneRidge Corporation

Page 51: Web personalization by Bryce Roberts

Often content tags are attached to pages◦ Useful for tagging both pages and blocks◦ Can be use to create feeds

Tagging content becomes as simple as using a page picker

Tag lexicon can be expanded as needed.

© 2013 – StoneRidge Corporation

Page 52: Web personalization by Bryce Roberts

Callouts – blocks◦ Included on other pages

Apply Now page – within page content◦ Direct tagging on a page

Event page – individual pages◦ Collected in general feed◦ Collected as a topical feed

© 2013 – StoneRidge Corporation

Page 53: Web personalization by Bryce Roberts

Tagging can be a single associate or multiple associations with different types.

© 2013 – StoneRidge Corporation

Page 54: Web personalization by Bryce Roberts

Implicit◦ Clicking on links

Explicit◦ Geo-location◦ Freegeoip.net (it really is simple)◦ {"ip":"50.194.225.53","country_code":"US","cou

ntry_name":"United States","region_code":"GA","region_name":"Georgia","city":"Alpharetta","zipcode":"","latitude":34.0754,"longitude":-84.2941,"metro_code":"524","areacode":"770"}

© 2013 – StoneRidge Corporation

Page 55: Web personalization by Bryce Roberts

Should be similar in structure to your tags

Needs to be persistent

{audience : “Undergraduate”, geo: {country_code: “US”, region_code: “GA”}}

jStorage - http://www.jstorage.info/

May want to set a TTL

© 2013 – StoneRidge Corporation

Page 56: Web personalization by Bryce Roberts

Functions◦ checkUser()

◦ getUser()

◦ getUserAudience()

◦ getUserGeo()

◦ deleteUser()

© 2013 – StoneRidge Corporation

Functions◦ createUser()

◦ clearUser()

◦ setUserAudience()

◦ setUserGeo()

Page 57: Web personalization by Bryce Roberts

Cascade ◦ Tag action in

cascade ◦ Example of

audience navigation link

© 2013 – StoneRidge Corporation

On Page◦ Embed data in page◦ Base on action

<a href=“…” onclick=“setUserAduience(‘value’);”>…</a>

This can be implement many ways and integrated with GA

Page 58: Web personalization by Bryce Roberts

Create callout structure and tag content

© 2013 – StoneRidge Corporation

Include content on homepage and output with tagging

Page 59: Web personalization by Bryce Roberts

Structure – On page

callout = {img: image,href: link,txt: text,tags: {

audience:[]}

}

© 2013 – StoneRidge Corporation

Include all callout information on the page in the form of JSON.

This is collected into an array

On page load change user and insert content

Page 60: Web personalization by Bryce Roberts

(function($){$(function(){

if(!checkUser()){createUser();}var numberOfCallouts = 2;var locationOfCallouts =

‘.callouts’;var callouts = [];……

});})(jQuery);

© 2013 – StoneRidge Corporation

Page 61: Web personalization by Bryce Roberts

…var = userAudience = get if(getUserAudience !== ‘’){

callouts = $.grep(calloutArray, function(co){return $.grep(co.tag.audience), fn(au){

return au == getUserAudience();}).length > 0 ;

});} else {callouts = calloutArray;} …

© 2013 – StoneRidge Corporation

Page 62: Web personalization by Bryce Roberts

…displayCallouts(callouts, numberOf Callouts, locationOfCallouts);

Content is dynamically insert with a filter by user audience.Cascade server help manage the taggingjQuery provide tools for create application logic simply

© 2013 – StoneRidge Corporation

Page 63: Web personalization by Bryce Roberts

Tag content on page by audience

© 2013 – StoneRidge Corporation

Page 64: Web personalization by Bryce Roberts

Include tag value directly in the content

All content always displayed

Only order is adjusted

<div id=“reorder-container”> …<div data-audience=“” class=“reorder”>

<div>Section Title</div><div>Content …</div>

</div> …</div>

© 2013 – StoneRidge Corporation

Page 65: Web personalization by Bryce Roberts

$(function(){$(“.reorder”).filter(function(index){

return $(this).data(‘audience’) ==

getUserAudience();}).detach().prependTo(‘# reorder-container’);

});Reorder content if user as audience value

© 2013 – StoneRidge Corporation

Page 66: Web personalization by Bryce Roberts

Tag content on page ◦ By audience ◦ By geo-location

Collect content withcontent type index

Create feed output

© 2013 – StoneRidge Corporation

Page 67: Web personalization by Bryce Roberts

<events><event>

<audiences><audience>Value</audience>…

</audiences><locations>

<location><country>Value</country><region>Value<region>

</location></locations>… event data …

</event></events>

© 2013 – StoneRidge Corporation

Page 68: Web personalization by Bryce Roberts

$.get(‘feeds/events.xml’,function(data){$events = $(‘event’, data);var $selectedEvents = $events.filter(function(index){

return $(this).find(“audience:contains(“+getUserAdience()+”)”).length > 0 && $(this).find(“region:contains(“+getUserGeo.region+”)”).length > 0

});outputSelectEvents($selectedEvents);outputAllEvents($events);

});

© 2013 – StoneRidge Corporation

Page 69: Web personalization by Bryce Roberts

Select content can be use differently form all content

Selection can be based on audience, geo-location, or both

With Cascade provide a simple method for tagging, JavaScript (jQuery) can provide powerful web personalization quickly and easily

© 2013 – StoneRidge Corporation

Page 70: Web personalization by Bryce Roberts

If I take one more step, it'll be the farthest away from home I've ever been

© 2013 – StoneRidge Corporation

Page 71: Web personalization by Bryce Roberts

Web personalization is a progressive process, which should include refinement

Over time the methods for implicit and explicit user identification can be improved

Google Analytics or other user behavior tools can be extremely helpful in this process

As you build and refine your tool, the quality and effectiveness of your web personalization efforts can only increase

© 2013 – StoneRidge Corporation

Page 72: Web personalization by Bryce Roberts

JavaScript is great for developing this type of dynamic webpage but server side languages can also be unitized

Much sure to have clear goals when implementing web personalization

Utilize user behavior to refine you content

© 2013 – StoneRidge Corporation

Page 73: Web personalization by Bryce Roberts

I wouldn’t be here without you

© 2013 – StoneRidge Corporation

Page 74: Web personalization by Bryce Roberts

Hannon Hill◦ For continuing to develop and add wonderful

features to Cascade Server◦ For nurturing a wonderfully vibrant user

community

Holly and the Hannon Hill team◦ For making this presentation possible with the

wonderful suggestion of the topic

You◦ For taking time and coming to my presentation

© 2013 – StoneRidge Corporation

Page 75: Web personalization by Bryce Roberts

Bryce Roberts, MS, MSPH

StoneRidge Corporation1050 E Piedmont Rd.Suite E-222Marietta GA, 30062

[email protected]

© 2013 – StoneRidge Corporation