Troubleshooting - How do I reference objects if my s_code is managed by DTM?

When your code is managed by DTM, you may want to reference s objects dynamically depending on your requirement. When doing so, you may run into some problems based on your implementation. Here are a couple of scenarios you may run into and how you can troubleshoot them.

  • Unable to reference the s object.    
  • Trying to override s_account variable:

When facing problems in trying to reference the s object, you can use the _satellite object for troubleshooting

Using the _satellite object implies using this object to get all the library, rules and tools configuration and can check for the notifications from _satellite object.

To look for the s object settings there is an object within _satellite (settings: Object). This can be used to get all the current _satellite settings. The initial settings are the same as _satellite.configurationSettings.settings, but are referenced by page level events, whereas configurationSettings is not.

When trying to override an s_account variable you may be looking to set it dynamically so as to populate the report suite based on conditions. For e.g.:- you may have different RSID’s for staging and production environments. This can be done through the code:

/* Set the correct report suite(s) if in production */

if (!_satellite.settings.isStaging) {

s_account = _satellite.getVar(s_account_prod)

s=s_gi(s_account)

}

In this scenario, the s_account is populated dynamically on the basis of the environment. The code can be manipulated by changing the conditions to cater to different requirements.

If you are still unable to override the s_account dynamically, try managing the code yourself (by unchecking the ‘managed by Adobe’ option) to see if it works.

If the problem persists, contact tech support.