I agree with everything that @STerjeson has said here. The best option would be to create a new variable and set it using a set data values extension (or multiple extensions), and have conditions to check which value you need to populate the variable with each time. If you do decide to override the "qp.oid" variable, be sure to use the "b" object, rather than utag.data. All tags and extensions should use "b", as utag.data will only be read when the utag script initializes; "b" will always contain the most up to date values inside an extension. There are some exceptions, such as "DOM ready" extensions, or "Pre-Loader", but all other extensions have access to "b". There is one other option that may work: you can map different values to the same mapping (e.g. "qp.oid" could be mapped to "prop1", and "click_oid" could also be mapped to "prop1" - just an example). In theory, the one that is lower in the mapping list would win, so if it was a page load, and the click variable didn't exist, the "qp.oid" variable would win, but if the event is a click, and the secondary variable is populated, this one would win. There is one caveat to this: technically, the mappings are stored in a plain JavaScript object, and when we loop through the object to assign the mappings, there is no guarantee of the order in which they will be evaluated. However, most browsers will now evaluate/loop through JavaScript objects in the order in which the properties were defined (there may be some exceptions), so in the vast majority of cases across the major browsers, you should find that mapping multiple values to the same mapping will work as expected, and the lowest one in the list in the UI would win. This means you could have as many different items mapped to the same item as you wish, and the one that appears lowest in the list will win. You may wish to test this. However, for the sake of the extra "clutter" in the UI from having lots of mappings to the same property, I would still choose the extension option that @STerjeson suggested.
... View more