look up my articles on channel offer attribution.
What you probably need is a combination of Program management, Marketo RCM, and Bizible.
Thanks for your reply.
We actually do have an integration with Bizible and this is one of the reasons we've now found it necessary to revamp the MLS and begin storing information on the Custom Activities as we see it as equivalent to Salesforces 'Opportunities' function that can hold information on each opportunity. Was that part of your suggestion too? Right now I'm just trying to understand if I've got it right, that the Custom Activites actually is equivalent to 'Opportunities' or how they work.
In regards to your articles - Is there a specific one or more you are referring to?
You need to be clearer about what you mean by "gather this information." Both COs and CAs have limited visibility across the Marketo ecosystem -- COs can't be accessed as tokens outside of Velocity scripts, for example, and CAs can't be used as tokens at all. They can of course be used (to some degree) in filters and triggers, and if extracted from the system can be analyzed any which way.
A CA is a non-deletable dimension, representing an activity that cannot have "un-happened" to a lead. In contrast, COs (if the API is used) can be deleted.
I would have grave misgivings about creating either type of object one-by-one in response to ungoverned end user activity, because you will exceed API limits (possibly with legitimate traffic, definitely with malicious traffic). Both types are better suited for bulk insertion.