We used to drop refused vendor tags onto the page as text/plain and call it consent. It isn't: one line flips the type back, and if you withdraw mid-session, whatever the tag already started keeps running.
Treat tags as a registry. Hold until there's an answer, release per purpose, and on withdrawal remove the element and clean up after it.
https://shipmindlabs.com/c/063e5250