Tracking prevention in major browsers

The cookie challenge

The cookie challenge 511 508 kresten

When cookies are attacked – so is personalization

ITP and its family of cookie killer initiatives have turned accountability in advertising and targeting on its heads. From now on it will be much more difficult to identify user behavior across websites and even tracking the same user on the same website. Being able to recognize a previous visitor on the same device on the same domain is paramount for any site personalization or analytics solution. Without it all visitors will be registered as new visitors which fundamentally undermines the purpose of personalization.

Everything is impacted

All analytics platforms are impacted by the attack on cookies and so are site testing and personalization platforms like Monoloop.

3rd party cookies are now routinely being blocked by Safari and Firefox. In the future we will see similar behavior on Chrome.

Even 1st party cookies are being limited. 1st party cookies being set by the browser will be treated like secondary citizens in the future. All script writable data (from the browser) will be strictly regulated by your browsers going forward – including 1st party cookies and local storage.

Only exception for the rule will be server side 1st party cookies. Like client cookies – they are strictly isolated to your site domain – but they will survive the cookie carnage – for now.

In light of these challenges, we have made fundamental changes to how cookies are being used in Monoloop. We have moved away from client side cookie writing and now support server side cookie writing – this change will enable our cookies to survive the limitations currently put on 1st party cookies that are set client side on both Safari and FireFox.

These changes will comply with the new policies set by ITP, Safari, Firefox and later Chrome. Going forward Monoloop will write server side cookies if possible and only fallback to client set cookies if not.

Changes required by Monoloop users

In order for Monoloop to be able to set a server side cookie under your domain a change in your DNS settings will be required. You need to add a new CNAME record in your DNS settings. The CNAME record that is required is listed in your account Settings/DNS section and has the value format monoloop.yourdomain.com.

Reach out for further details.

Addressing Intelligent Tracking Prevention

Addressing Intelligent Tracking Prevention 750 399 kresten

Safari and Firefox started blocking and limiting cross site tracking and 3rd party cookies to improve user privacy and reduce invasive advertising long ago. Recently Safari has taken steps to delete 1st party cookies that are used for site tracking. This impact all services that track site behavior like Google Analytics and it potentially also impact site personalization services like Monoloop.

The latest change by Safari (ITP 2.2) means that 1st party tracking cookies are deleted automatically after 24 hours. The result is that it is no longer possible to connect visitors site interactions across visits based on cookie information. This move is damaging web analytics results and in Monoloops case it results in many profiles with a single visit that is in fact by the same visitor. The quality of data we have on site visitors is simply eroding and building personalized journeys becomes harder.

We are proud to present a GDPR compliant web personalization solution that is solving both cross domain tracking as well as cross visit tracking.

Cookie Fallback

Monoloop has just released a new local storage based fallback – visitor IDs and keys are saved in both a 1st party cookie as well as in local storage. If the browser have removed the cookie – Monoloop will check if visitor ID is available in local storage. If that is the case – a new cookie is created and the visits are linked. This procedure effectively relinks visits from the same visitor.

New cross domain tracking

We also introduce a new optional method of doing cross domain tracking – here we utilize monoloop.com as centralized domain to link visitors across your defined domains. 

The solution comes with a price – another hit to Monoloop servers on the first pageview – delaying the time before Monoloop is able to return any page personalization. The delay is however counteracted by Monoloops anti flicker code that hides the page content until Monoloop have returned its content. Monoloop is fast so both requests are served well before the page is loaded in the site visitors browser.

If you want to learn more about how we do cross domain and cross visit tracking – please do not hesitate to reach out.

Supercharge your email marketing using webhooks

Supercharge your email marketing using webhooks 512 512 kresten

Most email marketing platforms have no or very limited tracking of subscribers website visits and behavior. The fact that a subscriber is visiting, the context and what is visited is rarely captured. Most platforms only capture email opens and clicks – but not the visits, or the visits that subscribers do from other sources than the emails you have sent. This leaves you as a marketer with a limited view of the subscribers behavior and few options to time and trigger your messages optimally.

