Knowledgebase

Sort by:
Please ensure that you have access to an experienced JavaScript developer. Marketo Technical Support is not set up to assist with troubleshooting JavaScript. Summary: Say you want to validate a custom field before someone submits a Marketo form on a Marketo landing page, then let Marketo do it's standard validation.   You can do that by overriding the formSubmit function in Javascript.  You can override it with a Custom HTML element for a single page; you can also add this Javascript to your landing page template so it affects many landing pages.   First, build a Javascript function to execute your custom validation (formIsValid() in the example below).  It should return a value of "true" if the fields validate. If not, return false.   Open the landing page for editing and drag a Custom HTML element onto the web page.  Paste in this Javascript and add your custom validation to the formIsValid() function.   <script type="text/javascript" src="/js/public/jquery-latest.min.js" language="Javascript"></script> <script type="text/javascript">      // set no conflict mode for jquery   var $jQ = jQuery.noConflict();   function myFormIsValid() {     var thisIsValid = true;     // Put your custom validation here.     // If anything goes wrong, set thisIsValid to false.         // for example, show an error message if the email contains "bob"     if ($jQ("#Email[value*=bob]").length > 0) {        Mkto.setError($jQ("#Email ~ span").prev()[0],"No Bobs allowed!");        thisIsValid = false;     } else {        Mkto.clearError($jQ("#Email ~ span").prev()[0] );     }     return thisIsValid;   }   function formSubmit(elt) {     if (!myFormIsValid()) {        return false;     }     return Mkto.formSubmit(elt);   } </script> Here's another example that checks if a required checkbox, such as a terms of service agreement, is filled before submitting: <script type="text/javascript" src="/js/public/jquery-latest.min.js" language="Javascript"></script> <script type="text/javascript">      // set no conflict mode for jquery var $jQ = jQuery.noConflict(); function myFormIsValid() {     var thisIsValid = true;       // show a message if they fail to check the box     if ($jQ("#TermsOfServiceAgreement").attr('checked') != true) {        Mkto.setError($jQ("#TermsOfServiceAgreement ~ span").prev()[0],"Please agree to the terms above.");        thisIsValid = false;     } else {        Mkto.clearError($jQ("#TermsOfServiceAgreement ~ span").prev()[0]);     }     return thisIsValid; } function formSubmit(elt) {     if (!myFormIsValid()) {        return false;     }     return Mkto.formSubmit(elt); } </script>   Follow these instructions if you want to retrieve the form fields via Javascript: Setting or Getting a Form Field Value via Javascript on a Landing Page The example above also shows you how to set an error field If you want to set or clear an error message on a field, you can use these two functions in your validation function. Note: These only work on form fields from the Marketo form designer. Replace the highlighted yellow bits below: Email -- the ID of the field where you want to show an error error message -- the text you want to display for this error           // error -- highlight the field           Mkto.setError($jQ("# Email ~ span").prev()[0], " error message ");             // no error -- clear the field           Mkto.setError($jQ("# Email ~ span").prev()[0]);  
View full article
Issue: With long options in a select (dropdown) list, Internet Explorer will not expand the values as Firefox, Chrome and other browsers will do. This makes reading the values in the dropdowns impossible.     Solution: Insert the following Javascript/CSS in a Custom HTML box on your landing page. This script will only run if IE is used.   < script src="/js/public/jquery-latest.min.js" type="text/java script "></ script > < script type="text/java script "> var $ = jQuery.noconflict(); $(document).ready(function() { if ($.browser.msie) { $('selec t.mktFormSelect') .bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); $(this).parents('li').addClass('liexpand'); }) .bind('click', function() { $(this).toggleClass('clicked'); }) .bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); $(this).parents('li').removeClass('liexpand'); }}) .bind('blur', function() { $(this).removeClass('expand clicked'); $(this).parents('li').removeClass('liexpand'); }); } }); </ script > <style type="text/css"> select.expand { width: auto !important; position: absolute; } li.liexpand { padding-bottom: 22px !important; padding-bottom: 9px !important\9; } *+html li.liexpand { padding-bottom: 9px !important; } </style>      
View full article
Question: How do I add a link to my lead/contact's Salesforce detail page when sending an alert from Marketo?   Answer: If the lead or contact is in both Marketo and Salesforce at the time when the alert email is sent, then the link to the Salesforce detail page will be automatically appended to the alert email sent by Marketo.   Note You will need to use the "Send Alert Info" token within your Alert email while designing your email in the Design Studio of Marketo.     Below is what the generated alert looks like once it is sent from Marketo (note the link to the Salesforce detail page is automatically inserted):     Note if the lead or contact is not in Salesforce then there is no link to the Salesforce detail page:  
View full article
If you sent an email from the Lead Database (as a Single Flow Action), as part of a campaign, or as a test email but didn't receive it, here are some tips.   Check the "From:" address   When sending a test message, make sure to check the "From:" address setting on your message. To do this, go to the Email Settings tab of the email editor. In the "From:" field, make sure that you either have a single valid email address, or a valid email address as the default, if you are using a token.   Many people want to send their messages from the lead owner. When you use the send test feature, the email address you are sending to doesn't have a full lead record, and so it doesn't have a lead owner. Since Marketo cannot send an email with no "From:" address, test messages without a valid email address in the "From:" field will not send.   Send as a Lead   If you have verified that the email had a valid From: address and you still aren't getting it, make sure to create yourself as a lead and send using a flow action.   See if the mail was sent   If you sent the email as part of a campaign or Single Flow Action, check the campaign's Results tab or your lead detail page to see if that mail was already sent to you. If it hasn't been sent yet, try waiting a little while longer.   Check your Junk Mail   In your email client, check your Junk Mail or Spam folder to see if the mail landed there. If it did, you should change the content of your email.   Check your corporate spam filter   Your corporate mail server may have blocked emails from Marketo; you should contact your IT department to see if this is the case. Please see our instructions for whitelisting Marketo's email servers: Add Marketo to Your Corporate Email Whitelist   Try sending to a different recipient   If you sent the original mail to your corporate account, try sending to a personal account on Yahoo or Gmail. If you sent it to a personal account, try your corporate mail account.    Use Marketo's Email Deliverability product   The Email Deliverability PowerPack , with Design Informant and Inbox Informant, can warn you when your mail is being rejected because of its content and help you identify junk mail pitfalls. Also, using Domain Keys and SPF improve the chances of your email landing in your leads' inboxes.   Contact Marketo   If you still can't figure out what happened contact Marketo to see if we can help.
View full article
Some fields in Marketo are read-only. It is not editable by completing forms, Change Data Value flow steps, on the lead detail page, or list imports. Here is a list of many of those fields: SFDC lead fields Lead Owner First Name Lead Owner Last Name Lead Owner Email Address Lead Owner Phone Number Lead Owner Job Title SFDC Campaigns SFDC Type   SFDC Opportunity fields   Number of Opportunities Total Opportunity Amount Total Opportunity Expected Revenue Other built-in and custom opportunity fields   SFDC Account fields   SFDC Accounts are not editable from Marketo   Marketo lead management system fields Anonymous IP Black Listed Cause Created Date Deleted In Sales Do Not Call Cause Email Suspended Email Suspended At Email Suspended Cause Full Name Inferred City Inferred Company Inferred Country Inferred Metropolitan Area Inferred Phone Area Code Inferred Postal Code Inferred State Region Is Anonymous Lead Partition Revenue Cycle Model Lead Revenue Stage Marketing Suspended Cause Original Referrer Original Search Engine Original Search Phrase Original Source Info Original Source Type Parent Company Name Registration Source Info Registration Source Type Unsubscribed Cause Updated   Sales Insight system fields   Last Interesting Moment Date Last Interesting Moment Desc Last Interesting Moment Source Last Interesting Moment Type Priority Relative Score Relative Urgency Urgency   Salesforce custom objects SFDC custom objects are all read only
View full article
In some cases, you may want an iframed Marketo form to open in the parent page.   Note: Please ensure that you have access to an experienced JavaScript developer. Marketo Technical Support is not set up to assist with troubleshooting JavaScript <script > MktoForms2.whenReady(function (form) {     var form = MktoForms2.getForm(FORM_ID_HERE);     form.onSuccess(function (values, followUpUrl)     { window.top.location.href = followUpUrl; return false;     }); }); </script> To figure out what the form id is, the easiest way is to look at the embed code. It is the 4 digit number on the second line.
View full article
  Market Support is here to help you with your issues in the quickest and most effective manner possible.  In order for us to do that, there are a few things we really need from you before you click the submit button to create a support case with us.   First, have you searched the community for a solution? The best kind of support case is the one you don't have to submit.  The Marketing Nation Community is an expansive site with a lot of content.  Have you checked Product Docs or Support Solutions for a resolution to your problem?  Have you checked to see if there is a community discussion thread that covers your question?  The Marketing Nation community is a 24 x 7 customer resource and a quick search for a keyword and phrase maybe all that separates you from a solution to your problems.   Second, what's the best way to reach Marketo Support? Marketo Support offers a variety of ways to reach our support team.  Depending on your issue, some of the support channels might be better suited than others.   Please be aware that only contacts from your company/organization that have been identified as an authorized support contacts or authorized support administrators can submit cases to Marketo Support.       Marketo Support (Support) The Marketing Nation Support area features a case submission application that allows you to select your case priority and also select what the Case Issue and Sub-Issue is.  These selections allow our automated case routing system to assign the case to the available support engineer that can best assist you.   Spark customers can submit cases through the support portal only
