Skip navigation
All Places > Marketo Whisperer: Implementation Tips > Author: 2ced2b24f2c0c927ede8a3a6b08704b352d2e5d0

I find there’s often confusion around how the Content Recommendation Engine (CRE) functions when clients have the CRE turned on for multiple domains managed under one instance of Web Personalization (RTP).  You can read a product document about this topic here and I thought it worth expanding upon this conversation with an example.


Before we jump into that, let’s start by looking at some basic points for RTP tag implementation:

  • You can only have one RTP tag per web page
  • You can have one RTP instance with multiple domains (different tags for different domains)
  • You can manage segments and campaigns per domain within one instance
  • Currently only one Marketo MLM instance can sync with one RTP instance. (It is on the road-map to look at changing this, but currently there are no dates available)


A look at what happens once the Content Recommendation Bar is enabled


Content Discovery is enabled in Account Settings and can be turned on by domain. Read more about that here.


Content Discovery.png


Content Recommendation can also be turned on by domain. The CRE will discover content, and once content is enabled for recommendation that content will appear on all domain(s) that have the CRE (bar overlay) enabled.


Here’s an imaginary example to show you just what that means - to make it easier to read, I'm going to bullet out the use case to highlight the main points:


  • Let’s pretend you are a food purveyor that has two domains in one RTP instance. On one domain, you promote meat ( and on the other, you promote vegetables (
  • Once the RTP tag is placed on both domains and content discovery is enabled, eligible content will be discovered on both domains (e.g. case studies, white papers, press releases, .pdfs and videos) and HTML content (e.g. articles and blog posts) if Content Patterns have been configured.
  • If the CRE is enabled on one (or both) domains, content that’s enabled for the recommendation engine will show on both sites.
  • This means if you have vegetarians going to the site and if meat related content is CRE enabled they may see meat related recommendations
  • You may want to consider which type of content you recommend – in this case recommending more general content about the history of your business, or how you back sustainable farming, etc. may be the best types of content to enable.

Cross Domain and CRE.jpg

On the other hand, for clients who are looking to cross- and up-sell, having the ability to easily recommend content for different products, in the case where each product has its own domain, can be ideal!


Are there other options to gain control of what content is being recommended?


Take a look at the enabling the Rich Media Recommendation Engine (RMRE). Unlike the CRE, which is an overlay on your site, the RMRE is embedded on your site. There is a configurable template which allows you to present three types of content at one time - in separate boxes - either vertically or horizontally.  You can even customize the template to make it match your brand guidelines.


Read more about the template here; if you are interested in using the RMRE, simply contact support and they can enable it for you.  Once you have the RMRE up and running you can use categories to show certain content in the template.


What is a Category?


A Content Category will group content for a specific rich media recommendation template.  If you want to recommend only specific content for a Rich Media template, simply add a category for the content and associate that category with the recommendation template. Note that if you leave the category empty you content will appear on all recommendation templates. David Myers wrote about how categories works and provides two use cases here.


Can I block the RTP tag from showing up on certain pages?


Yes; work with your consultant or support and they can walk you through how to make this happen.


How are you making the most of predictive content in your instance?  I’d love to hear all about it.

At the heart of your social media activities is the desire to both engage with your audience and to capture data.  Whether you are using Marketo Social Apps or creating custom audiences and Lead Ads in Facebook (or both!), it's important to know that data instigated by Marketo Social Apps and Facebook Lead Ads can be used to enrich and append your Marketo data.


Social Apps are created as local assets:




Marketo Social Apps include:

Social Button

You Tube Video


Referral Offer








Click here to read more about pushing Marketo data to Facebook using Ad Bridge and here to learn more about how to set up Facebook Lead Ads. Use List Actions "Send to Ad Bridge" to send your list to Facebook:


Send via Ad Bridge.png


What data is returned?

The below grid provides an overview of the data that can be returned by each social feature. Note that when using Social Form Fill for Twitter and Facebook (represented by orange dots on the grid) you'll need to add a required email field to ensure that data is captured, since this data is not passed by those social networks. Read more about that here.



You can configure which data you want to capture for Sweepstakes and Referrals:


Lead Capture Sweepstakes.png


One you enable Facebook Lead Ads you can choose which fields to map. The following fields are automatically mapped: Full Name, State, Country, Email, City, Date of Birth, First Name, Last Name, Street Address, Job Title, Phone Number, Company Name, Zip Code, Post Code.  Edit the Service in Admin under LaunchPoint:


Edit Services.png

Today's marketing is about effective story telling. And with the viral nature of digital marketing, top of the list when it comes to getting your story out there is the use of video content.  If you still haven't included video as part of your marketing strategy, or if you want to learn about using video to increase engagement, qualify and convert your buyers, check out this great eBook. Now add the power of web personalization to the mix and you're telling that powerful story to the audience most likely to want to watch.


Let's look at how easy it is to include video in your web personalization campaigns.


First you'll need to follow the relevant video player's Embed HTML instructions:


In the RTP campaign editor, open the HTML editor and simply paste the video's Embed HTML code.  In the below example I'm using a YouTube video.


In YouTube click on the Embed tab and copy the embed code:


Embed YouTube Example.png


Then copy and paste the embed code into the campaign HTML and click Update:

Embed HTML.png


The video won't render in the WYSIWYG editor - but don't worry, it will still work - just check out the Preview:

Embed Preview.png


And here's the final result:

Embed YouTube Final.png


Did you know you can also include forms in your Web Personalization campaigns?  Check out the instructions here.


As always, thanks to Yanir Calisar for all things RTP related.

Got pesky scroll bars in your Dialog Web Personalization campaigns? Let's look at how easy it is to get rid of them...


In the Dialog Campaign interface you have options to setup the dialog box size, or you can make it even simpler by choosing Auto Width.  Also, don’t forget the great choices you get for Dialog Style including, Modern Trim (a black outline), Basic (includes a gray box for the Dialog Title) and Modern Trim II (a gray outline):


Dialog Types.png


Here are my settings - I selected a Transparent background and Auto Width:

Dialog Sidebar.png


Then simply insert the following CSS code to the campaign's HTML:



    overflow-x: hidden;

    overflow-y: hidden;




And here’s the result:

Dialog Transparent.png


Bye Bye, scroll bars!

When you are implementing In Zone Web Personalization campaigns you may need to wait on final creative but still want to get as much work done as possible as you are driving towards your implementation deadline.


What to do?

Provided you already have div ids in place, you can easily create placeholder campaigns using existing content and simply update the placeholders by replacing the necessary text and image links when your creative assets have been approved.  Even if your creative is vastly different than the existing content it’s replacing, creating placeholders creates a parallel work stream and allows you to get segments created and associated with campaigns, lock in your naming conventions and make internal decisions like who will be providing final approval once the campaigns are complete.


How to do it?

In Google Chrome, start by locating the area of your website where the In Zone campaign is going to be placed, right click the area and click on Inspect when the model opens:



Next, find the name of  <div> id for that element and keep a copy of it; you will need to enter this in the Zone ID section of the In Zone campaign designer:




Grab a sample of the existing content by highlighting and copying it:


Then simply paste it in the In Zone WYSIWIG editor:




Now it’s time to swap out the creative.  It’s easy to make edits using using the WSIWIG editor, or by editing the HTML directly – just choose HTML:




Change various aspects of the HTML directly in the editor. In this example I’m changing the h2 element:



Check your changes by previewing the campaign:



Here’s what the campaign looks like with the header text replaced:


What implementation tips have you found that help you work with your web/creative teams to expedite web personalization roll outs?

One of the cool new features of the Winter Release was the introduction of Triggers and Filters for Web Personalization (RTP) Calls to Action and Recommendations.


Besides all the cool things triggers already allow you to do (e.g. send an auto-responder), this also provides a way to add web personalization scoring to your behavioral scoring campaigns.


What name do you use in the triggers?

  • For Clicked RTP Call to Action - use the name of the RTP Campaigns (from Campaigns page)
  • For Clicked RTP Recommendation - use the name of the Content Title (from Recommendations page)


RTP Triggers Example.png


You might even want to score based on the value of the call to action or the value of content being clicked on.

Here’s a scoring example that you can edit to meet your scoring strategy:


RTP Scoring Examples.png


This is a great way to quantify web personalization behaviors.

Happy scoring!

Did you ever have a Web Personalization (RTP) campaign you wanted to be able to present regardless of the page your web visitor is on? 


That’s where Any Page can be used. This is a cool Web Personalization feature that works like this: once a visitor matches the segment you've created, your campaign will be shown regardless of the page the visitor is on.  What's important to remember is that the visitor will always need to first match the segment


Let’s look at a specific use case:

I was recently working with a client who wanted to offer a discount to any anonymous web visitor that visited a particular product page.


First we setup the segment attributes to include the Known Lead attribute of Status, and the Behavior attribute of Include Pages:


Any Page Segment  Example.png

Then we created the campaign and selected Any Page:


Any Page  Example.png


This functionality is only available for Dialog and Widget campaigns and is a sub-choice of the Target URL functionality. 


Want to show the campaign on specific pages? That’s where Target URL comes in. This is found in the Set Campaign section of the and defines the specific URL or URLs that a RTP campaign will appear on. Read more about how to do that here.


Target URL Example.png

For many reasons clients sometimes need to get campaigns up and running in Marketo before CRM integration tasks have been completed.  If you find yourself in this position, there are a few things you’ll want to consider. Let’s take a look…


  • Duplicate records
    • Duplicate records will exist in Marketo after the CRM sync and require a merge and data clean up. You can manage this two ways:
      • Manually in Marketo
      • Via Marketo’s Easy Merge Service


Note: Some clients decide to delete leads that have no activity (e.g. did not click in an email) to minimize the duplication clean up.  Additionally, for those leads you decide to keep, you will need to create a merge process and determine what data is the master/most up-to-date.


  • Fields and Field data
    • Prior to the integration, you will need to create Marketo custom fields for any CRM fields you need to duplicate in Marketo in order to run your campaigns
    • After the integration, you will need to:
      • Map data fields
      • Move data
        • Create Data Management programs to move data within the Marketo custom only fields into the similar field created by CRM
          • Example: Copy data from mkto_field A into CRM_field A; delete data from mkto_field A
      • Hide mkto_custom only fields from which you moved the data and are no longer needed
      • Update any/all programs using mkto_custom only fields to be the CRM fields
      • Update any List Import templates to reference the CRM (and not custom Marketo) fields


  • Lead Reporting/Sales Alerts
    • Pre-integration:
      • There is no closed loop reporting
      • Alerts and “lead routing” rules need to be maintained in Marketo
      • Sales visibility into campaigns/lead records is limited; Marketo is not intended to be a CRM and as such there is no “Account view” and no place to manage notes or activities. That being said, you can take advantage of Smart Lists subscriptions to provide some insight, as well as create alerts.
      • Information sharing between the two systems is manual (list exports/imports)



And remember, prior to uploading leads and running your initial campaigns be sure to review and activate/schedule all Operational campaigns (e.g. Data Management, Scoring and Interesting Moments).


Thanks to Jodi Florence for her input on this blog post.


Marketers understand the importance of A/B testing – and specifically how simple changes around copy, color, placement and headlines can make a big difference in the success of our campaigns.


Marketo’s Web Personalization (RTP) platform makes it as easy as 1-2-3 to create A/B tests.  Simply check off Split Testing, name the group for the campaigns you want to test and click Create. You can then add campaigns to the group.

RTP will take the number of campaigns in the group and split the number of impressions between the campaigns, for example:

  • If you have 2 campaigns in the group – each one will show up 50% of the time
  • If you have 3 campaigns in the group – each one will show up 33.3% of the time


How many campaigns should I test?

While you can test as many campaigns as you want, best practice recommendation is to test two to three campaigns at a time.


Does segmentation matter?

Yes.  You want to keep the audience the same so you aren’t adding an additional variable to the test. Be sure each split test group is associated with the same segment.


What should I A/B test?

In addition to what’s already been mentioned, try testing against different content pieces (e.g. Case Study A vs. Case Study B). This great Marketo blog entitled 7 Elements to A/B Test in Your Digital Ads mentions testing using time of day and day of week.


With Marketo’s winter release that is now possible! In addition to using the new web personalization scheduling feature to schedule campaigns in advance, you can now choose the time of day and days of the week your campaign should run:.

When setting campaign time zone note that the default setting runs campaigns in the web visitor's time zone. You can choose to schedule the campaign to run based on specific time zones:


How is Sampling different than A/B testing?

Sampling is where you can configure the percentage of the traffic that will see the campaign – without having second campaign version. In this example we will be showing the selected campaign to only 20% of the web visitors:


Can I A/B test and Sample?

No, both features cannot work together, meaning – if you set A/B testing and 20% sampling the sampling will be disregarded.


Auto Tune - It works for Drake, make it work for you!

Lastly, don’t forget to take advantage of the Auto Tune feature. This allows the RTP platform to automatically recognize the better performing split test campaign, and continues showing the highest converting campaign while pausing the other(s). To enable it, simply check off Auto Tune:

For many marketers who are up to date on all things SEO related, the lack of key word availability is old news. It is worth revisiting, however, for those of you who are new to Marketo’s Web Personalization (RTP) solution and looking to segment using search terms.


In 2011, when Google announce its Panda release, there was one big change that affected SEO marketers – the decision to limit the availability of search query terms. Having key insight into the words or phrases users typed in to find your site, in many cases, became a thing of the past. And just last June Bing announced it will follow-suit and no longer "include the used query terms" when providing search information. Both companies site user privacy as a reason for this change.


What does this query term look like?

When you search on Google and click one of the results, you’re taken to that website with the "?q=YourSearchQuery” parameter (search term) in the URL. The below image shows what the query string looks like for a search on



What does the search term look like in RTP?

If the search term is in the URL and made available by the search provider (this can be either paid or organic search), RTP will capture that information and make it available as a value in the Search Terms drop down as pictured below.  If the term you are looking for isn't available, you can also write in search term(s) to segment on.



How do these search engine privacy related changes affect RTP?

What you are likely to find, especially for organic search, is ~85% of the times Google hides or removes this parameter so it’s not available. When search term information is available take advantage of it, but also look for other ways to create meaningful segments by using attributes like: referrals, location and page visits. For a complete list of available segmentation attributes click here.


Want to Geek Out and learn more about the history of Goggle Algorithms?  Check out The Ultimate Google Algorithm Cheat Sheet

As marketers we are well aware that fast loading websites are crucial for reducing bounce rates, increasing engagement, and ultimately driving lead generation and revenue.  So how do you maintain site speed when using Marketo’s web personalization campaigns?  A look at best practices for image use and links is a good place to start.


Where should I house images for use with my RTP campaigns? 

While you can host images in Marketo’s Design Studio, the preferred method of image hosting is via a Content Delivery Network, or CDN.  This is because content hosted on a CDN is loaded very quickly.


What’s a CDN?

Wikipedia describes it as follows: A content delivery network or content distribution network (CDN) is a globally distributed network of proxy servers deployed in multiple data centers. The goal of a CDN is to serve content to end-users with high availability and high performance.


It’s the globally distributed aspect of these networks that helps to speed up content load time. This article on the Best Content Delivery Network (CDN) Providers sums up how CDN’s work: “A content delivery network (CDN) helps speed up your website in part by shortening the distance between the person visiting your site and the server delivering the content. Your site, or at least some of the elements of your site are distributed and cached on servers across the globe. That way, whether someone is accessing your site from Australia, China, the U.S. or the U.K., they are able to load your content from a local server instead of having to wait for it to be provided by your origin server. This can have a significant impact on load times while also reducing the strain on your hosting server.”


And with CDN’s rise in popularity, there are vendors to fit every size and pocketbook – including vendors that provide the service for free.


I’ve got my images hosted – how do I link to them in RTP campaigns?

A best practice is to change all links to be protocol-relative - this means removing the http: or https.  And don’t just do this for image URLs, make URLs used to link things like headline or body text and CTA buttons protocol-relative, too.


Here’s an example of a protocol-relative link for an image: // number-image name-image size.jpg


By keeping links relative you reduce potential mixed content issues that can be brought about when you have an insecure (http) resource within a secure (https) page. To put it simply, keeping the links relative ensures that images will render properly and that the user will not receive content related security warnings.


Something else to consider is that users with the standard web personalization roles do not have access to images stored in the Marketo Design Studio.  That means a user assigned the out of the box Web Campaign Editor or Launcher role won’t have access to Marketo Lead Management solution, including the Design Studio.  You can create a new role, tweak the existing role, or add additional privileges to these roles as a workaround.


Next time – RTP campaign testing tips.

Forms and Lead Generation go together like Kanye and Kim. Top that off with Marketo’s Web Personalization (RTP) and extend your marketing efforts using personalized targeting to engage anonymous and known visitors on your website.


Once you deploy the RTP tag,  form submissions are capture out of the box.  But, let’s take a look at some of the nuances behind form submissions and how that data is captured in RTP and in Marketo Lead Management (MLM). The below discussion assumes that Munchkin code has been deployed on your website.


What happens after the form is submitted?


When a visitor fills out a form on your website where the RTP tag has been implemented they immediately become known in RTP.   RTP captures every form submission – whether you are using Marketo forms, or not.


If you are not using Marketo forms, form submission data is not synced to MLM. If you want that data in MLM look at using Marketo’s Forms 2.0 JavaScript API*. There’s a great blog post by Kenny Elkington that can be found here if you are looking for more information.


If a visitor fills out a Marketo form on a Marketo landing page with the RTP tag deployed on the Marketo landing page, the visitor becomes known in MLM and RTP immediately. The sync between RTP and MLM happens every 5 minutes, so the visitor’s lead data will be available in RTP within ~5 minutes.


A visitor filling out a Marketo form on a non-Marketo landing page with the RTP tag implemented on the website gives the same result as the above scenario - the visitor becomes known in MLM and RTP immediately.


For a visitor filling out a Marketo form on a Marketo landing page without the RTP tag, they are initially known only in Marketo. Once the visitor visits another page on the domain with RTP tag installed they will become known in RTP.


Here’s a handy chart to help illustrate the different behaviors:


Form location

Is RTP Tag implemented on website?

Is RTP Tag implemented on Marketo Landing Page?

Does the visitor become Known in Marketo (MLM)?

Does the visitor become Known in Web Personalization (RTP)?

Non-Marketo form on non-Marketo landing page





Marketo form on a Marketo landing page





Marketo form on a non-Marketo landing page





Marketo form on a Marketo landing page




Known only in Marketo until the visitor visits another page on the domain with the RTP tag implemented


Let the conversion optimization begin!


Special thanks to Yanir Calisar for his assistance with this post.

Can activity history be exported from one Marketo instance to another?


This is a question we often hear, since often times clients are up and running with their Marketo instance before they integrate with a CRM, or there’s a need to consolidate multiple Marketo instances.


So what’s the answer? 


In short, you can’t export Marketo activity history or Marketo campaign history from one instance to another. What’s the difference between activity history and campaign history, you might ask?


Marketo activity history is the information you find on the “Activity Log” tab on a Lead record in Marketo. Examples include, but aren’t limited to:


  • Clicked Link on Web Page
  • Added to List
  • Opened Email
  • Send email


To see a list of activities you can pop open the Activity Filter:

Activity Filter.png


Marketo campaign history is the information you see in the “Results” tab in a smart campaign and includes information like ID, Activity, and Lead Name, as pictured below.





To repeat, you can’t export Marketo activity history or Marketo campaign history from one instance to another.


I’m disappointed! Do I have any options?


Marketo does provide a service that allows for the export of activities using the Marketo API.  But there’s a caveat - in order to import activities into a new instance custom activities need to be created; you cannot import into the standard activities. Still interested? Reach out to your engagement manager or support to learn more.

Did you ever wish you could easily compare email performance across your static lists?  I thought you might, so here’s a way to make your dream a reality...


1) First you’ll need to create a new segmentation.  Name is something like Static List Report.


2) Here’s your chance to name your lists the way you’d like to see them show up in the report. In my example I simply used the same name as the static lists found in the Group Lists in the Lead Database.

