I'd like to create a custom object to store product purchase history. Since our customers often own multiple products (and there is a one-to-many relationship), this seems to be a perfect use case for custom objects. However, I am capturing product purchase history through Marketo forms (product registration forms).
I believe that custom objects can only be used to store data that is not captured by Marketo -- e.g., it has to be captured somewhere else and passed into Marketo via an API or data upload. Given that I am, however, capturing the data I need in a Marketo form, I am wondering if anyone has any suggestions as to how I can capture the information in Marketo and pass it into a custom object.
One idea I have is to capture it in Marketo, pass it into a custom object in Salesforce, and then send it back from Salesforce into a Marketo custom object. This is not a fully-baked idea, but it's the only one I can think of so far. Any other suggestions are very much appreciated!
Using a webhook, you can pass the data to an external service, which in turn loops back and creates a Marketo Custom Object, which is far more usable than an SFDC Custom Object within Marketo (you can view CO records in the UI, for example).
However, this does mean you're using an API call for every form post. So always put an upper cap on the number of calls such a component can use each day in case there's a DoS event via your form.
There is an advantage of using SFDC Custom Objects, purely from the standpoint of API and webhook usage. In theory, you only need to update a Textarea field, let that sync to SFDC naturally, and use Apex to create the CO. That CO will then sync over to Marketo. But I would go for the Marketo COs as they're that much better to work with.