Link subscribers with their onsite behavior

Timing and context in emails are likely the most important parameters to ensure high open and click rates. Your site is your main point of interaction and source of behavioral data of your visitors and customers so the link between your email subscribers and their onsite behavior is defining your options. Linking the onsite behavior with your subscriber base is potentially the most powerful step you can take to increase the relevance of your emails.

With the introduction of webhooks, Monoloop now enables triggering activities in your email marketing platform and easy sharing of the rich profile data collected by Monoloop with the rest of your marketing stack.

Respond to site visits

Using webhooks you can trigger emails that follow up on subscribers site visits, goal conversions, experience and audience memberships. You can automate the updating of your email subscriber profiles with any Monoloop property of your choice and you can use them to personalize your email content.

Reengage by responding to inactivity

Another very powerful use of webhooks is the ability of getting notified when nothing happens. So when a visitor is not revisiting – its may be time to initiate an action like sending an email, triggering a notification or adding the visitor to a remarketing flow. Just like many have developed a automated onboarding flow – similarly most would benefit from a re-engagement flow that is triggered to the vast majority of subscribers that eventually stop visiting and responding to your messages.

Monoloop Webhooks can also be used to enrich your CRM platform, update retargeting lists or simply log your customer behavior in a central repository. Only your imagination sets the limits.

Want to know more?

Your first dynamic site content – in 1 minute

Your first dynamic site content – in 1 minute 1903 1045 kresten

Getting started with targeted dynamic content on your site is easier than you think – in fact it is dead easy.

This time I will walk you though your first dynamic variation on your site in less than a minute.

1. Login into Monoloop on login.monoloop.com

2. Go to Pages section and click the big red + button.

A browser like window opens up.

  • Enter your site URL into the window and watch your site render.

  • Select Edit mode in the window and select the element on the page you want to change.
  • If you selected text – you can now edit the text directly inside the page.
  • If you selected image – you can select or upload the image you need.

  • When finished creating the variation – select Add variation/Change image in the left hand panel. Name the variation and click Condition tab. Now the Condition Builder opens and you can drag and drop the visitor profile parameter from left panel to main canvas to define your target visitor.
  • Click OK when finished defining the target visitor.

3. Click Save tab and click Save button.


4. Go to Pages section again and Enable the page.

That’s it – you now have your first dynamic variation live on your site.

How to deliver on the promise of a better customer experience

How to deliver on the promise of a better customer experience 700 400 kresten

Customers expect experiences with your business that address their current needs and interests. They are willing to share their behavioral data – if you are transparent of its use and give stewardship to personal information back to them.

Customers expect that you are able to interact with them in context: Basically that you remember prior interactions and transactions and use that information to service them better and keep them informed about relevant products, services or offers.

Capturing exactly what prospects and customers needs are, what their interests are is a huge challenge. Customers are motivated by different goals, goals that change dynamically in real time. They come from different locations using different devices. They’re interacting with your business at many different touch points and are at different stages along the customer journey. They only have one thing in common: they are all different.

So how to differentiate them and treat them individually?

Personalization is the foundation

Different content for different visitors. True one to one experiences with progressive messages and highly individualized nudging down the conversation funnel is the way forward. Marketing designed as personalized conversations that evolve across time and channels is probably the most challenging and most potent of all disciplines in the digital toolbox. It is also one of the most difficult to deliver on as it require a fundamentally different approach to content creation and new tools to capture data across channels, profile and trigger personalized content – everything in real time.

Most vendors in the personalisation space will tell the same story of how easy it is to start working with personalisation (with their platform) – we have worked in this space for two decades and know it is not true. For most companies personalising the customer experience is a journey – a road that has to be travelled and where learnings have to be earned by a multitude of experiments.

Knowhow is limited

Sure – there are easy gains and low hanging fruits to be captured in most businesses – but getting to the core of the personalised customer experience requires hard work, time and dedication. Technology is the enabler – but it is a people thing to actually extract value from the opportunities that the technology creates. And those people are a scarce resource.

