SFDC Campaign assignment based on form submissions and querystring data
Hello,
I'm working on building a SFDC Campaign Assignment program in Marketo based on form submissions. I have an idea and want to run it through the community here and see what I might be missing.
What we're trying to achieve is assign leads to the correct SFDC campaigns, based on the information coming through form submissions, more precisely, the UTMs or the lack of them. We have our forms setup with all necessary hidden UTM fields.
The issue we're facing comes from the fact that Marketo is last-touch based and that it does not update fields to NULL value if a form submission comes through with an empty field, like a utm field, for example.
To elaborate, here's an example:
- Joan does not exist in our Marketo database. She clicks on a banner and comes to our website, carrying a utm_source=linkedin. She submits a form, Marketo looks at the submission and sees there's a utm_source=linkedin, so based on the program flows it puts the lead in the 2022-LinkedIn SFDC Campaign.
- A week later Joan comes to our website by manually typing the url in her browser. This time there are no UTMs associated with this session. She navigates to another form and submits it. Here's the tricky part - Marketo looks at this submission, checks Joan's profile, sees that there's a utm_source=linkedin (from the previous form submission) and counts this again as a submission coming via lnikedin. However, this would not be correct, because this is direct traffic.
In order to solve this, I'm thinking of using the querystring value. It carries all the important information I'm looking for and basically shows what's coming through the door with each form submission and not historic values - whether there is something there or there isn't. In the above example, it shouldn't get the direct traffic wrongly as a submission coming from linkedin. HOWEVER, since the Querystring is not passed on pages, it is only available on the first page that the lead lands on. So it would be rather useless on any page that the lead navigates to, other than the one they landed on and I cannot use the out-of-the-box querystring option for the Fills out form trigger.
So in order to solve this I'm thinking of adding a hidden form field that would be recording the querystring value upon visit. The lead would either be coming through paid with some important value in the querystring (UTMs in this case) or through direct with no value in the querystring. This can be kept and then passed on to Marketo with the form submission.
It should be able to let me use the below setup.
Smart list:
- Fills out form
- Quesystring (the new hidden field) contains (utm_source)
Flow:
- Add to SFDC Campaign:
-- If utm_source IS "google" add to 2022-Google SFDC Campaign
-- If utm_source IS "bing" add to 2022-Bing SFDC Campaign
- Wait 5 minutes
- Change data value of the Querystring field to NULL (so that it's ready for a new form submission)