SlideShare a Scribd company logo
1 of 16
Creating “Smarter” Systems using
  Tealeaf 8 Advanced Eventing




           Vernon Wyatt
               Founder / CEO


          vernon@siteconversion.net
           Twitter: @TealeafExpert
                May 15, 2012
KEY FINDING:
"Poor online user experience, coupled with a lack of insight
about why customers are abandoning websites, is costing
businesses billions of dollars / pounds - more than $50 billion
lost in the US and around £14 billion lost in the UK in the last
year."
"weighted sort....great addition to
the portfolio of techniques that      "hope that web analytics
Analysis Ninja's will use to find
                                      vendors like Adobe, IBM,
insights faster and focus on
what's important."                    Yahoo! will take a step
                                      back...stop puking data...
                                      spend resources on making
                                      tools smarter, a bit more
                                      intelligent."
Advanced Mode Overview

- What is it?
- Training Resources
- Use Cases
- Key Concepts
- Simple Example
- Best Practices
How does Tealeaf feel about
Advanced Mode?


What is it?
Javascript based language that
runs in the Google V8 Javascript
Engine with extensions specific to
the Tealeaf data model (Session, Hit,
Fact, Fact Collection, Pattern Collection and
Pattern)



Training Resource
Detailed tutorial on the
 community site

https://community.tealeaf.com/display/tealeaf80/Tealeaf+EES+Tutorial
Advanced Mode Use Cases
Data Cleansing
- Replace most data manipulation tasks you were
doing in privacy rules or tcl scripts
- Omniture formats (json,html comment)
- Concatenate Strings (Date of Birth, Check-in Dates)


Implement Smart Algorithms
Compare items across pages
  - Monitor price changes between page
  - Behavior based Bot detection
  - SEM "Matching Algo" (Search Term/Keyword/Landing Page)
Compute Values
  - Compute a "Struggle Score"
  - Calculate a total amount of upgrades
Key Concept: Naming Convention


    TLDM8.F_E__CHK_STEP_6___ORDER_CONFIRMATION_CF__634320910674998654



              <namespace>.<type>__<name>__<timestamp>




 namespace where                                    Time in
                       type of object
 the object resides.                          microseconds when
                       F_E = Fact of Event
   Each system is                             the event was first
                       E = Event
    different                                        saved
Key Concept: Event Trigger



 Advanced mode events
 are triggered on the
 same situations as a
 basic event.
Tealeaf Object Details
Object Relationship
                                      ($F) Fact Collection
  Home Page      Session   ($H) Hit
                 Object    Object
                 -----     -----
                                               Fact
                 -----     123                 Object
                 ----      1                   -----
                                               Invalid
                                               Login



 Product Page

                           ($H) Hit
                           Object               Fact
                           -----                Object
                                                -----
                           124                  pageGen
                           2                    > 20




 Services Page

                 Session   ($H) Hit
                 Object    Object
                                                Fact
                 -----     -----                Object
                 SA.3      125                  -----
                                                Invalid
                           3                    Login
Simple Advanced Mode Example
Trigger:     Every Hit
Condition:   If Status Code of current hit is 404
Action:      Increment the Fact for the HTTP 404 Event


 1. function TL.E_HTTP_404() {
 2.
 3.    if ($H.StatusCode == 404) {
 4.        // Set fact for Report Group
 5.        $F.setFact("TL.F_E_HTTP_404",1);
 6.    }
 7. }
Defined Event Exist is Session
Trigger: End of Session
Condition: Did the "Invalid Login" event exist in session?
Action: [do action]




 if ($F.factCount("NS.E_INVALID_LOGIN") > 0)
 {
     [action]
     }
Advanced Mode Best Practice
- If you are just starting, review existing basic
mode event in advanced mode
- Don't create an advanced mode event from
scratch (wrapper event)
- First create all your dependent hit attributes,
events, session attributes, report groups in
basic mode
- Create your advanced mode event in basic
mode as much as you can, then switch to
advanced mode
- Don't change the name of event
- Save as you go
- switching between advanced mode and basic
will cause you to lose your code
- Refresh JavaScript skills: codecademy.com
- Regular expression tester: regextester.com
- Discuss with Tealeaf Consultant on
implementation
Advanced Mode in Tealeaf
How to Use the Data
Real-time Integrations
•  Struggle score to trigger chat window or click to call
• Enhance real-time fraud detection
• Proactively email customer support on HIGH struggle
   scores