All the processing required to track and analyze and predict the visitors behavior in real time is available as cloud based services. But most organizations struggle just getting management buy in and qualified individuals to take ownership of the discipline. Next they struggle building a team and dedicate them the time to learn the tools to build this stuff inhouse. Using platform vendors to implement is a natural shortcut for many, but it never results in the organizational anchoring that is required to succeed long term. And the agencies have never really invested in getting people with in depth understanding of personalization – so beyond a few exceptions, agencies are not going to solve this challenge for your organization.

The real barriers are the usual suspects: management support, people with knowhow, processes, the organizational culture and technical capabilities.


Most corporate culture do not encourage experiments. They may say they do, but in fact they don’t. The simple truth about experiments is that the majority of experiments will fail and it is still rare to experience corporate cultures that truly accept that in order to succeed you have to fail a number of times. The trick is to fail fast, early and cheapest possible.

When you read white papers from the personalisation industry (including ours) you will find that the recommendations seems to be very basic or very fluffy. The reason is that the technology providers themselves are struggling to find the best way for their customers to capitalize their technology to derive the value from the customer experience that we all pursue. As a technology provider we do have experience to share from clients different approaches and results – but it is way too early in the game to have a “best practise” process that works across businesses, cultures and organizations.

One general and unscientific observation is that companies where management understands the need for personalisation, push for results and openly encourage experimentation tends to obtain success faster than companies where the personalisation effort is rooted in a single department of the organisation or even worse a single individual. So if you are the main sponsor behind the personalisation effort in your organisation – our best advice is to take a good look at the management’s current understanding of the business impact of personalisation. How it impact current customer interaction and how it create value to the business. If those things are not clear – do not expect the support that you will need to succeed.

We have experienced highly successful personalisation initiatives with extreme ROI that has been terminated – basically because there was no or limited management buyin – so this is probably the most important prerequisite. It certainly is not what technology you use that is the most important for your success as almost all platforms are evolving quickly and most are already far ahead of most organizations current requirements.

Required team capabilities

When you have management sponsorship you in turn have to look at your organization’s capabilities. Primarily what human resources do you have to drive the effort. You will need the following functions or roles – not to be confused with employees:

  • Responsible of building  the pipeline of the highest ranking experiences.
  • Responsible of implementing the experiences in whatever technology you choose.
  • Responsible of capturing experience results, document cross organizational learnings, management reporting and to continually terminate underperforming experiments.

Typically you need project management, analytics and technical capabilities. On the technical capabilities – most platforms (contrary to what suppliers say) requires inhouse html and javascript experience to be really productive – and most web departments have this capability already. Many opt to purchase the technical implementation from an external consultancy, agency or directly from the platform provider. We highly recommend that as a way to get started but also recommend to build this capability in house in parallel so that you use the external specialized capacity to focus on the more sophisticated components and for inspiration for your in house team.

Nurture a culture of incremental improvement

On a monthly basis implement 1-5 of the identified experiments and remove 1-3 of the underperforming experiments.

Celebrate your failures….and succeed!

Be thorough on reporting the failures as well as the experiments that work. Spend 30 minutes on explaining why you think the result came in as they did – good or bad. This is simply the best investment you can do for your business.

In a year you have implemented somewhere around 12-60 experiments and you have gained vital domain specific knowledge about what works with your business and audience. You also have strong assumptions about why. This is business critical stuff that should be shared with everybody who is working with customer facing communication. So share it and request that other add their assumptions on the results – distribute ownership as far into the fabric of your company or team as human possible. If you run a closed show – you will have full ownership and the project will live and die with you. We cannot count the number of times we have seen companies redo the same mistakes because the prior experiment results was not interpreted, shared or saved when a key stakeholder moved away from the company or just switched job description.

Be transparent and forecasts results

