The year 2025 has been great, featuring presentations at various Sitecore User Groups around the world and meaningful interactions with numerous members of the Sitecore community.
I started exploring Sitecore Personalize, which allows to craft tailored web experiences based on customer behavior and preferences.
In this blog, I’ll walk through how to integrate Sitecore Personalization for the Sitecore XP/XM/XMCloud website without installing EngageSDK – using TamperMonkey, a browser extension for running custom JavaScript.
Create a Point Of Sale (PoS)
In Sitecore CDP or Personalize create a PoS for the website.
Create a Web Experience
In Sitecore Personalize, let’s navigate to the Experiences section and click Create New Experience.
Select from experience types such as:
Web Experience (e.g., personalized banners or pop-ups)
Interactive Experience (e.g., Chatbots, real-time API integrations)
Sitecore Personalize offers 14 out-of-the-box (OOTB) templates for creating web experiences. These templates are designed to help you quickly set up and customize your web experiments and experiences without needing to write code. Here are some of the templates available:
Alert Bar (Boxever Library)
Corner Popup (Boxever Library)
Email Capture Bar (Boxever Library)
Email Capture Corner (Boxever Library)
Notification Widget (Boxever Library)
Popup takeover (Boxever Library)
Sidebar (Boxever Library)
Alert Bar (Sitecore Library)
Corner Popup (Sitecore Library)
Email Capture Bar (Sitecore Library)
Email Capture Corner (Sitecore Library)
Notification Widget (Sitecore Library)
Popup takeover (Sitecore Library)
Sidebar (Sitecore Library)
Select any of the out-of-the-box templates or custom web templates, if they have been created.
Let’s start to customize it. You have the option to use Advanced Edit for HTML, CSS, and JavaScript to enhance web templates.
The final Popup looks like this – changed the following
Background color
Title
Description
Button Text
Page Targeting
I chose all the pages for simplicity.
If you like specific pages – add the condition for the page URL.
Goals
I chose not to track performance for testing purposes. Feel free to add any goal according to website needs.
Filter, Decisioning, and Notifications
They are optional, going to leave them as it is. The Decision Model is so powerful that, will be exploring it in upcoming blogs.
The preview isn’t working because the EngageSDK needs to be installed on the website. If you have EngageSDK installed on the website, feel free to skip the TamperMonkey part.
Now this is where the TamperMonkey plugin comes to the rescue to pre-load the Engage SDK on any website using Sitecore Personalize script.
pointOfSale : <PoS that you have created for the site>
cookieDomain: <Website domain>
The clientkey is found in CDP->Settings->API Access
Let’s add the script to TamperMonkey and save it. The @name value determines how the script is named.
Now it should detect the script when you visit the website.
Live
Let’s publish the Experience to make it live – If you have a notification set, it will email when it’s live, paused, etc.
The email notification is pretty helpful especially for Marketers to track their Experiences.
Preview
Let’s try the Preview – make sure to add a new script for the preview URL in TamperMonkey.
Let’s load the Preview with the page URL.
The Popup showed up and the QA Tool shows at the left side of the page.
QA Tool
The QA Tool shows the validation of everything. Feel free to change the variant to test different scenarios. It’s super helpful for troubleshooting any issues.
I’ve just released a new YouTube video highlighting Optimizely Opal and how it’s transforming modern marketing with AI-powered chat and intelligent agents.
In this video, you’ll get a quick overview of:
Opal Chat and how it simplifies everyday marketing tasks
AI agents that help generate content, insights, and reports
How Opal enables faster, smarter marketing workflows
I came across a scenario where I needed to exclude the default value for dropdowns in Sitecore Forms. By default, dropdown fields in Sitecore Forms often preselect the first option, which might be a placeholder like “Select an option.”
If users submit the form without changing this value, it can lead to unreliable data. Custom validation helps enforce user interaction, ensuring the selection is meaningful.
Steps to Implement Custom Validation in Sitecore Forms
Step 1: Create a Custom Validator
Navigate to your Sitecore solution and open the project where Sitecore Forms is configured.
Create a new class that extends FormConditionalValidatorand override the validation logic.
Step 2: Register the Validator in Sitecore
Open Sitecore Content Editor and navigate to: /sitecore/system/Settings/Forms/Validation
Create a new validation item:
Name: Department Validator (Change it according to Project needs)
Type: Reference the class you created, e.g., Custom.Validators.DropdownDefaultValueValidator, CustomAssembly
When we signed up for Optimizely’s Opal Innovation Challenge, we knew it wasn’t just about building a solution—it was about solving a real marketing pain point. As marketing professionals and technologists, we’ve seen countless campaigns fail despite being well-written. Why? Because they didn’t resonate with the audience. This challenge gave us the perfect opportunity to tackle that problem head-on.
Persona Alignment is Non-Negotiable: Content without persona context is just noise.
AI Can Bridge the Gap: Multi-agent systems can automate what manual reviews can’t.
Collaboration is Everything: Combining tech and marketing expertise was our biggest strength.
Start Simple, Scale Later: A modular approach helped us deliver a working prototype fast.
The Hackathon Experience
The Opal Innovation Challenge wasn’t just a competition—it was a learning marathon. We explored Opal’s agent ecosystem, experimented with orchestration, and realized how AI can transform marketing workflows.
Check out our video presented at the Hackathon –
Closing Thoughts
Innovation happens when you combine empathy with technology. For us, this challenge was proof that marketing and AI are not separate worlds—they’re partners in creating meaningful experiences.
Top teams can win prizes like $5,000 in MDF, gift cards, and thought leadership opportunities.
Sitecore PowerShell Extensions (SPE) (Huge thanks to Michael West, Adam Najmanowicz, and contributors) is a robust module that adds the power of PowerShell scripting to the Sitecore platform.
It empowers Sitecore developers and administrators to automate repetitive tasks and extend Sitecore’s functionality with custom scripts.
Downloading Sitecore Logs from Azure Web Apps wasn’t easy. To troubleshoot any issues, I used to spend decent time trying to find recent logs.
AzureTools (Thank you Sitecore Community – You are simply awesome!) comes to the rescue. It’s a simple .aspx page that can be dropped into CM environments and download logs in just seconds.
The Sitecore Content Export Tool(many thanks to Erica Stockwell-Alpert) is a powerful utility designed to streamline the process of exporting content from your Sitecore instance.
It enables developers, content authors, and administrators to easily extract content in bulk, simplifying tasks like data migration, content backups, or sharing content across environments.
The Sitecore Log Analyzer (SCLA) (Sitecore Community Rocks!) is a powerful tool designed to help Sitecore developers analyze and interpret log files with ease.
It simplifies the process of identifying issues, tracking errors, and monitoring system performance by providing a user-friendly interface to view and filter Sitecore logs.
This ClickOnce installer sets up the application and enables automatic updates. After installation, the app can be launched from the Start menu or pinned to the taskbar for easy access.