Offline Integrations
•   Demographic Data
•   MVT factor - struggle score could be an additional factor in
    validating test results

Segment
•  mobile vs mainsite
•  booking success vs abandonment
•  Group scores LOW, MEDIUM, HIGH, OH My! for easier
   reporting and trending

Other
• Segment VOC Sessions with HIGH struggle score. Daily
   report for your site conversion team to start investigating
•  Struggle score as a KPI
• Use the score as a dimension in reports
• Create custom search result template for easy viewing
Vernon Wyatt
     Founder / CEO


vernon@siteconversion.net
 twitter: @TealeafExpert

More Related Content

Similar to Tealeaf: Creating Smarter Systems using Tealeaf 8 Advanced Eventing

Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Frédéric Harper
 
Flows - what you should know before implementing
Flows - what you should know before implementingFlows - what you should know before implementing
Flows - what you should know before implementingDoria Hamelryk
 
DDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learnedDDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learnedQframe
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Paulo Gandra de Sousa
 
Ruby on Rails For Java Programmers
Ruby on Rails For Java ProgrammersRuby on Rails For Java Programmers
Ruby on Rails For Java Programmerselliando dias
 
jQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterprisejQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterpriseDave Artz
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on labNAVER D2
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on labNAVER D2
 
How to write your database: the story about Event Store
How to write your database: the story about Event StoreHow to write your database: the story about Event Store
How to write your database: the story about Event StoreVictor Haydin
 
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28Frédéric Harper
 
Everyday Probabilistic Data Structures for Humans
Everyday Probabilistic Data Structures for HumansEveryday Probabilistic Data Structures for Humans
Everyday Probabilistic Data Structures for HumansDatabricks
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...AOE
 
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Atwix
 
Tony Vitabile .Net Portfolio
Tony Vitabile .Net PortfolioTony Vitabile .Net Portfolio
Tony Vitabile .Net Portfoliovitabile
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Innomatic Platform
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Mahmoud Hamed Mahmoud
 

Similar to Tealeaf: Creating Smarter Systems using Tealeaf 8 Advanced Eventing (20)

Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
 
Mixpanel
MixpanelMixpanel
Mixpanel
 
Flows - what you should know before implementing
Flows - what you should know before implementingFlows - what you should know before implementing
Flows - what you should know before implementing
 
DDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learnedDDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learned
 
PoEAA by Example
PoEAA by ExamplePoEAA by Example
PoEAA by Example
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 
Ruby on Rails For Java Programmers
Ruby on Rails For Java ProgrammersRuby on Rails For Java Programmers
Ruby on Rails For Java Programmers
 
jQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterprisejQuery in the [Aol.] Enterprise
jQuery in the [Aol.] Enterprise
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on lab
 
How to write your database: the story about Event Store
How to write your database: the story about Event StoreHow to write your database: the story about Event Store
How to write your database: the story about Event Store
 
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
 
Everyday Probabilistic Data Structures for Humans
Everyday Probabilistic Data Structures for HumansEveryday Probabilistic Data Structures for Humans
Everyday Probabilistic Data Structures for Humans
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
 
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
 
前端概述
前端概述前端概述
前端概述
 
Tony Vitabile .Net Portfolio
Tony Vitabile .Net PortfolioTony Vitabile .Net Portfolio
Tony Vitabile .Net Portfolio
 
ISSA Siem Fraud
ISSA Siem FraudISSA Siem Fraud
ISSA Siem Fraud
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development
 

