Sitecore CDP / Boxever certification Notes

As far as I see, this blog article is notes for future since most of the aspects covered in the exam are practical  scenarios. So, this blog article will help  me create more articles in future with each of the points here as a topic for detailed analysis! I can then use my analysis in my projects. To  me, the exam as well as this notes is actually an entry-point wherein you get an idea about the area!

The Sitecore Boxever and Personalize certification exam is 30 questions / 60-mins multiple choice exam. The exam costs USD 350 + tax (~ USD 385). It is online proctored and you need a separate external usb camera (inbuilt laptop camera is not enough) to show yourself and the keyboard while taking the exam.

Most of the following notes are from the Sitecore Boxever documentation but, I used this as a scratch pad to remember important points. For the exam, you should be thorough with the documentation and the Sitecore Boxever enduser elearning course because the pass percent is 80% and it was a close finish for me.  

*****************************************************************

Guest Types:

Visitor: Non-PII just browser id or other identifier like external system id

Customer (PII): Personally Identifiable Information - email, first name, last name, loyalty number,  UUID, browser id

Traveller

*****************************************************************

Segment is a group that satisfies a specific condition like males between the age of 30 and 40 living in Europe

Segmentation is key for personalization

Sitecore CDP:

- Behavioral Data (Timeline-based)

    - Session

    - Event   

- Transactional Data

     - Order

    - Guest

Data Storage:

- Cookies

- Local Storage

The exam tests what is the role of each Boxever cookie.

How will you check to ensure boxever events are passed to the server

***************************************************************

DMN: Decision Model Notation

*****************************************************************

Decision Model

Input: from bottom

    Session

    Guest

    Order

Output: On top

Dotted Line links knowledge source to decision table

Knowledge source: Offer and offer template Relation

Exam tests the relation between offer and knowledge source

*****************************************************************

DM Flow:

Draft: Place where you create the decision model

(Silent) Test: Guest data not affected as part of testing

Production: only place to adjust audience filter information

Archived: can be cloned and put back to Draft state

*****************************************************************

Web experience vs Web template

Web Templates: No-code experience for marketeers to design variants - created using Html, css, javascript and freemarker (API response)

A/B Tests: compare variants, part of web experiment

When you run A/B tests, its important to specify the target page else the test will run on all pages

Web Experiment: The process of testing personalisation live

In the exam, it is important to understand how a variant is decided as a winner,

in what scenario test takes time to conclude

how is audience allocated to the variants,

Where and how can you limit a test to just x% audience, 

difference between basic allocation and advanced allocation, 

understand bucket allocation 

How do you start a a/b test?

How will you replicate an error faced by a guest in a decision model?

How will you build an experience for a mobile app?

Relation between primary goal, a/b test and experience

Boxever javascript code to create event

How to dynamically pass values in query string

how to add utm parameters to boxever create event

Boxever push event syntax

What are the scenarios to use postman to test the apis?

*******************************************************************

Full Stack Experience

    Interactive Experience: APIs serve data to website / Inbound - APIs can be tested using Preview API

How to check logs in case of error in interactive apis?

    Triggered Experience: Emails  / triggers / events / push notification / outbound - APIs can be tested only with external tools like Postman

How to invoke multiple destinations (sms and email, for instance) in case of triggered experience?

******************************************************************

Decision table vs decision model vs decision model variant

You need a decision model to build a decision model variant

One decision model can have multiple decision model variants, only 4 decision model variants for a decision model in production

Decision model variant is what uses the business logic and comes up with  the end-results based on different inputs / knowledge source / data element / decision table / programmables

Important to add comments while you save variants so that you can revert to a different revision in future

One decision model can have multiple variants since decision model is source of logic / data

Decision table:

Decision table can have multiple rules but all rules must have the same output column in case of Any hit policy

Hit Policy: Count / First / any / Collect etc.

Input columns can be coming from other decision table 