Do quarterly management resumes of the experiments that was implemented – what worked and failed. Use the results to forecast the business impact the experiments has on next quarters leads, pipeline, and revenue. This is the stuff that drives business decisions and budget allocations.

Engage the stakeholders in quarterly updates of the list of Experiments and add new experiment proposals and review prioritization of the list whenever new information and results become available.

Want to know more?

Website personalization powered by customer lifecycle stages

Website personalization powered by customer lifecycle stages 512 307 kresten

Web personalization can take many forms and shapes. Let’s cover a often overlooked approach that is simple to understand and implement.

Asking the right question is just as important as knowing what to say. This is the simple principle behind more relevant site experiences – and one of the most underutilized tactics in existence. Main reason, that it is not used more frequently, is the sheer complexity of capturing the answers and responding to them in real time. This is about to change.

By systematically asking your website visitors questions, you can identify new opportunities, uncover needs and map barriers to conversion.

Asking a visitor about their industry, role and interests puts you in a much better position to deliver a relevant content experience – and that is exactly what we suggest you start doing.

With Monoloop it is very easy to capture form data from your website and use that data to trigger conditional content that match whatever the visitor responds.

The challenge is that there is a sea of different content management systems and all with a number of different ways to deliver forms on the site. The good news is that Monoloop supports them all.

Using Monoloop Form Tracker it is a point and click exercise to capture a form submit and insert that data to the visitors profile. It literally takes under a minute to configure Monoloop to capture a form on your site.

Using Monoloop Form Trackers – you can easily avoid pushing call to actions like Signup for Newsletter to visitors who have already done so. You can use forms to easily capture the customer lifecycle stage and target the experience accordingly. For each stage you can add further questions to capture deeper insight into the visitor – and the great thing you can do this for anonymous visitors as well as known and existing customers.

Lifecycle stages and drip irrigation questions

Your potential and existing customers interact with you through your website throughout their life cycle.

By mapping your visitors to the different stages in their customer lifecycle you are able to focus your questions directly to their current stage and gradually learn more about them. Key takeaway is that when you ask focused questions that are relevant to the stage of the relationship – the likelihood of response increases.

No matter what – always keep in mind to only ask questions you will use in the interaction. So if a visitor or customer answers your question – your immediate response needs to reflect whatever was answered. This is where your content personalization should be triggered. Different messages and content for different answers.

Typically we use a variation of a customer lifecycle model that reflects a sales funnel in most companies. Each stage in the model has different objectives and goals – so they also require different questions to be put forward. Let’s take a closer look.


The industry, role and interest questions make sense in the New stage. What would you ask in Previous visitor stage?

Well, it could be something like potential and maturity – questions enabling you to estimate the customer value and how far they are in their decision process or their use of services like yours. Simple really.


Looking at the Known stage you could consider to ask questions that more directly map needs related to your solutions or products. Answers that would enable you to decide when and if to invoke any promotion tactics in order to generate the initial purchase.


For Trialists questions would typically circle around the product purchased, if it serves its purpose and was delivered as promised. You would want to capture things like Net Promotor Score in order to differentiate your tactics to move the Trialist to the next purchase. Depending on the initial purchase experience – the journey should take very different routes to that goal. Satisfied Trialists would take one route, dissatisfied a very different route.


Customers is an entire journey of itself. One constant question is being keeping updated on the customer’s needs. Nothing is wrong with asking a customer about his needs and if the product/service still serves its purpose. The answer to this questions would trigger different messages for upgrades, resell and cross sell opportunities. Recency since last interaction is the most important factor to determine when to reach out to a customer through channels like email and retargeting. Set thresholds for interactions and purchases and reach out and ask customers what has changed when they cross them. When they respond and land on your site ask them for an update.

Typically you would consider different questions for customers with different needs and value and you would trigger different channels based on value/potential.


The re-engage Audience is defined as customers who has not purchased within the threshold you have set for an active customer. Basically this is a lost customer or a customer with a very high churn propensity. Natural questions to ask is what is holding him back, reasons for any dissatisfaction, changes in needs or barriers that you can help remedy.

