We have added a new custom campaign object field, Vendor into SFDC. How can I sync this field to Marketo? Is this only possibly by also relating this object to Lead, Contact or Account, which doesn't necessarily make sense in this case?
Your supposition is correct. You can't use Campaign-level objects to store per-campaign-membership data.
any creative ideas on how to pass along a campaign related field in one of the Marketo sync objects, i.e. person, contact or account, for something like vendor? Maybe it's all in the Campaign Name combined with the channel type, while ensuring strict naming conventions?
I make very deep use of Text Areas fields (directly on the person) that store multidimensional JSON data. This can in turn be unfolded into live objects in SFDC using Apex.
In the end, you'd need to do stuff in Salesforce because Marketo doesn't access any of the Campaign Object custom fields.
A non-Apex suggestion, when you create the Salesforce campaign sync in Marketo, if you're not using the description field for anything else...
- put the vendor name into the description.
- create a workflow rule on the campaign object
- create a field update rule for the vendor field that equals the value of the description field
Retrieving data ...