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
****************************************************************
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:****************************************************************
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:
These are very useful notes. Thank you so much for putting it together.
ReplyDelete