Across your lifecycle stages – you would use the answers and Monoloop to filter your content and push personalized messages or content addressing the specific issues for each stage. Not only will this improve the relevance of your visitors site experience, but it will positively impact your business results.

Need help?

If you want to discuss how you can use questions to personalize your company’s customer journey – reach out and let’s start the conversation. We offer a free consultation to get you started.

Introducing support for Dynamic Websites and Single Page Applications

Introducing support for Dynamic Websites and Single Page Applications 490 340 kresten

Today’s websites are often fully-fledged browser-based applications. They’ve grown increasingly dynamic, re-rendering components multiple times as the user interacts with the page and often lazy loading content – after the initial page load. 

For all the good that SPAs brought us with faster, more performant web experiences, it made site personalization technically challenging. If elements on the page are constantly changing, how can a client-side platform like Monoloop apply changes at the right time?

Previously this required custom coding which was exactly what we wanted to minimize with Monoloop in the first place. We have been struggling with this for a while, so we are very excited to announce Support for Dynamic Websites and SPAs.

New page interaction flow
The main change we have made is how Monoloop communicates with your website. Now Monoloop monitor and respond immediately to changes to the DOM – independent of the page load. If something dynamic is introduced after the page loads, Monoloop will engage and re-apply the changes that’s part of the experience you have designed. No more polling or custom code to track AJAX calls to figure out if content is returned or not, no more custom coding to support lazy loading etcetera. Now we let the page tell Monoloop when elements load or re-render and activate Monoloop on each change – no matter how many changes are happening after the page has loaded.

New Page Event tracking

Not only has Single Page Applications challenged how content is loaded – but also the basic web concept of tracking pageviews. Being a single page we would previously only track the first page view and get no information about the visitor’s interaction with the different content elements on the page. The count of pageviews would be 1 – no matter how much content the visitor interacted with. All the nice interest scoring you are used to in Monoloop simply did not work without custom code.

SPAs can be designed in many different ways – but typically content sections (pages) are reflected with a change in the URL# or a change in the URL history. Monoloop now support both in order to track page events. Simply select how you want to track page views in your SPA and tell Monoloop how long a page should be visible (and page not scrolling) in order to be counted. Then Monoloop will trigger a page event track whenever the site visitor views a new content section in your SPA. All conditions on the SPA will be evaluated on each section view and any conditional content will be injected as normal.

Available now

Support for Dynamic Websites and Single Page Applications is released as Beta and is available for all accounts. Support for Dynamic Websites is automatically enabled for all accounts. To enable Single Page Application options you have to select between the supported methods in your Account/Snippet settings.

Building your first targeted site experience in 4 simple steps

Building your first targeted site experience in 4 simple steps 894 400 kresten

Most websites deliver the same experience to all visitors – that is a huge opportunity as your visitors are all different, have different needs, different value and intent.

Using Monoloop you can target experiences to specific visitor profile properties – such as location, previous visits, interests, customer lifecycle stages etc.

So what exactly is an experience?
It’s simple: One or more content elements on one or more pages, targeting a single audience and a single goal.

1. Define the target audience
In Monoloop you can target audiences based on any combination of properties in visitors profile – pages viewed, source of visit, location, interests, previous interactions or any kind of information you may have added to their profile from your external systems.

To get started we will start out simple:
Your single largest audience is likely new visitors – people who never visited your site before. This audience is easily defined as visitors with TotalVisits=1. We have predefined this audience in Monoloop – so you only have to activate it in the Audience section.

2. Define your goals
Your most important objective for first time visitors is to attract them to a second visit. Next objective is moving anonymous visitors to known visitors by getting permission to continue the conversation. Typically you try signing up the visitor for a newsletter or registering for gated content. Both are really good CTA’s for first time visitors.

3. Define your experience
Remove noise is likely the single most important thing you can do for visitors across all audiences. A typical site will have call to actions (CTA) that are relevant for all stages in the customer lifecycle. In this case, try to identify and remove everything that is not relevant for a first time visitor.

