Now the tracking parameters are all encoded in the last segment of the url. The backend just has to decode it accordingly and it will have both the item id and the bag of tracking parameters.
I'd also support just showing a warning when the apparent URI and the actual URI differ. Though a tool to automatically pick the canonical URL from the page source would also be neat.
Before
https://example.com/item/4000336900709?spm=a2g01.126...
After:
https://example.com/item/4000336900709000044323234
Now the tracking parameters are all encoded in the last segment of the url. The backend just has to decode it accordingly and it will have both the item id and the bag of tracking parameters.