I have a situation where utag_data has not been deployed, only the utag.js. Does this mean the Data Sources should be categorized as Data Layer or as JS?
Also, can you discuss how this will impact the built-in extensions I can successfully use?
1. You should only select JS Page Variables if you are trying to pick up a variable that already exists on the page utag.js loads on. This happens sometimes when someone doesn't have a UDO (utag_data), or there is an extra data point they didn't include in their UDO they want to grab.
If you are manipulating and setting data just within Tealium iQ, you should select "Data Object" as the data source type.
2. It really depends on your use case. There are workarounds for most situations, they're just not as clean or efficient. The importance of a good data layer can't be emphasized enough. Do you have a specific example or concern regarding this?
By saying that "utag_data" has not been deployed do you mean that it is not being defined and "built" within your implementation? Rather you are only referencing the utag.js?
If you are attempting to capture variables that are inherent on the page perhaps through using the Web Companion (regardless of utag_data being defined on the page) I believe these will automatically be stored as js page variables.
I think more detail would be needed around the data sources that you are creating, where they are coming from, and how you are using them. Ultimately...... it depends.
The biggest issue I can think of comes with e-commerce sites, since no UDO usually means scraping HTML for values (if these values are event present, a lot of data points often end up missing). If the site HTML changes due to redesign, the scraping can often break resulting in a loss of data.