Rubens Knowledge Base

Rubens Configurator Analytics & Reporting Guide

1. Roomle Analytics Process

In this article you will find a detailed description of how to import data from Rubens Admin to Google Data Studio. We will also provide some sample code and report for you, to get things started easy

Our overall goal is to provide an easy and highly customizable way to work with the generated data form the configurator. We also don’t want you to be forced to use a particular tool or a complicated workaround. If you, for example, don’t like Google Data Studio, feel free to use your preferred Data visualization tool. Each step of the process can be adapted and changed to your wishes and needs!

This chart should give you an idea of the overall process:

Rubens Configurator - Deep dive into the Analytics Process

The outlined boxes contain the steps that need to be performed. The ones on the right side are those provided by Roomle. Lets talk about the individual steps:

Export Saved_Configurations File
The first step is to get the saved data. Therefore enter the Rubens Admin and use the “Analytics” Button on the right side on the welcome page.

Click on Analytics

There you will find different sets of data. We will use the “Saved configurations”, as there are the most relevant informations stored for a general evaluation. For the next step we need the CSV, so please choose the corresponding button.

Click on Analytics

You can see that this can be done for each month. Just use the dropdown to navigate.
In the file you will find some general information, like the creation date or a picture of the thumbnail as well as the partlist. This partlist contains all data regarding the configurated product in form of a JSON file. If you want to know more about the pat list JSON file, it is recommended reading the corresponding section later in this documentation.

The next step is to extract those informations from the part list and make it accessible for other software.

Run Parser
The purpose of the parser is to provide all the information from the “Saved configurations” file in such a way that data visualization or analytics tools can easy work with it. The java file serves meets exactly this goal and provides you with four different CSV files. If you want to know more about the structure of those, take a look at the “Data structure” section.

To use it, please download the latest version from

You can either just download the analytics-converter.jar or you can get the whole source code as well. By default the jar file can be found in the “bin” folder. Please make sure, that you have JAVA installed on you computer.

To execute the program, you have to use the terminal. After you have opened the terminal, you have to set it to the right path. Therefore use “cd ” + path, where path is the location of the folder where the analytics-converter.jar is saved.

Then enter java -jar analytics-converter.jar {source} {destination}

The command takes two input parameters:

  • First parameter need to contain the source path. So the path were you saved your “Saved configurations” CSV file.

  • The second one should be the destination path. In other words: Were your created files should be saved. If nothing is entered here, the program will use the same path as for the source.

Connect Files to visualisation tool
In the last step you need to hand those files over to your analytics tool. We chose Google Data Studio, as it is quit easy to use and highly customizable:

Google Data Studio is a free, open source software which can be used with a google account. First enter Google Data Studio. You can follow this link: Google Data Studio

The next step is to create a new report, or use our provided example report which can be found here: Testreport

You can use this report as a template, by clicking on the three dots on the right side and select the option to copy the report. Now can upload your own data files or just play around with the given file. The data can be updated at any time. Just follow those steps below.

In the toolbar you find a menu “resources” and here you can manage all connected data sources. Navigate your way to add a new set of data. Now you can choose from different data import options. Here you need to click on “File-upload”. This Google Data Studio connector is used to upload CSV files to your data studio.

You will enter a new page where you can see the already connected data pools on the right side. Those pools contain the files which are used for the sample report. Click on the matching name and upload your own file per drag and drop to a data pool. The big advantage is that the logic of the report is saved in those data pools not the file it self. You can delete the sample data file, if you want.

In the corner you see a small “add”- button. This saves all your changes and your report will display your own data.

Please note, that those manual is designed to guide you with your first steps in Google Data Studio. There is a lot more it can do and can everything be optimized according to your needs and wishes. Feel free to experiment with the different tools and customize your report.

Further tutorials and deeper insides for Google Data Studio can be found online.

Database structure

For our reports we used the following database structure, which you will also finde in the generated files:

Configuration.csv (Basically the database CSV)

Configurator CSV Overview
Configurator CSV Overview

Not every column may be relevant to you, but this structure ensures that no information is lost. As discussed earlier, you can adapted those tables to your individual needs.

You can see that each parameter, like “hight”, is linked to its component and one step further, to the corresponding configuration. (as well as the orignpart of corse)
This structure allows you to decide how granular you want your analytics to be.

The part list JSON
The fist step is to understand wich data there is and how it is saved. Therefor lets take a closer look at the part list JSON:

How to get different part lists
If you want to experiment with part lists of different configurations you can use the command
RoomleConfigurator.callbacks.onPartListUpdate = (partlist) => console.log(JSON.stringify(partlist));

First load a configurator and open the dev tools in your browser. Past the statement in the console tab and press enter. Now the part list will be printed to the console. Please note, it is done after you change something! So just click in your configuration and change a little thing (like color). Now you can copy the part list JSON.

Dev Tools of Chrome

A part list JSON always consists of the following structure:

Code Snippet

“fullList”: Here you find a full list of all components and the different parts.
”perMainComponent”: Here are all those elements of “fullList” grouped by their main component. So here you see where each part belongs to.
“orignPart”: Here you can find the “starting” element.

As you can see “fullList” and “perMainComponent” are lists, while “originPart” consists only of one element. We are mainly interested in the “perMainComponent” category, because we know exactly where each part originates.

The structure of “perMainComponent” is similar to above, with exception that there can be more elements now.

Here are four elements in the “perMainComponent”

Please keep in mind, that every configurator has its own part list and some details may vary. So when we look at an example now, it might look a little different to your part list.

Let’s take a look at the example from above:

Origin part of the first entry

The first element of “perMainComponent” has the “originPart” labeled as “Rahmen ohne Tür”. So this first entry stores the data for the lower left element of your example. In the list “parameters” you can find the detailed configuration, like for example the color of this particular element.

In the “fullList” all parts are listed. Here you finde more details about this lower left box. This includes the length of each pipe, the amount of corners and the amount of screws.

Elements of “fullList”: Amount of screws

Note: Some parts of a product are shared among elements next to each other. For example the frame of the lower left element is also used by the lower right element. Therefore this frame will only ocure once in the part list. In this example it is part of the “fullList” of the lower left element and is not includes in the “fullList” of the lower right element.