rules form separate rows in decision table

test canvas feature used to test a decision model variant

How can you test a decision model variant while in draft state?

How often does a segment gets refreshed?

Difference between segment and audience template

Real-time audience vs segment

How can you get real-time external data in a decision model?

Decision model / variant/ web experience relationship questions

When does a web experiment start?

how to start a a/b test?

what is preview api used for?

Issue with using a web experience in home page

Note that documentation says home page can be personalised based on earlier site search/browse user scenarios

The decision model / variant are all part of  a web experiment that is live to test audience engagement

Decision model life-cycle:


****************************************************************

Data ingestion capability:

Stream API / Batch API / Interactive API

Stream API used for mobile app integration it uses browserId

****************************************************************

Javascript:

CSJS  / SSJS - Guest Context (predictive helpers)

Audience template / decision template: Mocks real-time equivalent

****************************************************************

API response composer: freemarker

Bucket range: advanced audience allocation for variants / controlled audience grp

Sitecore CDP updates segments every 24 hours on a nightly basis.

Saved real-time audience is a template to apply live audience since segment are not live

***************************************************************

Freemarker snippets (examples):

- Assign output of Decision node to a variable
- Output Decision Model offers
- Output real-time audience response

****************************************************************

CDP APIs:

- Batch APIs: For bulk data import

Batch API Authentication:

- Stream APIs: Event data captured live for segmentation (synchronous/asynchronous)

Stream API characteristics:


Stream API Authentication:


- REST APIs: For synchronous api access

REST API Authentication:



https://doc.sitecore.com/cdp/

****************************************************************

Batch API:

1. Import file format (single line in the file):

{"ref":"CE8B4A20-9C56-49A9-8B94-D1474939612F","schema":"guest","mode":"upsert","value":{ <valid guest record> }} 

****************************************************************


Each of the highlighted entities have their own attributes and they are all part of batch api

2. Guest Profile Migration:

Migrate the following:

- Sessions

- Orders

- Flow Executions

JSON Format:



Link Expansion in REST API is to chain/concatenate multiple requests in one-go instead of individual requests and thus reduce round-trip to server using  query param ?expand=true.

REST API response codes:

Guest Type:


Retired is one wherein the record is transferred to another profile, mostly used in migration.

**********************************************************************
External Connection:
- Data System
- Analytical Model
********************************************************************

Testing tools:


The above diagram is really important for instance in case of interactive experience, although preview api is used to test the apis, the errors will be stored in execution reports.

******************************************************************

Variant allocation experiments:
 - Basic : Guest allocation in %
- Advanced : Guest allocation in Bucket (max. 120) ranges


****************************************************************

Increase confidence level in web experiment but minimum sample size to reach conclusion takes some amount of accuracy and time 

*****************************************************************

Channel:

- Web
- Mobile Web
- Mobile App
- Call Center
- Email
- Airport Kiosk

*****************************************************************

Interactive experiences enable product teams to run A/B tests and personalise on elements typically handled by backend systems

Interactive experiences are tested using the Preview API feature. So, in case of Preview API, you can enter email address, name, guest ref to simulate a guest. However if there are custom fields in the request, the api must be set live and tested using Postman

*****************************************************************

Triggered experiences let run A/B tests and personalise offers and next best actions triggered by events

There is no way to test triggered experience in Sitecore CDP so, testing must be done manually using Postman

Web Experience enables business users to personalise on web-based apps using pre-packaged templates

*****************************************************************

How the winning variant is decided?




Mobile App Integration:

An A/B test lets you compare how one variant performs against another



An experiment is essentially an A/B test of two or more variants. 

With above two points about variants in documentation/elearning, you might have a question that asks you pick what do you need to setup to compare a variant against another and you could have both experiment and test in the option list!

All the best!

Reference:



Comments

  1. These are very useful notes. Thank you so much for putting it together.

    ReplyDelete

Post a Comment