CCS2026
Detecting and Measuring Client- and Server-Side Google Tag Manager and its Tags in 80K Websites
Gilles Mertens, Nataliia Bielova, Vincent Roca, Ahmed Bouhoula, Marouane Akassab
Abstract
Detecting and Measuring Client- and Server-Side Google Tag Manager and its Tags in 80K Websites - dataset and tools Unzip .7z archives using 7zip (https://www.7-zip.org/).Be careful, once decompressed crux_top_1k_all_countries202510_crawled_the_20251205.sqlite.7z weighs 39GB. gtm-crawler folder The folder gtm-crawler contains the code of the crawler used in our study.It is based on OpenWPM and on Bouhoula et al.'s work (https://www.usenix.org/conference/usenixsecurity24/presentation/bouhoula).Instructions on how to use it are available in gtm_crawler/README.md.The lists of websites we crawl in this study are available in gtm_crawler/domains/crux_top_1k_all_countries202510.csv and in gtm_crawler/domains/top5k-tranco.txt. analyses folder After the crawl, to analyse the data, run the scripts available in the analyses folder in the sequential order. data - crux_top_1k_all_countries202510_crawled_the_20251205.sqlite : the database containing the data collected by our crawler and processed using our analyses scripts.- sql_requests.sql : the sql requests that we used to get our results from the database. The purpose of each request is unfortunately not provided, sorry. Other - analyses/assets/officialTagsMap.json a mapping of Official Tag Ids with their name and provider.- standard_js_apis.txt a list of standard JavaScript APIs.- popular_functions.csv the list of popular javascript functions we detected in HTML Tags.