SOLVED

Add Variables from Form as Parameters for Thank You Page

Go to solution
Stephanie_Berr2
Level 2

Add Variables from Form as Parameters for Thank You Page

I have a form that I'm looking to send to a calendar scheduling tool after the form is submitted. I want to pass the information they submitted in the form through the URL but cannot figure out how to get these variables into the query string for the thank you page url.

 

Thank you page URL: www.example.com/meeting

Desired thank you page + query string: www.example/meeting?name=first%20last&email=john@email.com

 

1 ACCEPTED SOLUTION

Accepted Solutions
SanfordWhiteman
Level 10 - Community Moderator

Re: Add Variables from Form as Parameters for Thank You Page

MktoForms2.whenReady(function(form){
  form.onSuccess(function(submittedValues,serverThankYouURL){    
    var appendValues = {
           name : submittedValues.FirstName + " " + submittedValues.LastName,
           email : submittedValues.Email
    };
     
    /* -- NO NEED TO TOUCH BELOW THIS LINE -- */
    
    var thankYouLoc = document.createElement("a");

    thankYouLoc.href = serverThankYouURL;
    thankYouLoc.search += Object.keys(appendValues).reduce(function(acc,key){
        acc += "&" + encodeURIComponent(key) + "=" + encodeURIComponent(appendValues[key]);
        return acc;
      }, "");

    document.location = thankYouLoc;
    return false;
  });
});

 

No need to tag me though, if it's a new post I'll see it.

View solution in original post

18 REPLIES 18
Stephanie_Berr2
Level 2

Re: Add Variables from Form as Parameters for Thank You Page

@SanfordWhiteman I feel like you're the one who can help me answer this.

SanfordWhiteman
Level 10 - Community Moderator

Re: Add Variables from Form as Parameters for Thank You Page

MktoForms2.whenReady(function(form){
  form.onSuccess(function(submittedValues,serverThankYouURL){    
    var appendValues = {
           name : submittedValues.FirstName + " " + submittedValues.LastName,
           email : submittedValues.Email
    };
     
    /* -- NO NEED TO TOUCH BELOW THIS LINE -- */
    
    var thankYouLoc = document.createElement("a");

    thankYouLoc.href = serverThankYouURL;
    thankYouLoc.search += Object.keys(appendValues).reduce(function(acc,key){
        acc += "&" + encodeURIComponent(key) + "=" + encodeURIComponent(appendValues[key]);
        return acc;
      }, "");

    document.location = thankYouLoc;
    return false;
  });
});

 

No need to tag me though, if it's a new post I'll see it.

Stephanie_Berr2
Level 2

Re: Add Variables from Form as Parameters for Thank You Page

Thank you @SanfordWhiteman .

 

Now if I want to throw in a variable from a hidden field in the form between the thank you page url and before the appended values?

 

www.example/meeting/hiddenfield?name=first%20last&email=john@email.com

SanfordWhiteman
Level 10 - Community Moderator

Re: Add Variables from Form as Parameters for Thank You Page

You can add any fields you want to the appendValues object, using the same syntax I did for Email.

 

The order of unique fields in a query string is extremely unlikely to matter. Yechnically the parameters are ordered (as the query string is split into an ordered list) but it would be extremely fragile if your server actually cared about the order.

SanfordWhiteman
Level 10 - Community Moderator

Re: Add Variables from Form as Parameters for Thank You Page

@Stephanie_Berr2 could you return to the thread and mark my answer as the solution? Thanks.

KirstenOS
Level 1

Re: Add Variables from Form as Parameters for Thank You Page

@SanfordWhiteman, is there a method for carrying these appended values over in the URL if the user clicks onto another page? That does not generate null values if the values are empty?

SanfordWhiteman
Level 10 - Community Moderator

Re: Add Variables from Form as Parameters for Thank You Page

is there a method for carrying these appended values over in the URL if the user clicks onto another page? That does not generate null values if the values are empty?


For that you’d need a fuller-featured attribution tracking JS library. There are several out there; I’ll be publishing a fresh one to the Products blog in the next couple of months (microTracker).

Jo_Pitts1
Level 10 - Community Advisor

Re: Add Variables from Form as Parameters for Thank You Page

@KirstenOS ,

do they have to stay in the URL?  More commonly, you'd take them from the URL and put them into cookies.

 

Then when a form is loaded, it can take values from the cookies that have been persisted.

 

You can go down the full/partial attribution path @SanfordWhiteman is talking about or there are plenty of examples online of how to cookie things like UTM codes, GCLID, FBCLID etc (e.g. https://jennamolby.com/how-to-use-cookies-to-capture-url-parameters/), and from there it is easy to have Marketo Forms pick those values up, simply by telling it to read from a cookie for a field value.

 

Cheers

Jo

SanfordWhiteman
Level 10 - Community Moderator

Re: Add Variables from Form as Parameters for Thank You Page


here are plenty of examples online of how to cookie things like UTM codes, GCLID, FBCLID etc (e.g. https://jennamolby.com/how-to-use-cookies-to-capture-url-parameters/),

That code is absolutely awful + broken though. Hope you’re not using it. 🙂