Landing Page Dynamic Content based on URL Parameter

Jaime_Servaes
Level 3

Landing Page Dynamic Content based on URL Parameter

I'm not sure if this is even possible, but I would like my landing page content to change based on the utm_source in the URL parameter. So if a person is coming to the landing page from vendor site 1, I want the hero text to change and if someone else comes from vendor site 2 I want the hero text to display something different for them, and then of course I want a default hero text if there is no utm_source.

I thought about trying this with a segment but I don't believe that will work b/c the filters in segments are based on data in the database and not the incoming URL. So has anyone done this before and is it possible?

8 REPLIES 8
Grégoire_Miche2
Level 10

Re: Landing Page Dynamic Content based on URL Parameter

Hi Jaime,

This is not feasible with Marketo standard functionality as the segments are computed after some delays and far after the page is rendered. I have not tested, but even RTP would probably have a hard time handling this. Another issue would be performance: you need the page to render quickly, so you probably want to avoid too many exchanges between the client and the server.

You will have to go through javascript I am afraid. All the content (both banners) will be pushed to the client and the JS would get the referrer and hide and show the relevant elements.

-Greg

Jaime_Servaes
Level 3

Re: Landing Page Dynamic Content based on URL Parameter

Greg,

Thanks for you feedback. I was leaning toward that being the issue but wanted confirmation just in case it could be handled another way.

Thanks!

Jaime

SanfordWhiteman
Level 10 - Community Moderator

Re: Landing Page Dynamic Content based on URL Parameter

It actually is totally possible. Do this via runtime segmentation (a.k.a. self-segmentation).

Pass URL parameters {segmentation}={segment}: for your example, create a segmentation​ utm_source with corresponding segments.

Got a feeling Grégoire Michel's about to get his mind blown...

Jaime_Servaes
Level 3

Re: Landing Page Dynamic Content based on URL Parameter

Sanford,

I like the way you think. But I need a bit more detail in order to execute this. I've created my utm_source segmentation. The filters in each segment is utm_source = vendor 1 etc.  Is this correct on what you were saying?

If so, then where and when do I pass the URL parameter?  I currently am using the Javascript code provided by Ben and Jon in this thread (Passing UTM values to iframe embedded forms ).  So currently my landing pages are capturing utm data but only if a form is submitted.  So what is the next thing I need to do?

Grégoire_Miche2
Level 10

Re: Landing Page Dynamic Content based on URL Parameter

Yes indeed, but the Marketo segmentation necessary to use dynamic content will not have time to compute before the page is rendered. So I am surely missing something

-Greg

SanfordWhiteman
Level 10 - Community Moderator

Re: Landing Page Dynamic Content based on URL Parameter

Runtime segmentations don't wait for the server. You are supplying the segment explicitly in the URL. The lead can still be anonymous -- makes no difference.

See my discussion and demo here: https://nation.marketo.com/message/142603#comment-142603

Grégoire_Miche2
Level 10

Re: Landing Page Dynamic Content based on URL Parameter

Yes, now I remember...

Thx for putting me back on track

-Greg

Anonymous
Not applicable

Re: Landing Page Dynamic Content based on URL Parameter

If you're just changing a line of text without tokens or anything in it, you could do this with JS. You create a simple mapping:

{

"vendor1":"Here's the text to display for those coming from Vendor 1",

"vendor2:"Some different text for these people"

}

Where the key matches your URL parameter and the value represents the text string you want to use.

Then replace the text on your page.