A very small percentage of the first time visitors will convert and buy – those who do have done their research and gone through the purchase process outside of your website. However the main bulk of visitors will be in the initial stages of a purchase decision – so you should focus on building rapport and establish a relationship.

If your business has a real USP – something that significantly differentiate you from your competitors – then consider focusing first time visitors attention to this message.

If you have one or two questions you could ask a visitor that enable you to explain your value proposition with more detail – consider asking all visitors those questions upon their initial visit and use Monoloop to trigger a more relevant proposition.

4. Set it up
Sign in to Monoloop UI, Select Audience section and activate New Visitors audience. Then go to Goals section and define your goal. In this case it could be tracking the signup form as a page related goal or it could be measuring how many visitors makes it to the second visit. This would be a condition based goal (TotalVisits=2).

When goals are defined, go to Experience section and create a new experience with New visitors as audience and the goal you just defined. Next add the pages and content elements that constitute your experience – everything using the Experience wizard.

Click activate – sit back and see how your experience impact the behavior of your site visitors.

4.0 Released – check out the highlights

4.0 Released – check out the highlights 150 150 kresten

Almost a full year of development is put into this release – here are the details:

  • Data Objects – you can now push any dataobject from any system to your customer profiles through new API endpoints and use that information to trigger personalized experiences on your site. Data Objects can also be consumed by backend or 3rd party systems using the API.
  • Trackers 2.0 – fully redesigned UI to extend customer profiles with information captured from your website. Easily capture any information visible on your site, hidden in metadata, stored in cookies or javascript variables. Basically anything that is exposed on your website can easily be captured and injected into the customer profile and used for content triggering.
  • Form tracking – Monoloop now enable you to easily capture data from existing forms and use the data captured in building triggers for Experiences or variations of content.
  • Experience reporting and Widgets redesigned and extended reporting on engagement metrics from Experiences. Now you get insight into how your Experiences impact visitor behavior beyond just the goal conversions.
  • Collapsible menu increase the screen equity when working in the UI on your site.
  • New Media Library with Crop, Resize, WebP support. All media assets uploaded in Monoloop are automatically converted into different sizes supporting multiple devices.
  • Automated responsive –  all images are tagged for responsive serving and correct image size is automatically selected.
  • WebP support in media library – all media assets uploaded in Monoloop are automatically converted into different sizes supporting multiple devices, additionally we generate a WebP edition of the asset and automatically serve this version for browsers who supports this optimized format. Saving your visitors bandwidth and increasing the page load speed.
  • New inline editor with code editor – easily inject HTML and javascript into any location on your page.
  • New Guides introduce you to the features inside the UI.
  • Site editing experience is now using caching to significantly speed up the user experience.

It has never been easier to get started with a more targeted online customer experience using our new WordPress plugin.

Profiles is the answer!

Profiles is the answer! 1000 563 kresten

Delivering a truly tailored, personalised experience to your customers, at scale and across any channel, was once a distant dream.

This is about to change.

Every channel and technology that touches a consumer learns about that consumer. If the information can be shared inside an organisation across departments then it can be used to personalize the customer experience. Because most interaction is now at scale and in real time, this data has to be shared through technology.

The latest marketing technology allows you to understand exactly where customers are on their digital decision journey and offer them useful, relevant content just when they’re most receptive to it. Designing such personalised experiences means targeting content to the context of both your customer’s past and current interactions.

This is where profiles come in – if every technology platform is connecting to the profile in real time, then all the customer data and information can be consolidated and shared in real time too. This capability is what technology like Monoloop offers to the marketeers of the world.

And it is amazingly easy to get started. Signup for an account and drop a single line of script on your site and you are on your way. Start capturing customer identity and build profiles from your site as it is the epicenter of most companies interactions with all its audiences. Then connect your existing channels – one by one – to expand the profile for a full perspective of your customers and audiences.

Get your own account right here.

Get in touch

[contact-form-7 404 "Not Found"]
Back to top