Development of Software for Contextual Advertising in the Real Estate Industry Vladyslav Hromenko1, Viktor Shevchenko1 1 Institute of Software Systems National Academy of Sciences of Ukraine, 40 Academician Glushkov Avenue, building 5, Kyiv, 03187, Ukraine Abstract Advertising plays a crucial role in the success of a product, particularly in the real estate sector, where competition is fierce, and the properties' characteristics are complex. This article examines the advertising of real estate listings on a specialized aggregator website, which can provide additional context for the user's search, potentially enhancing the effectiveness of advertising campaigns. The paper discusses existing approaches and solutions for contextual advertising and sponsored search in real estate, highlighting the peculiarities of developing such solutions. It analyses the main problems encountered in creating an algorithm for analysing the context of advertising in real estate and proposes an alternative approach to implementing a contextual advertising algorithm, utilizing domain-specific expert knowledge. This approach to developing a contextual advertising algorithm may be more appropriate for organizations that lack the resources for developing and implementing machine learning-based solutions and associated data quality and volume management but possess expert knowledge in the field. To create such an algorithm, A/B testing is used to verify hypotheses related to the specificity of the listings and user behaviour on the site, which allows not only to develop the algorithm but also to prove its effectiveness with real users. The article also notes the disadvantages of this approach, one of which is the long duration of the experiments. The paper presents the outcome of this approach in the form of an algorithm for real estate advertisement, which utilizes the characteristics of real estate objects, such as location, and the user's browsing history for remarketing. Using the UML language, component, and sequence diagrams of the example software for contextual advertising have been created. Keywords Contextual advertising, sponsored search, real estate, A/B testing, remarketing. 1. Introduction Advertising is an integral part of any business to attract and sell its product or service. It is especially important to have an effective advertising strategy online, where potential customers spend more and more time. For the real estate sector, which is constantly growing and developing, advertising is essential. Moreover, due to various specific features, such as the significant influence of location on user interest and the longer selection time compared to other products, this sector requires a special approach to advertising. The article is dedicated to constructing an algorithm for contextual real estate advertising, based on hypotheses derived from domain knowledge and tested through A/B testing [1] on real users. This method helps create solutions whose functionality can also be easily interpreted. In addition to the contextual advertising algorithm, an important part of online advertising is its technical implementation features, such as operational speed, the possibility of additional context integration, etc. 14th International Scientific and Practical Conference from Programming UkrPROG’2024, May 14-15, 2024, Kyiv, Ukraine * Corresponding author. † These authors contributed equally. gromvlad12@gmail.com (V. Hromenko); gii2014@ukr.net (V. Shevchenko) 0009-0001-5285-9912 (V. Hromenko); 0000-0002-9457-7454 (V. Shevchenko) © 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR ceur-ws.org Workshop ISSN 1613-0073 Proceedings The development of software for contextual advertising is also discussed in the article and is complex, including the specific features of the domain for which the software (SW) is developed, various ways of creating the algorithm for contextual advertising, and technical implementation features. 2. Problem statement The article addresses the topic of sponsored search within the context of a specialised real estate aggregator website. In contrast to traditional sponsored search, which is based on natural language user query matching [2], the hypothesis underlying this work is that the site where the advertisement will be placed will be able to transmit structured user requests via the API. Additionally, it can provide supplementary context, such as the user's advertisement browsing history, through HTTP requests. These features allow for a more tailored and efficient handling of user queries. To implement the solution proposed in the article, the advertising network must develop a communication format that is compatible with the real estate platform's potential capabilities. This involves creating RESTful APIs that can handle structured data and contextual information effectively. The API should support JSON schemas for various types of user data and queries, as leveraging domain-specific knowledge, such as user search history and property attributes, can enhance the algorithm's predictive capabilities.The interaction between the solution components is Figure 1. Comprehensive solution diagram shown in Figure 1. In the diagram: • The Ad Platform (real estate aggregator) receives a user query and processes it. • This query is sent to the Sponsored Search service in a structured JSON format. • The Sponsored Search service retrieves relevant real estate ads from the Real Estate Ad DB and sends them back to the ad platform. • Both the original and sponsored results are displayed to the user. • Sponsored search statistics are collected and sent to the Monitoring service. • The monitoring service updates the Statistic DB with the new data. The necessity for the utilisation of specialised communication protocols and the capacity to employ detailed contextual data is emphasised by the significance of domain knowledge in the optimisation of advertising strategies. The performance improvements will be measured using click- through rate (CTR). Trivial filtering with random weighted sorting was chosen as a baseline algorithm. The following sections will describe the technical implementation and the resulting improvements in algorithm performance, demonstrating the efficacy of this targeted approach within the real estate sector. 3. Background and Foundation 3.1. Problem overview The general problem of contextual advertising lies in finding the best advertisements from a large selection for a user in a specific context to optimize the utility functions of ecosystem participants under certain business constraints (blocking, targeting, etc.) [4]. When addressing this problem, many questions arise during development and the consideration of potential solutions. There are numerous approaches for the contextual advertising algorithm alone, such as the use of genetic algorithms [2] or stochastic ranking learning [3]. The advantage of these approaches is their versatility, so they can be applied to any industry. Additionally, there is the possibility of incorporating context not only from the advertisement site but also by integrating additional context. The work aims to consider several aspects of the contextual advertising problem: 1. Creating an algorithm for contextual advertising, taking into account the location features of real estate objects. 2. Implementing additional context through remarketing [5]. 3. Ensuring the operational speed of the software implementation. 3.2. Mathematical formalization The problem of the real estate contextual advertising algorithm, which addresses the issues, can be described by the following system: 𝐴∗ = 𝑎𝑟𝑔𝑚𝑎𝑥!! ⊆!, !! !! ( 𝑅(𝑢, 𝑎 )) (1) !∈!! 𝐶 𝑢, 𝑎 → 𝑚𝑎𝑥 !∈!∗ where: • 𝐴 is the set of all products in the advertisement, • 𝐴∗ is the set of products in the advertisement that best match the user's query, • k is the number of objects displayed to the user at the same time, • 𝑎 = (𝑎! , 𝑎! , … , 𝑎! ) is the vector of product parameters, • 𝑎! is an individual parameter of the product, • 𝑢 = (𝑢! , 𝑢! , … , 𝑢! ) is the vector of user context, • 𝑅(𝑢, 𝑎) is a function that returns the relevance score of the product to the user context, • 𝐶 𝑢, 𝑎 is a function that returns the probability of the user clicking on the product (or performing another target action). The complexity of solving system 1 lies in two aspects. Firstly, the function 𝑅(𝑢, 𝑎), must maximize the outcome 𝐶 𝑢, 𝑎 , not just a certain change. Secondly, 𝐶 𝑢, 𝑎 cannot be calculated analytically and is based on historical click and ad impression data, making it difficult to evaluate the impact of 𝑅(𝑢, 𝑎) on the desired outcome during its development. Moreover, to make the problem description more precise, another formula must be added to the system from formula 1: 𝑇 𝑅 𝑢, 𝑎 → 𝑚𝑖𝑛 (2) where T is a function that returns the execution time of the function in the argument. Therefore, one of the tasks of our software is not only to deliver the most suitable objects for the user but also to do so in the shortest possible time. Thus, combining formulas 1 and 2 into one system provides a mathematical description of the contextual advertising problems discussed in the article. 3.3. Literature review The foundation of modern sponsored search lies in the ability to effectively match advertisements with user queries. This involves interpreting the user's search query not only by keywords but also by leveraging available data through machine learning techniques. Natural language processing (NLP) technologies play a crucial role in better representing textual queries [7] and enhancing the understanding of search query semantics [8], thus allowing for more precise alignment between user intents and the advertisements displayed. Additionally, researchers are expanding the scope to include not just textual data but also images, developing sophisticated models that incorporate commercial visual-linguistic representations [9]. 3.3.1. Traditional approach The traditional approach to sponsored search involved advertisers bidding on keywords that they believed were relevant to their products or services. These keywords were matched with user queries by search engines, which displayed the advertisements alongside the search results. This method was straightforward but often lacked precision in targeting. In their 2014 work, Vasudeva Dave and Kushal Varma provide a comprehensive overview of traditional computational advertising techniques [10]. They highlight the early methods for targeting relevant ads, discussing the reliance on manual keyword selection and bid adjustments, which required significant input from advertisers to maintain relevance and efficiency. Jansen and Mullen's study from 2008 examines the historical and technological developments in sponsored search, with a particular focus on the initial implementation of keyword-based advertising [11]. The authors describe how advertisers utilized keywords as proxies for user intent, leveraging tools and reports to refine their strategies over time. While this approach was effective to a certain extent, it faced challenges in scaling and adapting to more complex user behaviours and preferences. The traditional keyword approach, while foundational, was limited in several ways. • Relevance: Keywords often fail to capture the full context or intent behind user queries, leading to mismatches between ads and user needs. • Scalability: Manually managing keyword lists and bids became increasingly challenging as the volume of queries grew. • Adaptability: Static keyword strategies struggled to adapt to evolving language and user behaviour, reducing the effectiveness of ad campaigns over time. As search engines and advertising platforms developed, these limitations facilitated the advent of more sophisticated, data-driven methodologies that employ machine learning and NLP to enhance the precision and efficacy of ad targeting. 3.3.2. Moder approaches As the limitations of keyword-based approaches became more apparent, the industry began to shift towards more sophisticated methods, incorporating machine learning and NLP to better understand and predict user intent. These advancements have significantly improved the relevance and effectiveness of sponsored search advertising, setting the stage for the current era of data- driven, intelligent ad targeting. Beyond query analysis, machine learning models are extensively used to predict the click- through rate (CTR) for advertisements, a critical metric in sponsored search. Various approaches have been explored to address this, including reinforcement learning [12], deep interest networks [13], and deep learning models utilizing word embeddings [14]. These advanced models have significantly improved CTR prediction accuracy, enabling more effective ad targeting. Despite the efficacy and widespread use of machine learning-based solutions in sponsored search, their success heavily depends on the quality and availability of data for training these models. This remains a challenge, particularly for specialized aggregator websites where data might be scarce or of lower quality [15]. Furthermore, resource consumption is a critical concern, with specific studies dedicated to optimizing resource use in large-scale machine-learning applications [16]. Recognizing these limitations, some researchers have explored alternative approaches that emphasize domain expertise and experimental validation over pure data-driven methods. This can potentially lead to solutions that are both computationally efficient and maintain accuracy in matching ads to user queries, considering platform and domain constraints. For instance, genetic programming has been proposed for contextual advertising, demonstrating promising results in more generalized problem settings [17]. This work presents a solution based solely on domain knowledge, without the use of machine learning. 4. Construction of the Contextual Advertising Algorithm This article proposes an approach to constructing a contextual advertising algorithm suitable for a real estate aggregator platform that does not require extensive computational resources and complex data handling. The algorithm can be represented as a flowchart. The step-by-step construction of the algorithm according to this approach is as follows: 1. Create a basic, trivial version of the algorithm. 2. Based on domain knowledge, formulate a hypothesis that may improve the algorithm's performance. 3. Implement the hypothesis in the algorithm. 4. Evaluate the hypothesis through A/B testing. 5. Accept or reject the hypothesis. 6. Repeat steps 2-5 to further improve the algorithm. A functioning platform with advertisements is a prerequisite for performing all steps, as A/B testing must be conducted on real users, along with a configured service for collecting advertising metrics (such as views and clicks) to determine CTR. Using this scheme, an example algorithm for real estate contextual advertising was developed. The basic version of the algorithm strictly considered price, city, and region constraints, returning results for the entire city during searches by district or area. Several hypotheses were proposed to improve the algorithm: 1. Adding one remarketing object (remarketing implementation details are discussed in the next section). 2. Adding two remarketing objects. 3. Searching within the user's area of interest with gradual expansion, as location influences price and interest in real estate [18]. 4. Sorting advertising objects by distance from the search centre. The experiment to build the algorithm according to the proposed approach was conducted on a real estate search platform, which, at the time of the experiment, could provide 100,000 ad views per day (only a portion of the impressions where experiments could be conducted). A view was counted when an ad appeared on the user's screen. For each hypothesis, an A/B test was conducted over two weeks to gather sufficient data, with statistical significance set at 95%. The version of the A/B test the user participated in was assigned during the processing of their query unless a version was already specified. Cookies were used for user marking, whose advantages and disadvantages are discussed in subsequent sections. The results of the experiment are presented in Table 1. Table 1 The result of hypothesis testing Name Test result CTR Result Adding one remarke-ng object Significant changes +7.1% Sor$ng adver$sing objects Insignificant changes 0% Searching gradual expansion Significant changes +2% Adding two remarke/ng Insignificant changes 0% objects As seen in Table 1, two hypotheses did not prove effective. For instance, remarketing is not always advisable, and sorting by distance from the search polygon did not yield the expected results. The developed algorithm achieved an increase in CTR from 0.47% to 0.55%. The basic version, used for comparison, was a trivial filtering algorithm with weighted sorting added. The final algorithm is depicted in Figure 2. Figure 2. Contextual advertising algorithm The algorithm includes steps for expanding the search area, which are worth discussing in detail. Expanding a convex polygon is not a complex task: one needs to find its centre, determine the vectors from it to the polygon's vertices, and shift each vertex along the corresponding vector. However, if the geographic polygon is not convex, the described method does not work. To address this issue, it was decided to find the convex hull for each polygon using Andrew's monotone chain convex hull algorithm [19] before applying the expansion. This approach ensures correct expansion for any type of polygon, regardless of its initial shape. Thus, using the convex hull algorithm is a crucial step in the process of expanding the geographic search area, ensuring the accuracy and reliability of the results. Examples of convex hull finding and expansion are shown in Figures 3 and 4, respectively. Figure 3. Example of finding the convex hull of a polygon. Figure 4. Example of expanding a convex polygon Therefore, the advantages of this contextual advertising algorithm include: 1. Flexibility in customization for a specific domain, utilizing specific domain knowledge. 2. Good interpretability, as the resulting algorithm can be represented as a flowchart. 3. Does not require significant computational resources or data for training, such as in machine learning models or genetic algorithms. However, this approach also has disadvantages: 1. The developed algorithm is not universal and can only be applied to a specific domain. 2. Each hypothesis requires a considerable amount of time for testing. 3. It is impossible to test multiple hypotheses simultaneously. 5. Implementation of Remarketing As demonstrated in the previous section, remarketing can increase CTR, making it a valuable technique. An obvious solution is to save the advertisements shown to users through contextual advertising, but this is not optimal since users are more likely to encounter the ad site through other traffic sources. One solution to this problem is to install a special code on the ad page, similar to Facebook Pixel [20], which performs certain actions to save information about the user viewing the ad. There are several options for developing such software. The method used in the study required minimal resources: code on the ad page stores user viewing data in browser cookies, i.e., on the user's side. This approach avoids the need for server-side storage of such data, especially considering that most of this information will not be needed and avoids implementing complex browser fingerprinting methods [21]. Furthermore, the ad hosting site does not need to take any additional actions, as cookies will automatically be sent to the API for retrieving ads along with the HTTP request. The steps of the discussed remarketing method are as follows: The user visits an ad site where the embedded code is running. The embedded code places information in the user's cookies about viewing a specific ad. The cookie specifies the domain of the service responsible for contextual advertising. 1. When the user visits the ad listing site (not necessarily the site from step 1), the necessary cookies are sent along with the request body. Since ads are likely to be hosted on websites with different domains, the method used faces the following challenges: • Modern web browser policies regarding cookies aim to protect user privacy [22], making it harder to track their actions. • If cookies are created by default, they will not be transmitted to the server due to cross-site request execution [23]. Addressing the first issue is challenging from a development standpoint. To resolve the second issue, the cookie parameters explicitly specify the SameSite attribute as None and Secure, allowing the required requests to transmit cookies. Thus, remarketing can be implemented in various ways, but if minimal resources are needed, storing information on the user's side is a good solution. However, modern web browser policies and updates make this approach less effective for some users. For example, Safari continuously updates its Intelligent Tracking Prevention system [24]. 6. Software implementation Besides the main objective of maximizing the likelihood that a user will be interested in the displayed advertisement, there is an additional aspect that affects the result: minimizing the time required to find the relevant products and deliver the content to the site. The delay in content delivery significantly impacts CTR [25]. Several factors can influence the performance of software, including the choice of programming language, the implementation of the algorithm, database configuration, etc. Although these factors have a significant impact, each requires separate research and refinement for specific implementations. This study proposes a universal method that can be applied regardless of software implementation details, specifically the use of caching. Caching is a common technique that can improve, for instance, the loading speed in search engines [26], analogous to the contextual advertising algorithm presented in Figure 2. In the context of software for contextual advertising, it is impossible to cache the response to an individual request since this would require using a hash of the request as the cache key. However, due to user cookies, which vary from user to user, such caching would not yield the desired results because requests with similar parameters would not occur frequently. Considering these factors, the study proposes a caching scheme where the response is not cached per request but per real estate advertisement. This is because the parameters used by the algorithm in Figure 2 and the parameters for the advertisement seen by the user can differ significantly. An example of an advertisement is shown in Figure 5. Figure 5. Example of an advertisement. An advertisement can have various parameters: images, advertising texts, street names, property features, and links to the advertisement. These do not participate in the contextual advertising algorithm (Figure 2), but retrieving them from the database takes time, especially if the database has a complex schema. This time can be saved through caching. An illustration of such caching in a simple software architecture, consisting of three components, is shown in Figure 6. Figure 6. Software Architecture. The workflow of the software with such caching implementation is depicted in the sequence diagram in Figure 7. Figure 7. Ad request processing sequence diagram. As shown in Figure 6, the advertisement content is cached, while the requests for the algorithm in Figure 2 are made separately, without individual caching (though database-level caching can be used). Static caching is applied, meaning the cache does not change until it is deleted. There are also negative impacts of caching, such as the delay between changing certain product parameters and their display in the advertisement. In this task, this is not a problem, as products change less frequently than are shown to users. As a solution, if this becomes an issue, the cache for a specific advertisement can be deleted after it is updated. In conclusion, software performance is crucial for the success of contextual advertising. Performance depends on many factors, but regardless of them, the system can be accelerated, and the load on the database or other services can be reduced using caching. Figure 7 shows the sequence diagram for the simplest example of such software from Figure 6 and describes the advantages and reasons for using this approach. 7. Conclusions The problem of contextual advertising, particularly sponsored search, presents numerous opportunities and directions for research. This article proposed a solution for sponsored search with constraints on the application area and potential advertising platform, specifically an advertisement aggregator. Several components of the task were highlighted: constructing a contextual advertising algorithm, implementing additional context through remarketing, and optimizing the software performance for delivering advertisements, which implements the specified algorithm. The presented approach for constructing a contextual advertising algorithm is based on domain knowledge (specifically real estate) and the presence of an advertisement aggregator platform with users, allowing for A/B testing. This approach is suitable for companies that lack the resources to implement complex machine learning models and maintain the necessary quality and volume of data but possess domain knowledge and time to test their hypotheses. Additionally, the easy interpretability of the algorithm can be an advantage when communicating with potential clients and for further development. Another outcome of the research is the demonstrated impact of remarketing and geographic expansion on the final CTR of real estate advertisements, which increased from 0.47% to 0.55%. The experiment for implementing the algorithm was conducted on a real aggregator site with 100,000 ad views per day. The study also presented a remarketing implementation method that does not require significant resources, such as separate data storage, as all data are stored on the user side, and the sites hosting the ads do not need to handle this information. The study also discussed the drawbacks and limitations of this remarketing approach, such as its potential ineffectiveness for certain browsers and user privacy settings. The advantage of this approach is its ease of implementation, based on the amount of software that needs to be developed or modified. Software performance is a crucial aspect of such systems but depends on many factors. The study demonstrated a universal approach for acceleration using caching, where the cache key was not user requests but advertisement product identifiers due to the high variability of user requests, different user contexts, and the probability of randomness in the algorithm arising from weighted sorting. Thus, the study identified problems arising during the development of contextual advertising software in three defined areas and proposed potential solutions with their respective advantages and disadvantages, which may be appropriate under certain circumstances, such as reducing the costs of developing and maintaining a real estate advertising software system. 8. Acknowledgements We are grateful to the company "LUN" for providing the platform and technical support, which enabled the experiments in the development of the contextual advertising algorithm. References [1] Kohavi, R., Thomke, S., The Surprising Power of Online Experiments, Harvard Business Review (2017) 74-82. [2] Michael, Bendersky., Evgeniy, Gabrilovich., Vanja, Josifovski., Donald, Metzler. (2010). The anatomy of an ad: structured indexing and retrieval for sponsored search. 101-110. doi: 10.1145/1772690.1772702. [3] Dao, T.H., Jeong, S.R., Ahn, H., A novel recommendation model of location-based advertising: Context-Aware Collaborative Filtering using GA approach. doi:10.1016/j.eswa.2011.09.070. [4] Karimzadehgan, M., Li, W., Zhang, R., Mao, J., A stochastic learning-to-rank algorithm and its application to contextual advertising. doi:10.1145/1963405.1963460. [5] Mao, J., Scientific Challenges in Contextual Advertising, Rough Set and Knowledge Technology (2010) 2-2. doi:10.1007/978-3-642-16248-0_2. [6] Isoraite, M., Remarketing Features. URL: https://www.ijtsrd.com/papers/ijtsrd28031.pdf. [7] Bai, X., Ordentlich, E., Zhang, Y., Feng, A., Ratnaparkhi, A., Somvanshi, R., Tjahjadi, A., Scalable Query N-Gram Embedding for Improving Matching and Relevance in Sponsored Search, Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (2018). doi:10.1145/3219819.3219897. [8] Grbovic, M., Djuric, N., Radosavljevic, V., Silvestri, F., Baeza-Yates, R., Feng, A., Ordentlich, E., Yang, L., Owens, G., Scalable Semantic Matching of Queries to Ads in Sponsored Search Advertising, Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval (2016). doi:10.1145/2911451.2911538. [9] Zhu, Y., Han, C., Zhan, Y., Pang, B., Li, Z., Sun, H., Li, S., Shi, B., Duan, N., Deng, W., Zhang, R., Zhang, L., Zhang, Q., AdsCVLR: Commercial Visual-Linguistic Representation Modeling in Sponsored Search, Proceedings of the 30th ACM International Conference on Multimedia (2022). doi:10.1145/3503161.3548226. [10] Vasudeva Dave, Kushal Varma, Computational Advertising: Techniques for Targeting Relevant Ads, 2014, doi: 10.1561/1500000045. pp. 265. [11] Jansen, B. J., & Mullen, T. Sponsored search: an overview of the concept, history, and technology. International Journal of Electronic Business, 6(2), 2008, pp. 114. doi:10.1504/ijeb.2008.018068 [12] Lakshmanarao, A., Ushanag, S., Leela, B., Ad Prediction using Click Through Rate and Machine Learning with Reinforcement Learning, 2021 Fourth International Conference on Electrical, Computer and Communication Technologies (ICECCT) (2021) 1-5. doi:10.1109/ICECCT52121.2021.9616653. [13] Zhang, H., Yan, J., Zhang, Y., CTR Prediction Models Considering the Dynamics of User Interest, IEEE Access 8 (2020) 72847-72858. doi:10.1109/ACCESS.2020.2988115. [14] Gligorijevic, J., Gligorijevic, D., Stojkovic, I., Bai, X., Goyal, A., Obradovic, Z., Deeply Supervised Semantic Model for Click-Through Rate Prediction in Sponsored Search. doi:10.48550/arXiv.1803.10739. [15] Gupta, N., Mujumdar, S., Patel, H., Masuda, S., Panwar, N., Bandyopadhyay, S., Mehta, S., Guttula, S., Afzal, S., Mittal, R., Munigala, V., Data Quality for Machine Learning Tasks, Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining (2021). doi:10.1145/3447548.3470817. [16] Wang, M., Fu, W., He, X., Hao, S., Wu, X., A Survey on Large-Scale Machine Learning, IEEE Transactions on Knowledge and Data Engineering 34 (2020) 2574-2594. doi:10.1109/tkde.2020.3015777. [17] Delfianto, R., Khodra, M., Roesli, A., Content-targeted advertising using genetic programming, Proceedings of the 2011 International Conference on Electrical Engineering and Informatics (2011) 1-5. doi:10.1109/ICEEI.2011.6021592. [18] Fernández-Durán, L., Llorca, A., Ruiz, N., Valero, S., Botti, V., The impact of location on housing prices: applying the Artificial Neural Network Model as an analytical tool. URL: https://ideas.repec.org/p/wiw/wiwrsa/ersa11p1595.html. [19] Andrew, A.M., Another Efficient Algorithm for Convex Hulls in Two Dimensions, Info. Proc. Letters 9 (1979) 216-219. [20] Vicentin, V.L., Petrucelli, E.E., Utilization of the Facebook pixel tool to optimize the conversion of campaigns in paid advertising. doi:10.31510/infa.v16i2.648. [21] Zhang, D., Zhang, J., Bu, Y., Chen, B., Sun, C., Wang, T., A Survey of Browser Fingerprint Research and Application. doi:10.1155/2022/3363335. [22] Chromium Blog, Improving privacy and security on the web. Available at: https://blog.chromium.org/2019/05/improving-privacy-and-security-on-web.html. [23] Khodayari, S., Pellegrino, G., The State of the SameSite: Studying the Usage, Effectiveness, and Adequacy of SameSite Cookies, 2022 IEEE Symposium on Security and Privacy (SP) (2022) 1590-1607. doi:10.1109/sp46214.2022.983367. [24] Safari Privacy Overview, n.d. URL: https://www.apple.com/safari/docs/Safari_White_Paper_Nov_2019.pdf. [25] Bai, X., Cambazoglu, B., Impact of response latency on sponsored search, Inf. Process. Manag. 56 (2019) 110-129. doi:10.1016/J.IPM.2018.10.005. [26] Baeza-Yates, R., Gionis, A., Junqueira, F., Murdock, V., Plachouras, V., Silvestri, F., The impact of caching on search engines. doi:10.1145/1277741.1277775.