Collecting data via custom variables

Hello, I have some specific question about custom variables. Are there some unusual ways to set them and successfully use it to collect data?
For example, I found such a method. I have set a Custom JSFunction Variable in Tag Manager with script that pushes some data to custom variable:

var _paq = window._paq = window._paq || [];
_paq.push([‘setCustomVariable’, 1, “var_name”, “value”, “visit”]);

Further, I’ve created an Event Tag (some sort of service event in fact), that triggers by a Pageview trigger and in Event Value returns this CustomJSFunction Variable. After that, special transmitting trigger, that listens to this service event triggers actually a Pageview tag.
This construction have one unpleasant feature - every time when customer loads a page, we register this service event, that has no sense except of make code in CustomJS Variable run.

If you know some method to collect data via Tag Manager without using Event Tags and without injecting code snippets in website source code, I will be happy to get to know it