View full article
Article Text So you’ve now used the previous document (Getting Started With Guided Landing Pages:) to download a template from our library and set it up in your Marketo instance, you have even used it to make a landing page or two and you’ve customized those landing pages, AND you’ve even gone the extra mile and customized your template and modified some elements! (Editing Marketo Guided Landing Page Templates, Pt. 1 - Elements:) All of which is fantastic news! Good job!   But if you recall from the article that showed you how to edit Elements on the template, I skipped right over the section on Variables. This is the piece that this document is designed to tackle.   So what is a variable? If you edit a Guided Landing Page you will see a panel on the right hand side that displays both Elements and Variables. In this instance, the variables do everything from assigning a gradient color, to deciding if you want to display or hide different sections of the landing page. Modifying a variable in the landing page editor is designed to be really simple, just click the variable you want to change and give it a new value. Here I changed the Primary Gradient 1 and 2 from 1DA083 and 0F3450 to A00E35 and F2F2F2 respectively and the landing page changes: At its easiest to understand, a variable works a lot like a token in an email. It’s a placeholder for actual code to be used later. So if I create an email that starts with “Hello, {{lead.firstname:default=Friend}}!” you can tell right away what that’s going to do. Pull the first name from the lead record, if none exists use the word “Friend”.   Think of a Variable as a token that you get to define as well as use. The first step is to define it and the second step is to actually call back to the variable you defined.   While it’s easy for a non-technical user to use a variable (as it should be!), setting one up in the template does require a fair amount of HTML knowledge. As stated before, if you are not comfortable editing HTML and do not have a resource available to you, please reach out to services@marketo.com, they are able to assist with any sort of coding needs.   So as before, let’s dive into the template, this time we’re going straight for the Variable code.       <!-- Marketo Variable Definitions -->     <meta class="mktoColor" id="gradient1" mktoName="Primary Gradient 1" default="#1da083">     <meta class="mktoColor" id="gradient2" mktoName="Primary Gradient 2" default="#0f3450">   So right at the start of the template, we’re off to the races defining variables. As you can see with the Gradient 1 and Gradient 2, these are both marked with a class of “mktoColor”.   As with the Elements, the full list of Variable types can be found here: https://docs.marketo.com/display/public/DOCS/Create+a+Guided+Landing+Page+Template        class : "mktoString"      class : "mktoColor"      class : "mktoBoolean"   A string is a variable that contains a value, Color should be obvious what that does and Boolean is a yes or no choice.   In addition to the class, each variable has to have a unique ID. This is critical and used when the variable is called later on down the page. When you call a variable it’s always with the syntax of ${id name}. So in this case ${gradient1} and ${gradient2}. As you can see it looks a LOT like a token but it’s a token you can name whatever you want.   The mktoName is how it displays the variable in the Landing Page editor.   The default value is what it starts out with.   So let’s take a look and see how these Gradients are applied now that they’re defined at the top of the template.   Color is typically used in the CSS portion of the header. As defined in the previous document, CSS stands for “Cascading Style Sheets” and is a way of formatting the same thing over and over again, kind of like setting a font in a word processor.       /* Header Gradient */     #is {         top: 0;         width: 100%;         min-height: 620px;         position: relative;         z-index: 1;         color: #fff; padding-top: 10%;                 background-image: linear-gradient(${gradient1},${gradient2});     }   Now normally in CSS, the linear-gradient option would have two colors listed, the top color and the bottom color and it provides a gradual transition from one to the other.   We could just as easily change this in the template to        background-image: linear-gradient(red,white);   But the problem doing that is that an end user, who is only using the Landing Page Editor, would not be able to change it. The gradient would be defined in the template and inaccessible to the Editor.   Changing these values to the variables defined before allows the user to change the first and second colors in the Landing Page editor interface.   In Summary:   The Meta Tags define what the variables mean:     <meta class="mktoColor" id="gradient1" mktoName="Primary Gradient 1" default="#1da083">     <meta class="mktoColor" id="gradient2" mktoName="Primary Gradient 2" default="#0f3450">   The ID= is then used to call the variable and put it into action:       background-image: linear-gradient(${gradient1},${gradient2});   The other benefit to doing it this way is you can re-use the same variable over and over again. Look at this piece of CSS:   body {                 background: ${gradient2};         margin: 0;         color: #696E74;     }   That’s the same ID as the gradient we used before, only applied to a different section. This ensures that the bottom color of the gradient and the background of this section will always be the same color.   Any item in the CSS that contains a text value, a color value or a yes/no choice can be converted to a Variable.   Here’s another common usage:   You’re using a form on your landing page, but you want the end user to be able to change the text on the submit button.   As before you define the variable:        <meta class="mktoString" id="section4ButtonLabel" mktoName="Sec. 4 Button Label" default="More Questions?">   Then farther down the page where the button appears you call the variable you defined before:        <div class="centered mtb">           <a href="${section4ButtonLink}"><button class="btn btn-lg btn-green mt">           ${section4ButtonLabel}</button></a>      </div>   The <a href= is pulling a http link that the user can define in the editor, the button class is setting up a green button as defined in the CSS, and there is our Variable to display the label which reads “More Questions?” Here’s what it looks like in the editor: So this is great, and it makes sense because you can see this was all set up and defined by a professional. What if you wanted to add your own? Is that even possible?   Naturally it is!   First, figure out what you want to convert to a Variable. Is it a piece of text like a button name or a link? Is it a color? Is it a yes/no choice?   Let’s say we want to add a variable that controls the color of the buttons. We have two, both using the same color green, and we want whoever is running the landing page editor to change that without having to go to the template:   Step 1: Define your variable:        <meta class="mktoColor" id="ButtonColor" mktoName="Button Color" default="#1DA083">   We’re talking about colors so the class will be “mktoColor”. The ID can be anything we want it to be as can be the mktoName. The default is the same lovely green shade as was used before.   Now we need to call this color.  Looking at the CSS, we can see the .btn-green is defined as this:        .btn-green {           border: 4px solid #1da083;           border-radius: 60px;           color: #fff;           background: #1da083;           -webkit-transition: none;           -moz-transition: none;           transition: none;      }   The background is the color we want to change to a Variable so it can be edited without having to access the template.   Change the code to this:        .btn-green {           border: 4px solid #1da083;           border-radius: 60px;           color: #fff;           background: ${ButtonColor};           -webkit-transition: none;           -moz-transition: none;           transition: none;      }     Approve the template and check out the landing page in the editor: Well that’s fantastic, but there’s a separate color for the border, we could just as easily add a variable for it as well:        border: 4px solid #1da083;   We don’t want to HAVE to add another new variable for just the border. We could change the border at the same time as the button. By changing #1da083; to ${ButtonColor};   The trick now becomes what if you change your mind? What if you have a variable in the template that is no longer desired? How do you get rid of it?   Remember each variable is two pieces, the definition and the call. You have to remove BOTH pieces. Technically removing the call would be enough to prevent the change from being made on the page, but the definition is what makes the variable appear in the Landing Page Editor, if you only removed the call then there would be a non-functional Variable in the landing page editor.   So in the case of our button color:   Step 1 would be to strip out the meta tag containing the definition:   Step 2 would be changing the variable name where it’s being used to some fixed value:        .btn-green {           border: 4px solid #1da083;           border-radius: 60px;           color: #fff;           background: ${ButtonColor}; -> change this to some other fixed color. #00FF33; or the original #1da083;.           -webkit-transition: none;           -moz-transition: none;           transition: none;      }   Doing both pieces will prevent the Variable from being listed in the Landing Page Editor and prevent it from having any effect on the page.
View full article
Issue Issue Description Marketo allows you to upload any file type to your instance (100MB or less) but these files don't always download automatically or open in a new browser tab or window consistently between users.   Solution Issue Resolution Marketo's servers are not configured to force a download, so any desired effect is up to the user and/or utilizing custom code to achieve that effect. How a file is handled or displayed is largely up to the browser and you will need to test whether your specific desired outcome is possible. Keep in mind, this may vary by file type and file size and may not be feasible.  
View full article
Issue Issue Description You encounter the error "You do not have permissions to do this" in one of the following situations: When you are creating an email template, you click on the Validate HTML button When you are trying to edit an existing email     Solution Issue Resolution This error is caused by Javascript in the HTML of the template. Email clients do not often allow <script> and Javascript in their Emails, so even though the email asset may be able to be approved, the email will present this error if attempted to be edited again or if you attempt to validate the HTML.   The solution in this situation would be to remove the <script> tag, including all Javascript, from the email HTML. After this, you should be able to edit the email or validate the HTML.   If you are unable to actually edit the asset, the workaround is to clone the asset.  If you clone the email, it can open in the editor and then you have the ability to remove the script. After this, the email will be good to go.    
View full article
Issue Issue Description Some tokens in "Show Custom HTML Form for Known People" under Form settings don't populate.     Solution Issue Resolution There are four default tokens that Marketo puts in by default: {{lead.FirstName}}    {{lead.LastName}}    {{form.Button:default=Download}}    {{form.NotYou:default=Not you?} Only the four tokens above can be used. Any other token will not work here.             Who This Solution Applies To
View full article
Issue Issue Description When any link within an Email is clicked, the user is redirected to the wrong page.   Solution Issue Resolution This can occur when Branded Tracking Links have been incorrectly configured and the user is being redirected to the fallback page. The following checks should be conducted: 1. Ensure the correct Branding Domain is listed in Admin > Email > Branding Domains. 2. Ensure your IT team have set a CNAME record to redirect from your Branding Domain to your Marketo Tracking Link. (e.g.mkto-****.com) Who This Solution Applies To Customers using Branding Domains
View full article
Issue Issue Description When selecting an image to display on a landing page, the image shows as a featureless grey box or blank space. There are also spaces in the image's file name.   Solution Issue Resolution Ensure that there are no spaces in the image's file name in Marketo. If there are, remove the spaces from the file name and re-upload.   
View full article
Issue Issue Description Landing Page is not selectable as a Web Page constraint value for a Fills Out Form trigger.   Solution Issue Resolution Check if Landing Page is Approved Check if Landing Page is within the same workspace as the Smart Campaign with the Fills Out Form trigger [Note: this condition is only applicable if there are workspaces within the instance] Check if Landing Page is NOT within an archived folder Check if Landing Page has a form associated with it. If not, then it will not appear as a selectable option as Web Page constraint. While it is possible that a form can be inserted directly into the HTML of the landing page template, the landing page will not be associated with the form in this way.   For a Landing Page to be a selectable option as a Web Page constraint it must be associated with a form by inserting the form to the landing page via the UI as illustrated in our docs below: http://docs.marketo.com/display/public/DOCS/Add+a+New+Form+to+a+Free-Form+Landing+Page http://docs.marketo.com/display/public/DOCS/Add+a+Form+to+a+Guided+Landing+Page
View full article
Issue Issue Description The user role has all the permissions to Design Studio, but whenever trying to preview an email, a limited access message is displayed: "You do not have sufficient privileges to perform this action"     Solution Issue Resolution The user role must have permission to 'Access Database'. The full access to Database is not needed, just the main access by selecting 'Access Database' and unchecking everything else underneath The reason for this permission is that, when previewing emails, you can select to preview an email as a specific lead. In order for this to happen, users will need access to leads. 
View full article
Issue Issue Description When validating the HTML of a template, you receive an error of 'Error: Nested Editable Element: ...' with the id of the element following causing you to not be able to approve the template.   Solution Issue Resolution This is due to having an element with a 'mkto...' class nested inside another element with a 'mkto...' class. Below is an example:    <div class="mktEditable">      <div class="mktEditable"></div> </div>   You will need to remove the 'mkto...' class reference from one of the elements to be able to pass validation and approve the draft as in the corrected example below:    <div class="mktEditable">      <div class="newClassName"></div> </div>  
View full article
Issue You would like to know which partition a record that was captured by using "Forward to a friend link" in an email will be created in. Solution The record will be created under the partition which is associated with the work space under which the email asset is present. The record will not be created under the default partition.  For example, if you have a workspace named "Asia" which is connected with the partition named "APAC", then leads created via Forward-to-Friend links in emails stored in the "Asia" will be created in the "APAC" partition.
View full article
Issue After the switch to a secured domain (from http -> https), landing pages display both a broken format and mixed content warnings. Solution Make sure all links referenced in your Landing Page Templates and Landing Pages are secured, in other words served with the https:// appended in the front and not http:// Step 1: Open up Landing page with non secure warning sign Step 2: On Google Chrome right click on the page that is displaying the warning and select "Inspect." On Mozilla Firefox it's called "Inspect Element." Look for any "Mixed Content" warnings. Step 3: Find and address the links that are referenced in the error messages **If the link that is unsecure is a custom CSS file, these files will need to be moved and hosted in a secure location so that the links are loaded over https.   Who This Solution Applies To Customers with Secure Domains for Landing Pages Service
View full article
Issue You go to a Marketo form that has prefill enabled and see that it contains some other person's information. Solution Form prefill can display another person's information if a Marketo email sent to one person is then forwarded to someone else.   Clicking on another person's tracked link cookies you with their information and causes it to prefill in the form.   To correct this, clear the cache and cookies on your browser.   If you would like to make sure this does not occur with your customers, please disable form prefill for the fields on your form.   There is nothing wrong with the forms or landing pages themselves, it is simply a matter of another person's cookie being placed on the browser by the forwarded email tracking link.  
View full article
Issue Can the {{system.unsubscribeLink}} be customized to point to a different page, such as a preference center?     Solution Issue Resolution The system token unsubscribe link  will always behave the same way, and it cannot be customized.  The {{system.unsubscribeLink}} will always bring you to: sub.domain/UnsubscribePage.html. If your Landing Pages are not branded, this system token will still behave the same way and take the lead to your out-of-the-box Marketo Unsubscribe Page (ending in /UnsubscribePage.html). If you want the link to go to a different page, the easiest workaround is to create a redirect rule that sends visitors to UnsubscribePage.html to your custom page instead.
View full article