RTP - delay a campaign appearing eg only appears when visitor has been on a page longer than 30 seconds? | Community
Skip to main content
March 23, 2015
Question

RTP - delay a campaign appearing eg only appears when visitor has been on a page longer than 30 seconds?

  • March 23, 2015
  • 4 replies
  • 3530 views
Is it possible to dely the delivery of a campaign in RTP? For example, on my blog pages, if a visitor has been reading the blog for 30 seconds a campaign will appear inviting them to register for email blog updates.

Initially I thought I could create a segment to do this but I assume there must be a better way as I'm limited to 30 segments and have used all of these up already.
 
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

4 replies

Josh_Hill13
Level 10
March 23, 2015
Paul,

Check out the docs.marketo.com for what you need.

Not sure if this is capable but i think there's a thing like "after 30 seconds, do something" or on the second visit, do something.
 
March 23, 2015
Hi Paul,

We've heard similar request from other customers and I worked on this cusom Javascript code below.

You can implement it on your website pages and trigger RTP campaign after x seconds.

Soon it will also be available on the Marketo Developers Blog.
 

This custom Javascript allows RTP users to show campaigns a few seconds after the web page loads. This is recommended for dialog box and widget campaigns. It can be used to show a campaign after a delay, once the visitor viewed the regular content on the page.

 

Implement this code only on specific pages where the campaign/s should be displayed. Using this code across all pages is not recommended as it may affect performance.

 

Instructions:

 

The custom code sends an RTP Custom Data Event (t=timeOnPage, i.e: t=60) and then loads the campaign that matches this event. By default, it will be triggered after 60 seconds. You can customize it by changing the sendCustomRTPEvent parameter to any other number.

 

Place the code right after the standard RTP code:

<script>
function sendCustomRTPEvent(a){
    eventValue="t="+a;
    setTimeout(function(){ 
        rtp('send', 'event', {value: eventValue}); 
        rtp('get', 'campaign',true);
    }, 1000 * a);
}
sendCustomRTPEvent(60); //Seconds
</script>

See this code also on: http://jsfiddle.net/1r08j3ga/

 

To setup a RTP campaign to react after a time delay:

  1. Login to your RTP account

  2. Create a new segment

  3. In the Segment Events section add: ‘t=60’

 

Note: a visitor can only match each RTP segment once per session, therefore seeing each campaign only once.


Yanir.
 
March 25, 2015
Here is my post on the Developers blog:
http://developers.marketo.com/blog/triggering-rtp-campaigns-with-a-delay/

Enjoy and let me know if you have any quetions.

Yanir
Kamaljeet_Kaur1
Level 3
May 26, 2017

Hi @Yanir

I have done the same but my campaign still shows up on the page load. I want to show the campaign after 30 seconds

Thanks

David_Myers
Level 4
June 15, 2017

We provide an out of the box feature for Dialog Campaigns to delay the campaign by a defined number of seconds.

See Create a New RTP Dialog Web Campaign - Marketo Docs - Product Docs - Display On and Delay

Kamaljeet_Kaur1
Level 3
June 15, 2017

Yes, the feature is added for Dialog campaigns but not for widgets. Any plans to add the same feature for widgets too. We tried using the JS as mentioned by Yanir Calisar but it did not work.

David_Myers
Level 4
June 25, 2017

Yes, we plan to add delays for widgets soon, hopefully by Summer release 2017.