This is a very unique case, but one solution I can think of is building a set of trigger campaigns, that go one of two ways
- Trigger for Data Value Changes SF ID, or
- Trigger for Fills Out Form with filter for SF ID is not empty.
From there, you'll essentially have an Add to SFDC Campaign flow step. I would allow a lead to run through it every time.
In theory that would work mostly ... except for the fact that I think you'd have to create a new flow step for each and every SF campaign ... which won't work in an org where there is a high volume of new SF campaigns created. There has to be a way to pass that ID and make a member of that campaign ID dynamically ...
Not in Marketo, but you can create workflows in SFDC that would allow you to do that. However, I am not comfortable enough with SFDC workflow triggers to make a recommendation on how to execute this.
We have implemented something similar. Here's what we do:
- When a user comes to the website, we mostly have a Campaign ID value in the URL.
- With custom coding, we would collect this campaign ID in a cookie, and add it to a hidden form field when the form is submitted. After the form submission, we would simply reset the value of campaign ID in the cookie.
- In Marketo, we have a smart campaign which would add lead to SFDC Campaign. In the Campaign Name field, we have added the Campaign ID token, along with Campaign Status token, which is updated on form submits.
I don't think you would need any workflow in SFDC to achieve this. With some JS coding on the website, this can be done easily. Reach out at firstname.lastname@example.org if you need more details.