SOLVED

SFDC Campaign assignment based on form submissions and querystring data

Go to solution
Pavel_Ivanov
Level 2

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:

  1. 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.
  2. 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)

1 ACCEPTED SOLUTION
SanfordWhiteman
Level 10 - Community Moderator

The hidden querystring field after each form fill, so it's ready for the following form submission (if any, ever). The default will indeed be empty. I don't need this information staying there for more that it would take for the flows to work and assign the people to the right SFDC campaign

You’re just setting yourself up for race conditions and difficult-to-follow logic.

 

There’s no ill consequence from having a field keep its value until overwritten by another round of user input. The key is that you want all your UTM fields to be updated as a group — you don’t want utm_medium to come from one form post while utm_term comes from another.

 

So call the fields something useful (Most Recent UTM Medium, etc.) and make sure that on any given form post they’re either sent as the real value (from the URL) or default to the literal value “NULL“ (which will empty the field if they weren’t in the URL).

View solution in original post

19 REPLIES 19