It seems like the behavior of Launch is still the same as in DTM when it comes to direct call rules & global variables. Global variables are not registered in a direct call rule. For me this is a leftover from DTM times where there was a difference in Event Based, Page Load and Direct Call Rules. With the new "Core" Module concept in my opinion there should be the same behavior in all drop down options. The differentiating factor should be if I call s.t() or s.tl() when I send the beacon. Can anyone explain to me the concept behind this?
Without looking at the actual code I assume the following:
I believe this has to do with the fact that Direct Call rules were a concept born in DTM, which has now been replaced by Launch. Since the global variables are an Analytics concept, the code used to set and send these into Analytics is likely only implemented in the the s.t and s.tl functions.
Since Launch is attempting to be as efficient as possible it might not be running the code required to include the global variables.