I think there might be a much easier way to get you what you need.
All events of click interaction are tied to page(pagename)
What if you took pagename variable, then associated via SAINT, things like Page type, Page vertical, Page Title. One upload and done. (depending on change or additions you just then reupload when needed.)
Then turn on Actviity map. Now you can get all sorts of visits based report for every page (group of pages) you can then look at page level click engagements again per page or group of pages. Segments can be either hit based or visit based as page is key element.
This method will allow for much more dynamic correlations based on extra breakdowns you have listed.
If you use 'Most Recent' allocation, with 'visit' persistence you'd be able to achieve this, so long as you always set the eVar at the same time as the custom event. In your sample above it would be of trivial effort to pass the pageName into an eVar to achieve that.Conversion Variables (eVar)
'Most Recent' allocation, with 'visit' persistence is what we have as of right now . Along side we do have another evar with hit scope . But challenge here is that interested attribute is optional for few scenarios so for those scenarios it takes previously set value which is inappropriate .
'Most Recent' allocation, with 'visit' persistence and setting empty value for non-applicable scenarios could be good try but setting empty value for evar would take empty or previous set value ?
Thanks for suggestion ..We explored on SAINT classification but solution is not possible with our specification ( Page Name is just an example ) or required attribute . Attribute what we are looking to persist cannot be derived from other attribute