В Тинькове пошли дальше и с каждого поля шлют данные на бэк, чтобы "ничего случайно не потерять" )
А так, я не совсем понял момент про "всплытие по dom", мы же просто можем сделать:
Статические данные сразу сохраняем, на изменяемые - вешаем лисенер или функцию ончейнджа
Немного я о другом. Предположим у тебя есть кнопка купить товар. По тз от аналитиков, при нажатии на кнопку должно уходить не просто сам факт нажатия, а так же и ид товара, его текущая цена (предположим она динамическая) и тип страницы где именно произошло событие. В большинстве случаев делают так, что при нажатии на кнопку кнопка собирает свой контекст и нужные данные, после чего через функцию-утилиту данные проверяются и пушатся в GA. Проблема такого подхода обычно в том, что у тебя или кнопка получается гвоздями прибита к контексту с очень сложными связями или решение пытается быть универсальным и это порождает очень сложный код для понимания и расширения