We use a custom CMS on a site and we're having various parameters on inbound links for own tracking and inbound marketing purposes.
Usually these URL parameters are added to the links so the system could collect stats about where exactly which links were clicked, how often, and so on.
If the same link appears on different spots on the site, line in an article, in a sidebar, in footer, in "recommended" section and so on, it would have different parameters in each of these spots, similar to these:
Later, by having the stats, dynamically, we can better interlink the site, and give better article recommendations to the users, etc.
However, this technique causes
issues with crawl budget from search engines, as there are many different URL parameters (and their multiple combinations) each URL could have, and even, if the pages have canonical tags, spiders still waste a lot of crawl budget on countless "non-original" URLs instead of crawling just canonical versions.
Question: What are some other ways of having all this inner tracking/gathering of click data for inbound marketing purposes happening, but without the use of URL parameters? How else can we collect link clicking data like before, besides via URL parameters?
The main goal is to have clean canonical URLs without parameters to preserve crawl budget (and have correct page rank flow), but at the same time collect the click data for our needs.