We are trying to create an analytical dashboard on top of the Marketo data, but we are struggling with the program names that are retrieved via the APIs.
Does someone has experience and solved the following challenge?
The program names are made available through the 'primary_attribute_value' field in the diverse activity tables. This field is consisting of '<program name>.<email template name>'. The challenge is occurring when changes are applied in the naming;-
1/ Email template name changes;
The change is reflected in the email template history table (linked to the activity table via the primary attribute value id). This can easily be picked up as there is a consistent way of verifying the new naming
2/ Program name changes;
a/ in case of new activities (after change is applied) - the new name is indicated in the primary attribute value field (<program name>.<email template name>)
b/ in case of old activities (before the change is applied) - the new name will be shown in the campaign -field which is stored in the activity tables.
The campaign field could also be populated with system campaign names in case when default campaigns are triggered.
Hopefully someone can share his/her experience on this topic.
You're basically out of luck.
Unfortunately, use of the mutable Program Name instead of the immutable Program ID makes an easy reconciliation/detection of such changes impossible. In essence you need to do Change Data Capture on the whole Programs tree in order to detect changes.
A pseudo-workaround, if you can enforce the procedure, is to mandate that the Program ID always be prepended to the Name.
Hi Sanford,
Thank you for the reply.
We can do a kind of change data capture on the whole programs tree, however there is no clear link between the activities - campaign and program tables that can be retrieved via the APIs. For example; system campaigns are created when working with default programs, which are not captured via the campaigns API (cfr. )
There are too many variables that need to be taken into account to solve this puzzle - I guess that I'm indeed out of luck. The pseudo-workaround is the best options I guess, which requires change mgt process.