This document provides a technical overview of the architecture and key features of the Frosmo platform. For a high-level introduction to what the platform offers, see Introduction to the Frosmo Platform.
Frosmo platform at a glance
The Frosmo platform is a web UI development solution for improving website functionality and personalizing online user experience.
The following figure introduces the basic architecture and information flows of the Frosmo platform.
Figure: Frosmo platform architecture and information flows at a glance
In a nutshell:
The Frosmo platform is hosted on servers in Central Europe. However, Frosmo can also set up dedicated instances in specific market areas.
Frosmo platform architecture
The following figure shows the main components and subcomponents of the Frosmo platform architecture and the information flows between them.
Figure: Frosmo platform architecture and information flows in detail
For more information, see:
- Frosmo data layer
- Frosmo Control Panel
- Graniitti API
- Message API
- Optimizer API
- Custom APIs
- The Frosmo custom script contains the configurations and custom code specific to a single site. These are used to modify the content and functionality of the site. The custom script runs on top of Frosmo Core and is unique to each site (or group of sites managed as a single site). Changes made to a site in the Control Panel are automatically reflected in the custom script for that site.
<script> elements placed directly in a web page's HTML code. The first element loads Frosmo Core and the second one loads the custom script for the site. Apart from adding these two elements to every page on a site, no other changes are required to use the Frosmo platform. For more information, see Adding the Frosmo scripts to your site.
Script hosting and delivery
The Frosmo platform uploads the custom script and associated media files (ones added directly to modifications) to the CDN every time they need to be updated, that is, every time something on the site is changed using the Control Panel. The assets are always exported to CloudFront and, when needed, copied from CloudFront to other CDNs.
Frosmo data layer
Customers can use the Frosmo data layer to implement basic data tracking by themselves, rather than have Frosmo do it in the custom script.
You can pass information about the following events and items through the data layer:
- Custom actions
For more information about the data layer, see Frosmo data layer.
Frosmo Control Panel
The Control Panel is the main Frosmo application for customizing and monitoring websites. In a nutshell, the Control Panel allows you to:
- Configure how the Frosmo platform modifies content and segments visitors for a site.
- Monitor how well the modifications and segmentation perform on the site.
The Control Panel uses the Graniitti API to access the Frosmo back end, and to deploy the Frosmo custom script to the CDN.
The Graniitti API is currently only used by the Control Panel. However, in the future, the API will be made public. Customers can then use the API to, for example:
- Provide data to custom dashboards and management UIs.
- Provide an outside access point to usage data that is collected and stored by the Frosmo platform.
The Message API retrieves modification content from the Frosmo back end, so that the content can be displayed in the browser. The Message API uses segmentation data and previous usage data to dynamically select suitable content for the visitor.
The Message API also tracks what content is shown to whom and how many times.
Custom APIs are typically used to:
- Implement product recommendations based on product tracking data retrieved from the Frosmo back end or from a customer's feed, or both.
- Return specialized data to the browser, such as data stored in a customer's back-end system or data read from a feed.
- Send data to another service, such as email addresses to a mailing list for marketing automation purposes.
The Frosmo platform can use the data stored in the browser's local storage and cookies, such as segmentation data, to determine which modifications to show to the visitor. Modifications can also use data stored in the Frosmo back end.
Here are some examples of common modifications:
- Add new content, such as personalized product recommendations or content generated from data feeds.
- Modify existing content, such as images or links.
- Remove unnecessary content, such as distracting elements, site navigation elements in shopping carts, or surplus elements in mobile-optimized layouts.
- Modify the layout and styling of a page.
Modifications are grouped into the following types:
- Basic modifications are used for content that is retrieved from the Frosmo back end and displayed only after the browser has rendered the page.
- Cached modifications are used for static content that must be inserted into the page code before the page is rendered in the browser. (Like with all modifications, the content is maintained in the Frosmo back end, but unlike with the other modification types, the content is inserted in full in the Frosmo custom script for fast access.)
- Recommendations generate content from product data based on the visitor's previous behavior on the site.
Frosmo platform administrators manage modifications in the Control Panel.
In terms of graphics and other media, Frosmo prefers to use the existing content on the site or content procured by the customer through their own CMS system. Customers deliver the content to Frosmo by providing us with access to their content management system (CMS). The Frosmo team then adds the content to the site using the Control Panel.
Conversion and transaction tracking
A conversion is any pre-determined action you want your website visitors to take. This can be, for example, a purchase of a product, signing up for a newsletter, or watching a video. You can define a conversion to be basically any variable in visitor behavior that you want to track and measure.
The Frosmo platform counts purchase-related conversions on a transaction basis. The platform counts each transaction, a completed purchase of one or more products, as a single conversion.
Example: A visitor of an online book seller adds five different books to their shopping cart, with two copies of one book, for a total of six items. The visitor proceeds to checkout and completes a purchase of all six items. The Frosmo platform counts the purchase – a transaction – as a single conversion. The visitor then adds one more book to their now-empty cart and completes another purchase. The Frosmo platform counts the second purchase of a single item as a single conversion, too.
Data collection and storage
The data can be categorized into:
- Modification performance data
- Product data
- Server logs
- Visitor data
By default, the Frosmo platform collects and processes only anonymous and pseudonymous information about visitors and their behavior on a website. The platform does not collect data that in itself enables the identification of an individual data subject.
For more information about what data the Frosmo platform collects and where the platform stores the data, see Data collection and storage.
Integration with external systems and services
The Frosmo platform can integrate with other back-end systems and online services, such as analytics tools, marketing automation systems, and data management platforms (DMPs).
Integrations are typically used for synchronizing segmentation data between the Frosmo platform and an external back-end system, or for using the collected usage data outside the site. Integrations also allow the Frosmo platform to input data about displayed or clicked content directly into an analytics tool, such as Google Analytics.
You can integrate the Frosmo platform with, for example:
- Analytics tools. If you want to use a separate web analytics tool, you should integrate it with the Frosmo platform, since changes made to your site with Frosmo are not, by default, included in 3rd-party web analytics tracking. Integration ensures that you have a clear understanding of what is happening on your site.
- Marketing automation systems. The Frosmo platform can gather and process segmentation and visitor data for marketing automation systems, which can then use the data to target the appropriate audiences. You can set up integrations with, for example, ad platforms and email services.
- Data management platforms. As with many other systems, extracting useful data from DMPs can be laborious and requires the use of multiple APIs. The Frosmo platform can be used as a master API, an interface for all data calls between a DMP and a site.
The Frosmo platform can integrate with, for example, the following ad platforms:
- Google AdWords
For more information about integrations, see System and service integrations.
Frosmo platform security
The Frosmo platform can limit user access to the Control Panel by IP address. This means that users can access the Control Panel only from the designated IP addresses and from Frosmo premises.
For more information, see Security overview.
Browsers and other software
For information about how the Frosmo platform works with browsers and other software, see:
|Google Chrome||Latest version|
|Internet Explorer (IE)||10 or newer|
|Microsoft Edge||Latest version|
|Mozilla Firefox||Latest version|
|Safari||8 or newer|
Table: Browsers officially supported by the Frosmo Control Panel
|Google Chrome||Latest version|
|Internet Explorer (IE)||11 or newer|
|Microsoft Edge||Latest version|
|Mozilla Firefox||Latest version|
Ad blockers and content filtering software
The Frosmo platform is not on any known basic ad blocking lists.
Some filter lists and software block the Frosmo platform, for example:
- F-Secure Freedome VPN (only when tracking protection is enabled, and only for pages that use HTTP)
- Ghostery (when the "Beacon" category is selected)
- Opera's built-in ad blocker (which uses EasyPrivacy)
The Frosmo platform interprets an incognito browsing session as a new visitor. This means that no segmentation data or other data previously stored in the browser is available for the session. Each new incognito session is counted as a new visitor.