What is a better practice for using satellite.getVar in DTM interface?
1. creating a new Data Element and within the custom script calling in _satellite.getVar() (assuming setVar has already been defined on the site)
and then calling the data element using % syntax on various page load/event based rules?
2. using a custom script in event based/page load rules and accessing the data element
Also, i have a doubt - if we have defined a data element using _satellite.setVar outside the adobe DTM interface, can we still access it using %withing Adobe DTM without storing _satellite.getVar in a new Data Element?
Whenever possible, you should define data elements inside the DTM UI. This will ensure compatibility throughout the product. Also, you should try and use the %data_elelment_name% syntax inside the DTM UI when possible.
If you are using custom scripts, you may need to make use of the _satelite.getVar() function to retrieve that value, since the % syntax will not work inside the custom scripts section. I believe the %data_element_name% syntax will work in the UI even if the data element was set outside of the UI. The data element may not show up in the auto populate fields, but you should be able to manually type it.