Architecture guide
Fix the data or fix the report?
A campaign appears as direct traffic because its code arrives in another format. Fixing the classification in CJA can resolve the report. It does not mean Profile, an audience or the source receives that correction.
Sources checked:
The same issue, a different scope
-
Fix the source
- Campaign code
- Agreed format
- Correct future submissions
The correction benefits consumers of the new source data. Previously sent history needs a separate decision: keep it, reclassify it or reprocess it.
-
Transform in Data Prep
- Incoming value
- Transformation rule
- XDM field in the dataset
The transformation runs during ingestion. Changing the rule does not automatically rewrite previously loaded data. Keep the original value if the classification will need checking.
-
Derive in CJA
- Data available in CJA
- Rule at query time
- Channel for analysis
A derived field can reclassify available history without changing the source dataset. The rule belongs to analysis; it does not itself correct data used for activation in AEP.
What Adobe documents
Data Prep transforms during ingestion
It transforms fields and builds calculated values for XDM. A transformation error can leave an attribute null while accepting the rest of the row, provided the result remains valid XDM. An accepted load does not guarantee that field is correct.
Adobe: Data Prep overviewDerived fields do not rewrite the source
CJA can transform and classify data at query time without changing source datasets. Adobe's examples include correcting page names and defining marketing channels from collected fields.
Adobe: Derived fieldsNot every change needs a derived field
Adobe recommends component settings when they already cover a simple rule. Complex logic also requires checking performance, maintenance and alternatives such as Data Prep or lookup datasets.
Adobe: Derived fields guidelinesHow I would review it
- Identify the consumers: does only the report need this channel, or do an audience, another system and the campaign team need it too?
- Check that the required data exists. A classification rule cannot recover a campaign code that was never collected.
- Test valid, empty and unknown codes. Agree what each output means without hiding errors inside direct traffic.
- Separate the future correction from the historical one. Document where the rule lives and which reports or flows depend on it.
An architecture example, not a migration recipe. Historical correction depends on retained fields, retention and the meaning of the measurement. This is not presented as a client incident.