I tested and rolled out a new Web SDK implementation a few months ago, with data sending to the production report suite in Adobe Analytics. While rolling this out and after, I've had a question about the XDM data elements. When using XDM data elements in Adobe Tags, you must select a Sandbox and Schema, then the fields and values within that schema that you'd like to send.
During my initial setup, I created a development sandbox, which is where I created my initial schema that was used in testing. I copied that schema to the production sandbox, but it looks like that production schema isn't even being referenced. Even after pushing everything to production, it looks like the XDM data elements are still pointing to my development sandbox and schema. If you switch the sandbox and schema to the production version, it looks like you have to fill in all the fields again (as if you are creating the XDM data element for the first time) and it just doesn't make sense to me. How should this work? Am I missing something? Do I really only need one schema for sending data to Adobe Analytics? If so, that seems risky and limiting for testing
Solved! Go to Solution.
I have one schema for both development and production. But I have one datastream for development, and one datastream for production, and I use both in my Web SDK configuration.
The reason for having one schema only is because, as is the case with software development, I want to ensure that what I'm developing conforms with that specification. So later when the changes have been deployed, I am confident that they will continue to work properly in production with that same specification.
I believe your procedure is correct.
Although everything is built by Adobe, Schemas and Tags are really 2 different products in the Experience Platform. So while there is a relationship between your result XDM schema (created in Schemas) and data elements (created in Tags), there is no strong linkage between the two because they reside in different products.
So yes, you will need to update all of your data elements as if they were brand new.
This seems strange to me, but your explanation makes sense about the products being separate. Is this what you typically do in your implementations then? Point to the development schema for testing and then change XDM data elements to point to the production schema before rolling out to prod?
I have one schema for both development and production. But I have one datastream for development, and one datastream for production, and I use both in my Web SDK configuration.
The reason for having one schema only is because, as is the case with software development, I want to ensure that what I'm developing conforms with that specification. So later when the changes have been deployed, I am confident that they will continue to work properly in production with that same specification.
Thanks for your thoughts. It's always helpful to see how others approach things