Tealeaf: Creating Smarter Systems using Tealeaf 8 Advanced Eventing

  • 1. Creating “Smarter” Systems using Tealeaf 8 Advanced Eventing Vernon Wyatt Founder / CEO vernon@siteconversion.net Twitter: @TealeafExpert May 15, 2012
  • 2. KEY FINDING: "Poor online user experience, coupled with a lack of insight about why customers are abandoning websites, is costing businesses billions of dollars / pounds - more than $50 billion lost in the US and around £14 billion lost in the UK in the last year."
  • 3. "weighted sort....great addition to the portfolio of techniques that "hope that web analytics Analysis Ninja's will use to find vendors like Adobe, IBM, insights faster and focus on what's important." Yahoo! will take a step back...stop puking data... spend resources on making tools smarter, a bit more intelligent."
  • 4. Advanced Mode Overview - What is it? - Training Resources - Use Cases - Key Concepts - Simple Example - Best Practices
  • 5. How does Tealeaf feel about Advanced Mode? What is it? Javascript based language that runs in the Google V8 Javascript Engine with extensions specific to the Tealeaf data model (Session, Hit, Fact, Fact Collection, Pattern Collection and Pattern) Training Resource Detailed tutorial on the community site https://community.tealeaf.com/display/tealeaf80/Tealeaf+EES+Tutorial
  • 6. Advanced Mode Use Cases Data Cleansing - Replace most data manipulation tasks you were doing in privacy rules or tcl scripts - Omniture formats (json,html comment) - Concatenate Strings (Date of Birth, Check-in Dates) Implement Smart Algorithms Compare items across pages - Monitor price changes between page - Behavior based Bot detection - SEM "Matching Algo" (Search Term/Keyword/Landing Page) Compute Values - Compute a "Struggle Score" - Calculate a total amount of upgrades
  • 7. Key Concept: Naming Convention TLDM8.F_E__CHK_STEP_6___ORDER_CONFIRMATION_CF__634320910674998654 <namespace>.<type>__<name>__<timestamp> namespace where Time in type of object the object resides. microseconds when F_E = Fact of Event Each system is the event was first E = Event different saved
  • 8. Key Concept: Event Trigger Advanced mode events are triggered on the same situations as a basic event.
  • 10. Object Relationship ($F) Fact Collection Home Page Session ($H) Hit Object Object ----- ----- Fact ----- 123 Object ---- 1 ----- Invalid Login Product Page ($H) Hit Object Fact ----- Object ----- 124 pageGen 2 > 20 Services Page Session ($H) Hit Object Object Fact ----- ----- Object SA.3 125 ----- Invalid 3 Login
  • 11. Simple Advanced Mode Example Trigger: Every Hit Condition: If Status Code of current hit is 404 Action: Increment the Fact for the HTTP 404 Event 1. function TL.E_HTTP_404() { 2. 3. if ($H.StatusCode == 404) { 4. // Set fact for Report Group 5. $F.setFact("TL.F_E_HTTP_404",1); 6. } 7. }
  • 12. Defined Event Exist is Session Trigger: End of Session Condition: Did the "Invalid Login" event exist in session? Action: [do action] if ($F.factCount("NS.E_INVALID_LOGIN") > 0) { [action] }
  • 13. Advanced Mode Best Practice - If you are just starting, review existing basic mode event in advanced mode - Don't create an advanced mode event from scratch (wrapper event) - First create all your dependent hit attributes, events, session attributes, report groups in basic mode - Create your advanced mode event in basic mode as much as you can, then switch to advanced mode - Don't change the name of event - Save as you go - switching between advanced mode and basic will cause you to lose your code - Refresh JavaScript skills: codecademy.com - Regular expression tester: regextester.com - Discuss with Tealeaf Consultant on implementation
  • 14. Advanced Mode in Tealeaf
  • 15. How to Use the Data Real-time Integrations • Struggle score to trigger chat window or click to call • Enhance real-time fraud detection • Proactively email customer support on HIGH struggle scores Offline Integrations • Demographic Data • MVT factor - struggle score could be an additional factor in validating test results Segment • mobile vs mainsite • booking success vs abandonment • Group scores LOW, MEDIUM, HIGH, OH My! for easier reporting and trending Other • Segment VOC Sessions with HIGH struggle score. Daily report for your site conversion team to start investigating • Struggle score as a KPI • Use the score as a dimension in reports • Create custom search result template for easy viewing
  • 16. Vernon Wyatt Founder / CEO vernon@siteconversion.net twitter: @TealeafExpert