I would run these through Salesforce and here is why: SFDC has an entire app store dedicated to connecting the puzzle pieces. I believe Marketo is working on simthing similar with their LaunchPoint, but it isn't the same scale.
You won't have to reinvent the wheel if you use an exisiting product that already connects with SFDC. I always like to tell my clients that SDFC is the master recrod and you use tools like Marketo and others to enable your data.
I would definitely consider integrating directly with Marketo instead of with SFDC, unless you absolutely need the data in SFDC. I've worked with several clients who've created their own "free trial" signup form, and then immediately pass the information into Marketo. Marketo then sends a thank-you email to the registrant (which is immediate, while if you go via SFDC, you have have at least 5-10 minute delay because of the sync).
The easiest integration method is a server-side form post. This means that your server-side application (the app that handles the free trial) will re-post the data into Marketo. Any web developer should be able to set this up in an hour or so. They post to the same URL that is used in a native Marketo form (usually https://app-x.marketo.com/index.php/leadCapture/save, replace x with your pod), then specify the field names using Marketo's API name (use "Export field names" in Admin > field management). Also include the fields 'formid' and 'munchkinId'. I can provide more details on this if needed.
So in this approach you continue to use the forms that you are using today, we just send the information into Marketo using a scripting language (PHP, ASP, Java, etc.).
Hope this helps,
We want to implement similar use case leveraging Marketo forms. In our scenario, we have a collaboration with a third party who will be providing a unique trial download link which we want to pull into a Marketo field in a lead record and then pass the download link via token in an email to lead via smart campaign.
Would appreciate if you can outline steps to implement this use case.
I have implemented this in our own Marketo instance.
Basically upon filling out the free trial form, I trigger a smart campaign that triggers a webhook that calls a license service. The license keys are returned, mapped to custom fields, and stored as strings in the Marketo database. Then Marketo sends an email containing the license keys (as tokens internally in Marketo) within the email.
Hope that helps,