Understanding the Froomle platform

This page explains the basic concepts we use in our platform.

Environments

It’s important that Froomle knows who’s calling. Environments are Froomle’s way to identify sandboxed integrations with separated data (items and events). By default we provide a production and a test environment for each of your brands. The environment is specified in the url of our API calls.

Page type

A website consists of multiple page types, of which home and article_detail are the most common examples. Other standard page types are: category, product_detail, video_detail, and checkout. Every page can contain multiple Froomle modules. We apply the same concept to mobile apps.

Although less straightforward, we extend the concept of page_type to emails and push notifications. This extends the list of accepted values with: push, email, emaildaily, emailweekly, emailadhoc, and emailtopical.

If your use-case does not fit with any of the above mentioned accepted values, please get in touch with your account manager.

Knowing the page_type is important to maximize the relevance of recommendations. Furthermore, the page_type can provide important information when you are debugging your integration.

Channels

Your users can access your website or app through multiple channels, such as their browser (www) or mobile app (app). Since different channels provide different experiences, and people also tend to behave differently on different channels, knowing the channel is important to maximize the relevance of recommendations. Furthermore, the channel can provide important information when you are debugging your integration.

Accepted values are:

  • www

    • www-desktop

    • www-mobile

  • app

    • app-ios

    • app-android

  • app-audio

    • app-audio-ios

    • app-audio-android

Whether you use high-level values such as www and app, or low-level values such as www-desktop and app-ios, depends on how your websites and apps are build, how you integrate Froomle, on which level you want to differentiate recommendations and how you debug your integrations. Whether you use high-level values such as www and app, or low-level values such as www-desktop and app-ios, depends on how your websites and apps are built, how you integrate Froomle, the level at which you want to differentiate recommendations, and how you debug your integrations.

Modules

Customers integrate Froomle modules. A module is unique and corresponds to a specific position in the customer experience. It is defined by three values:

  • The channel (selection from a list of accepted values),

  • The page type (selection from a list of accepted values), and

  • The location on the page (free string like “top left” or “pos 6-9” or “row 6 col 2” etc.)

Do not reuse a module in a channel, page type, or location on the page that differs from the one specified at creation time.

A module needs to be implemented as one logical unit (box). All recommendations in the module are generated in the same way and satisfy the same constraints.

In reporting, a module is the most fine-grained level.

A module has a list_name that is unique and automatically constructed as channel_pageType_locationOnPage_optionalText. optionalText can, for example, be the name of the box. However, this is risky: if you change the name of the box, you need to decommission the old module and create a new one. After the list_name has been created, these values can no longer be changed.

Besides the 3 defining values, a module has other values that the customer can change over time through the Froomle portal:

  • an off-the-shelf module type,

  • filters or preferences related to the chosen module type,

  • the number of recommendations,

  • etc.

All available off-the-shelf module types are listed on the Froomle website.

Authentication

Froomle ensures secure access to its APIs by using an authentication system based on OAuth 2.0 Bearer tokens. This process guarantees that only authorized requests are processed and allows you to manage integrations across environments, such as production and test. Authentication is a key step to protect data and ensure smooth communication between your application and Froomle. For more details on how to implement this, refer to the Authentication Guide.

Users

Froomle can identify your users by either device_id and/or user_id. A device_id is anything that is tied to a specific device or browser, such as a cookie set on your website. A user_id is expected to be long-lived and used across devices, e.g. a login ID. See Users for more information.

AB Testing & Benchmarking

Froomle uses AB testing to optimize our modules for each use case. We also support benchmarking against recommendations from third parties or with a benchmark we set up ourselves. The AB Testing page describes which options we support.