Anonymous Personalization Without Leaving Drupal by Mike Lander - - PowerPoint PPT Presentation

anonymous personalization without leaving drupal
SMART_READER_LITE
LIVE PREVIEW

Anonymous Personalization Without Leaving Drupal by Mike Lander - - PowerPoint PPT Presentation

DrupalCon Seattle 2019 Anonymous Personalization Without Leaving Drupal by Mike Lander Michael Lander Technical Director @ Elevated Third D.O.: @michaellander Twitter: @MikeLand3r Drupal Slack: @michaellander What is personalization?


slide-1
SLIDE 1

Anonymous Personalization Without Leaving Drupal

by Mike Lander

DrupalCon Seattle 2019

slide-2
SLIDE 2

Michael Lander

Technical Director @ Elevated Third D.O.: @michaellander Twitter: @MikeLand3r Drupal Slack: @michaellander

slide-3
SLIDE 3

What is personalization?

Personalization is to alter the content and UX of a website to provide an experience customized to an individual users context or state.

slide-4
SLIDE 4
  • Dynamic Content Recommendation
  • Individualized Tokenization
  • Contextual Conditions*

* This is where we are focusing.

Types of anonymous personalization:

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

Drupal is great at providing customized experiences for authenticated users, and flattening pages for anonymous users. But what if we want to provide customized experiences for anonymous users?

slide-8
SLIDE 8

Browser properties Cookies Device Properties localStorage Visitor Actions Third Parties And more...

slide-9
SLIDE 9

drupal.org/project/smart_content

slide-10
SLIDE 10

Smart Content at its core, is an API and toolset for providing conditions, and subsequent reactions.

slide-11
SLIDE 11

… it is not, however, an access control module.

slide-12
SLIDE 12

The Ecosystem

  • Smart Content (smart_content)
  • Smart Content Block (smart_content_block)*
  • Smart Content Browser (smart_content_browser)*
  • Smart Content View Mode (smart_content_view_mode)
  • Smart Content Segments (smart_content_segments)
  • More to come...

* Included in smart_content module.

slide-13
SLIDE 13

Let’s take a look

slide-14
SLIDE 14

How it works

slide-15
SLIDE 15

Page is rendered with a placeholder for each Smart Content decision.

Placeholder <div>

slide-16
SLIDE 16

Settings are passed to Javascript containing associated data for each decision.

slide-17
SLIDE 17

Additional libraries are also attached for processing conditions.

slide-18
SLIDE 18

Decision.js searches the page for all placeholders, and begins processing the associated data for each decision.

Placeholder <div>

slide-19
SLIDE 19

Decision Variation 1 Variation 2 Variation 3 Variation 1

Condition If mobile Reaction Show block 1

Variation 2

Condition If cookie = v1 Reaction Show block 2

Variation 3

Condition If cookie = v2 Reaction Show block 3

Condition Handler

slide-20
SLIDE 20

Condition Handler

Condition If mobile Condition If cookie = v1 Condition If cookie = v2 Common conditions are combined until value satisfied.

Smart Content Browser Smart Content Demo

Returns: mobile = false Returns: cookie = v1

Decision

slide-21
SLIDE 21

Decision Variation 1 Variation 2 Variation 3 Variation 1

Condition If mobile Reaction Show block 1

Variation 2

Condition If cookie = v1 Reaction Show block 2

Variation 3

Condition If cookie = v2 Reaction Show block 3

Condition Handler Variation 1

Condition If mobile Reaction Show block 1

Variation 2

Condition If cookie = v1 Reaction Show block 2

Variation 3

Condition If cookie = v2 Reaction Show block 3

Decision

Returns: cookie = v1 mobile = false

slide-22
SLIDE 22

If a winner is found, a request is made to retrieve the winning

  • reaction. The

placeholder is then replaced.

slide-23
SLIDE 23

… so what can we use this for?

slide-24
SLIDE 24

Targeting segments Content based on scoring Per device/os content Gated resources Location based customizations New vs Returning GDPR Notifications Time-of-day customizations A/B or Multivariate

slide-25
SLIDE 25

Get Involved

drupal.org/project/smart_content

slide-26
SLIDE 26

Smart Content is currently in

  • alpha. We are looking for testers,

and looking for people to extend and push the module.

slide-27
SLIDE 27

Path to Beta:

  • Finalize interfaces
  • Fix any beta-blocking bugs
  • Improve documentation
slide-28
SLIDE 28

And then what?

  • Continue on to a full release
  • Extend the module to feature

additional conditions and reactions

  • A/B tests, multivariate tests…?
slide-29
SLIDE 29

Questions?

slide-30
SLIDE 30

Contribution opportunities

Friday, April 12, 2019 9:00-18:00 Room: 602 Mentored Contribution First Time Contributor Workshop General Contribution

#DrupalContributions

9:00-12:00 Room: 606 9:00-18:00 Room: 6A

slide-31
SLIDE 31

What did you think?

Locate this session at the DrupalCon Seattle website: http://seattle2019.drupal.org/schedule Take the Survey! https://www.surveymonkey.com/r/DrupalConSeattle

slide-32
SLIDE 32

elevated third | Denver | Raleigh | Seattle | (303) 436-9113

Thank you!

If you have more questions, find me at our booth, on slack, twitter or on D.O.

D.O.: @michaellander Twitter: @MikeLand3r Drupal Slack: @michaellander