3) For each segment, create a Smart List and choose the static lists you want included in your report.


4) In Analytics, click on the Email Performance Report and clone the report (this is a best practice – always save the default report and customize it to meet your reporting needs. Remember to save your report to Group reports if you want to make it available to other users).


5) Pull over the Group by Segmentations filter and select your segmentation.


6) Set the Smart List filters Member of List and choose your static lists. Pull over the Was Delivered Email filter and choose Email: is any.  Also remember to choose the Sent Date you wish to report on.

7) View your report


Happy reporting!

Understanding Status and Status Reason

Unlike Salesforce (SFDC), which has only a Status field, Microsoft Dynamics has the concept of Status and an associated field named Status Reason.  Status refers to the state of the record, in other words, on a Contact we can tell if the record is Active or Inactive, and on a Lead we can tell if the record is Open, Qualified, or Disqualified.  Status Reason - primarily on the Lead record - provides additional information about the reason the record is in a given state. For example, on a Lead record that is Open the user can indicate that the lead has been contacted.  In Dynamics, the Status Reason pick list can be edited by anyone with a System Customizer role, making it easy to change existing or add additional values.


Let's review the out-of-the-box Contact and Lead entities and their associated Status and Status Reason values:


A closer look at Status

In Marketo Lead Status is mapped to the Status field in both Dynamics and SFDC, but there are some differences to point out.


