We're currently running A/B URL redirect tests using Google Optimize. When a user is triggered to be tested, Optimize cookies this session with UTM_EXPID (Experiment ID for the test) and UTM_referrer (Previous page before the experiment). In the event that the referring page is not the original landing page with UTM source/medium/etc., the UTM referrer in the Optimize test is simply the previous page.
Google Analytics tracks these correctly coming from the original source /medium; however, Marketo doesn't create the lead until after a form is submitted which means that the only UTMs it sees are the ones from the Optimize-created page (utm_expid and utm_referrer without source/medium/etc.) Essentially, for most leads, there is no UTM whatsoever because Optimize only creates expid and referrer.
Is there a workaround for this? Marketo correctly attributes the "Original Source Info" to the original landing page, but without any UTMs. Being that the Munchkin script does create/start tracking/cookies from the first landing page - which contains the original UTMs - is there a way to capture those UTMs? Would adding utm_expid and utm_referrer as hidden fields help the capturing of any missing UTMs instead of the previous page UTMs after form submit?
To be clear: Google Analytics does pick up all UTMs correctly without misattributing anything. It's only that Marketo passes off the UTMs after form submit, and I guess it only collects the Optimize UTMs when a user is tested, and not from the original landing page.
Also, the utm_referrer from Optimize will contain all original UTMs only if the previous page was the LP, but the URL is encoded with %26 (ampersand sign) but it doesn't show up in the url as "&".
A bit technical and may be confusing - I'd be happy to provide more information to clear things up.
Marketo does not translate any query params to form fields automatically, period.
Only by setting up hidden fields (or using the Forms API to do the equivalent) can you read URl- or cookie-based values and write them to form fields.
For the deepest persistence of session values to form fields, store values in cookies and map hidden fields accordingly.