Referrer does consider the entire URL, including query string.
In that case, if we have a central campaign landing page that's used across multiple channels - meaning there could be all sorts of combinations of UTM parameters attached to the URL, resulting in 25+ URLs - the best approach would then be to use a "referrer" [CONTAINS] "http://mainURL.com" contraint, correct?
Yep!
'Referrer starts with' would also work and may be slightly faster.
If your base URL is the same for all channels and the only differences in the links are the query parameters, you should be able to use a 'Web Page is' constraint. The key with the Web Page constraint is it must exactly match the base URL including trailing slashes (or not) and hashes. You can typically see the base URL (not including www.domain.xxx) in the Webpage URL field of a Visit Web Page activity for that page (screen shot below). You can also see the Webpage ID field value in the Visit Web Page activity, which should match the Webpage ID field value in the Fill Out Form activity.
If your page has sections, you will need to add the base URL and the base URL with its hash values in the multiple value chooser field as in the following examples.
Thanks Sanford Whiteman. Your explanation makes sense for the most part.
The form was split up into a multi-step form, so each step appended #step-1 to the URL. This is relatively new for us, so that's probably why we hadn't seen this issue previously. The other versions of our multi-step forms have triggers based on the form ID alone without any other constraints, and that's why we don't see this issue for those trigger campaigns.
It still throws me off that there were some leads who had the #step-4 referrer url and still qualified for the trigger (form ID+Web Page constraint). But since there are inconsistencies, I won't be relying on this constraint anymore.
I've since built a patch campaign to wait 5 minutes after leads fill out the form + referrer then go through the necessary flow steps if it hasn't already, and it seems to be working. After monitoring for a few days, all leads are going through the patch campaign without issue so it does seem like referrer is the better constraint for non-Marketo LPs.
Lesson learned. (Is this noted in the product docs already?)
The form was split up into a multi-step form, so each step appended #step-1 to the URL. This is relatively new for us, so that's probably why we hadn't seen this issue previously.
I had a gut feeling it was the hash that was causing confusion. I like to exploit the hash-awareness in other contexts w/Marketo, so I keep an eye out for it. Switching to Referrer will both solve this problem and give you more flexibility in the future.
Hi @SanfordWhiteman I want to clarify as I am getting mixed information across community and from support.
We are trying to use the Fills Out Form trigger (with global form) but on specific non-MKTO web pages so that we can give appropriate attribution. What constraints should we use? What if we use utm parameters and how would that tie into the contains, starts with, etc.
I thought that referer was the page BEFORE a form fill but that may not be the case for the fills out form trigger (rather the visits web page referrer).
The Referrer of a form fill is the page the form was on.
This is because Marketo treats the form referrer as if it were an IFRAME (even though, thankfully, it’s not) and the referrer of an IFRAME is always the parent page, not the page before it.
Referrer (in Marketo) = the URL of the page where the form lives and was submitted, even on non-Marketo pages like WordPress. Surprisingly, it is the more reliable constraint for embedded forms.
Web Page = only works consistently when the form is filled out on a Marketo-hosted landing page. This field is often blank or misreported when forms are embedded on external pages due to how Marketo tracks its assets vs. external environments.
To your specific questions:
Why this is an issue now? This may be due to a recent change in how your WordPress pages load the embed code, a plugin or theme update, or browser privacy.
Why some leads qualify and others don’t? Different browsers, ad blockers, privacy settings, or how fast the script loads can impact whether Marketo captures the “Web Page” info accurately.
Why Referrer works better? On non-Marketo pages, Referrer ends up being the best proxy for “where the form was filled out” because it's populated based on how the JavaScript embed is interpreted, whereas Web Page expects a Marketo-hosted environment.
Let me know if this helps. I was quite surprised when I found this out too. 😀