PURL vs RTP

Anonymous
Not applicable

PURL vs RTP

I want to implement Pre-fill for a direct mail campaign and have read through the PURL docs, a lot of the PURL posts on here, and some of the RTP documentation and am still confused between the two and the implementation.

First, it would be an external landing page (a page on our domain/site NOT created in Marketo) with either an embedded form or a Gravity Form - its a Wordpress site. The mailer would obviously send everyone their own URL like www.ourcompany.com/johnsmith and the form would then be prefilled with their lead data. The external page aspect seems to rule out PURL use from what I've read and I'm not having success getting it to work since when I access one of our landing page paths and add the "/{{MarketoUniqueName}}" path to the end of the URL i just get a 404 since it thinks its a separate page. I've also tried with some landing pages created in Marketo to no success. Do I need to set the default field values to a token?

As far as RTP goes that seems to apply to people who have visited our site before so that won't work for this campaign. It also seems that PURL use is falling out of favor or did I misread?

If it helps too our landing page domain that's setup in Marketo is a subdomained url ie https://go.ourdomain.com with ourdomain.com as the fallback page.

Tags (2)
7 REPLIES 7
SanfordWhiteman
Level 10 - Community Moderator

Re: PURL vs RTP

The external page aspect seems to rule out PURL use from what I've read and I'm not having success getting it to work since when I access one of our landing page paths and add the "/{{MarketoUniqueName}}" path to the end of the URL i just get a 404

Of course -- pURLs are a feature of Marketo Landing Pages. They aren't a feature of your CMS's LPs.

I've also tried with some landing pages created in Marketo to no success. Do I need to set the default field values to a token?

Out of the box, pURLs only work if someone has never visited your site before, not even anonymously. They are for truly new-new leads.  You can use some JS to make them accommodate previous visitors as well. But that's neither here nor there since you said you want to use a 3rd-party page.

If you want to Pre-Fill a form on a 3rd party site, and you have total control over the links that someone clicks to get to that site, this is actually a lot easier than the typical 3rd-party Pre-Fill task (which includes organic re/visits to a site from anywhere). You can encode the lead data in the URL itself (I assume it's not really that many fields, right?). Use a Velocity token to Base64-encode the data so it's not as apparent to the lead (?Rmlyc3ROYW1lPUpvZSZMYXN0TmFtZT1CcmlnZ3M= instead of ?FirstName=Joe&LastName=Briggs).  Then just unwrap it into the form.

Anonymous
Not applicable

Re: PURL vs RTP

Thanks Sanford - this is a direct mail campaign so the user will have to manually enter the URL which is why we wanted to do a personalized URL with just ourdomain.com/johnsmith instead of them having to sit there and type out some long string.

SanfordWhiteman
Level 10 - Community Moderator

Re: PURL vs RTP

Ah, direct mail, missed that... pURLs are really great for that (purpose-built for it).  You could still reflect people off a pURL and then back to your site (you send them the pURL, the pURL creates the Base64-encoded URL -- it's instantaneous -- and redirects to your site with the encoded into).

Anonymous
Not applicable

Re: PURL vs RTP

Intereseting - and it would populate the embedded form? Would you be able to point me to any type of documentation for that?

SanfordWhiteman
Level 10 - Community Moderator

Re: PURL vs RTP

The Forms API has a core method setValues().  You pass an object with name/value pairs into it -- couldn't be simpler on the form side.

Get the object into your 3rd-party form by embedding it in the URL.

Your pURL does something like this (simplified):

var destinationRoot = "http://www.example.com/formpage";

var mktoFields = {

  "FirstName" : "{{lead.First Name}}",

  "LastName" : "{{lead.Last Name}}"

};

document.location.href = destinationRoot + '#' + btoa(JSON.stringify(mktoFields));

Then your /formpage does this:

MktoForms2.whenReady(function(form){

  var mktoFields = JSON.parse(atob(document.location.hash.substring(1)));
  form.setValues(mktoFields);
});

Anonymous
Not applicable

Re: PURL vs RTP

So basically theyd hit a blank marketo page to "capture" or identify the lead using that script and then itd redirect them to the landing page we actually want them to see passing a JSON blob with their info and then populating the form with it which they can then submit?

SanfordWhiteman
Level 10 - Community Moderator

Re: PURL vs RTP

You've got it... the only thing I'd phrase differently is that the Marketo LP is only blank in the sense that it has an empty body, but they'll never get to see the <body> anyway because the script runs in the <head>.