## 3 Approach Description  
The proposed approach consists of the following three steps:  
1. Identify relevant attributes and datasets.
2. Perform experiments and check state-of-the-art algorithms and models' performances in order to validate the approach.
3. Development/Application implementation. In detail:  
Step 1. Identify attributes and relative datasets  
The first step of the method is to identify specific attributes that are \"user independent\" (e.g., no demographics, personal data, historical, etc.) and can be extracted automatically by application developers. Additionally, it is important to be able to use these attributes in various datasets and systems that are available. Such attributes can be:  
* Time (hour, time period, day)
* Application or/and site category
* Application name/id
* Advertisement position (where the advertisement will be displayed)
* Advertisement form (image, video)
* Device type, size and model
* Connection type
* Advertisement id
* Advertisement category  
Developers can easily collect these attributes when the user starts interacting with an application or a website. The user does not need to fill any info. Moreover, since these attributes are not sensitive (e.g., like location, or personal info) developers do not need user consent or participation. These attributes will be the input in a personalization model.  
Apart from the above, relevant datasets should be found. In more detail, datasets that contain the above attributes and the user click to an advertisement (yes or not); so as to be able to use machine learning techniques and predict the CTR based on the input (to evaluate if the state-of-the-art algorithms perform well and can provide accurate suggestions). Indeed, there are some datasets available that have been used consistently for CTR prediction and contain the attributes that were described above (e.g., Avazu which is consistently used by researchers and in many competitions [26]). Since attributes such as the user id, the location, etc. are not used, various datasets can be employed for training and testing.  
Step 2. Conduct experiments and check models' performances  
Afterward, in these datasets, machine learning techniques can be applied in order to check the performance of state-of-the-art models and validate the approach. For example, the Python programming language is consistently used for this purpose [27]. Tech niques such as logistic regression, SVM, etc. or even deep learning techniques--like FLEN, DeepFM, etc.--have been tested in these datasets and provided very successful results [17; 18]. The only difference is that now the training and the testing of these models shall be conducted based on the chosen attributes as input.  
Step 3. Development/application implementation  
The last step after the experiments is the development (to use the selected model in real-world applications). Many applications use advertisement providers (e.g., integrate Google Ads) to display an advertisement to the user [28; 29; 30]. When the user launches the application, the application (the client) gets an advertisement from this network and displays it.  
Following the proposed method, before getting the advertisement from the network, the client should send to the application's server the relevant input data (time, application category and id, ad position, device, connection type, etc.). Then, the server (a) runs the prediction model based on the input data values and calculates the result, and (b) sends the result back to the client. If the response is positive the client gets and shows the advertisement from the network to the current user.  
The next section describes, in detail, the validation and the implementation of the approach that has been performed.