Below are examples of Dynamics out-of-the-box mapping for the Status field as compared to the same in field in SFDC:

  • Open = Lead
  • Active = Contact


In SFDC there are multiple Lead Statuses, yet there is no differentiation between the Lead and Contact Lead Status


Dynamics Lead Status Values








SFDC Lead Status Values


Status Field information in Dynamics

In Dynamics, the Status schema name is statecode.  Status shows whether the lead is open, qualified or disqualified.  Qualified and disqualified leads are read-only in Dynamics and can’t be edited unless they are reactivated.

Status Field information in Marketo

The Status field is a string field in Marketo and is mapped to both the Lead and Contact field in Dynamics.


A closer look at Status Reason

In Marketo, Status Reason is mapped to the Status Reason field only in Dynamics; out-of-the-box, SFDC does not have the concept of Status Reason.


Below is an example of Dynamics OOB mapping for the Status Reason:

  • New = Lead
  • Active = Contact


Dynamics Status Reason Values


Status Field information in Dynamics

In Dynamics, the Status Reason schema name is statuscode. Status Reason shows the lead’s status for each statecode (e.g. Open, Qualified, or Disqualified); it is associated information to the Status of the record.


Open Status:


Qualified Status:

Disqualified Status:

Status Reason Field information in Marketo

The Status Reason field is a string field in Marketo and is mapped to both the Lead and Contact field in Dynamics.


There you have it – a quick look at Lead Status related fields in Microsoft Dynamics and SFDC!