In this session, you will learn all that’s new with Apache Unomi, the open source Customer Data platform (that graduated this year) based on the Apache Karaf runtime, and all that’s happened since the last ApacheCon. You will discover how to easily integrate it with an existing website or SPA/PWA using its built-in web tracker, how to build customer segments and how to use the API to personalize the experience for your users. You’ll also learn how you can extend it to do almost anything, using either the built-in rules engine or your own plugins. You will also discover the new Docker compatibility and the upcoming GraphQL API. Finally, you’ll learn what’s next and how you can help the project.
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
ApacheCon NA 2019 : Customer segmentation and personalization using apache unomi
1. APACHECON North America Sept.
9-12, 2019
#ACNA19
@ApacheCon
@TheASF
CUSTOMER SEGMENTATION &
PERSONALIZATION USING
APACHE UNOMI
Serge Huber
Apache Unomi / Jahia
@sergehuber
2. APACHECON North America
#ACNA19 @ApacheCon @TheASF
About me
● CTO & Co-founder of Jahia
● Apache Unomi PMC Chair & Newly
appointed Apache Member (thank you!)
● Co-chair of OASIS CXS/CDP Technical
committee
● Love my Tesla way too much
3. APACHECON North America
#ACNA19 @ApacheCon @TheASF
About Jahia
● Customer data powered content management
(WCM + CDP = personalized multi-channel experiences)
● Open source since day 1 (2001)
● Moto: make digital simpler
● Vision: providing great customer experience while
respecting data privacy.
● We love developers : GraphQL, React, Headless, Elastic,
Beer…(most) developers love that
● Builds products using Apache Software:
Content -> Apache Jackrabbit
Data driven personalization -> Apache Unomi
Contributed Unomi to Apache Foundation
4. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Jahia’s Digital Experience Platform offering benefits
from strong Apache Unomi CDP capabilities for
better multi-channel experiences.
6. APACHECON North America
#ACNA19 @ApacheCon @TheASF
2015 ApacheCon announcement:
Pioneering Data Privacy disruption by envisioning
how customer data privacy could power data
driven marketing
11. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Customer Data Platform
Definition
A Customer Data Platform is
packaged software that creates a persistent,
unified customer database
that is accessible to other systems.
Apache Unomi team added:
and allows to protect the data privacy
of your customers
12. APACHECON North America
#ACNA19 @ApacheCon @TheASF
What can you do with Unomi ?
CDP as a service
A backend server with powerful APIs to build
any customer data based applications
with privacy by design.
13. APACHECON North America
#ACNA19 @ApacheCon @TheASF
What can you do with Unomi?
● Adding personalization/optimization to
an existing website or PWA
● Adding personalization/optimization to a
native mobile application
● Serving personalized ads
● Integrating instant messaging with
personalization (Slack + CDP)
14. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Apache Unomi & Apache Karaf
● Apache Unomi is an OSGi application
running in Apache Karaf
● It is packaged as a Karaf custom
distribution
● It leverages Karaf Cellar for clustering
● We love Karaf !
15. APACHECON North America
#ACNA19 @ApacheCon @TheASF
What’s new in 1.4.0 ?
● First release out of incubation!
● Better tools/Karaf shell commands
● Built-in Javascript Web Tracker (based on
analytics.js library)
● New REST endpoint to query events
● New patch system to modify deployed
definitions
● Docker compatibility
● Better documentation
● Better website
16. APACHECON North America
#ACNA19 @ApacheCon @TheASF
On-page personalization
● Load profile from CDP (Unomi)
● Evaluate conditions against the profile /
session
● Use results of evaluations to personalize
the on-page/on-screen visitor experience
● Customize page/screen elements based
on results or query other systems based
on results
17. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Segmentation
Groups profile based on different criterias
Segments contain conditions
Conditions tested against profiles
Conditions can be combined using AND/OR
and other combinations
18. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Conditions
Used in:
- Segments
- Rules
- Personalization
Can be composed using a tree structure
Can test on profile & session properties
19. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Condition example
"condition": {
"type": "profilePropertyCondition",
"parameterValues": {
"propertyName" : "segments",
"comparisonOperator" : "in",
"propertyValues": ["returningVisitors"]
}
}
21. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Example : Unomi Website
Let’s add personalization using
segmentation to it !
1. Define & deploy segment
2. Install web tracking & personalization on
Unomi website
22. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Example : Segment definition
1. Define a new
“Returning
visitor” segment
2. Test if the
property
“previousVisit”
exists
{
"metadata": {
"id": "returningVisitors",
"name": "Returning visitors",
"scope": "systemscope",
"description": "Regroups all visitors that
have come at least once to the site",
"readOnly":true
},
"condition": {
"type": "profilePropertyCondition",
"parameterValues": {
"propertyName":
"properties.previousVisit",
"comparisonOperator": "exists"
}
}
}
23. APACHECON North America
#ACNA19 @ApacheCon @TheASF
Example : Personalization
1. Check if the
visitor is in the
“returningVisitor
s” segment
2. Display/hide
content
elements based
on that.
unomiTracker.personalize({
"id": "testPersonalization",
"strategy": "matching-first",
"strategyOptions": {"fallback": "var2"},
"contents": [{
"id": "var1",
"filters": [{
"condition": {
"type": "profilePropertyCondition",
"parameterValues": {
"propertyName" : "segments",
"comparisonOperator" : "in",
"propertyValues": ["returningVisitors"]
}
}
}]
}, {
"id": "var2"
}]
}, function (res) {
console.log(res);
document.getElementById(res[0]).style.display = 'block';
});
25. APACHECON North America
#ACNA19 @ApacheCon @TheASF
What’s coming next ?
● Simplify plugins framework
● More Karaf Shell commands
● GraphQL API
● UI Framework
● (More) Apache Kafka integration
● REST & GraphQL will live side-by-side for a
few (major) releases
● OASIS CDP implementation
26. APACHECON North America
#ACNA19 @ApacheCon @TheASF
UI Framework
● Provide basic building blocks to build a UI
on top of Apache Unomi
● Full-blown UI is not a target
● Provide basic UI & examples on how to
build/customize a UI
● Use community feedback to improve UI
framework
27. APACHECON North America
#ACNA19 @ApacheCon @TheASF
We need your help!
● Talk about the project !
● Mess with it!
● Help improve onboarding by giving
feedback
● Fork it!
● Join our mailing lists & Slack channel