This is a short introduction on how is Persoo implemented and how it operates.
What
Persoo provides SaaS on-site search for digital and e-commerce websites. And also product/content recommendations.
How
Data flowing into Persoo:
- Page/Product/Category etc. Tables through scheduled Imports
- API updates to Tables (optional)
- Events reporting pageviews, transactions etc. and triggering Offers
Data flowing out of Persoo (not all apply at the same time):
- Offers (fully coded HTML components inserted into a specific location in the website)
- Raw data delivered as a variable in the
window
object - REST API response
- Exports (on demand)
Impementation variants
1. Snippet + API
Persoo Snippet handles AB tests, generating visitorID, cookies and sends Events with Data Layer information while search/recommendation items are requested and delivered through REST API.
- No font-end conflicts, redesign
- Clean integration into existing design framework
- Snippet handles sending event thus removing some programming work
- Requires some coding
Important links for implementation:
2. Full API
Both data reporting and requesting is done through API. Generating visitorID, handling AB tests are done on client’s side.
The only feasible variant for mobile apps.
Benefits:
- No font-end conflicts, redesign
- Clean integration into existing design framework
- Reduced complexity of front-end code
- Full control over what’s happening on the site
Disadvantages:
- Most programming-heavy variant
Important links for implementation:
3. “our-IT-is-overloaded” variant
Persoo delivers search and recommendations through fully designed HTML/CSS/JS components injected into the website.
Benefits:
- Persoo designs and codes the components
- Least demanding on client’s IT resources
- Often fastest greenlight-to-production time
Disadvantages:
- Front-end components require regular maintenance on Persoo side
- Potential conflict of CSS, JS or Front-end framework (Vue/Angular)
- Components might render with a visible delay
Important links for implementation: