Knowledgebase

Sort by:
  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
  Marketo now fully supports responsive landing pages, we call the new style a "Guided Landing Page". A Guided Landing Page is one that is capable of dynamically resizing itself for different window sizes and devices. If you’ve used the Marketo interface to set up an Email Template and an Email, the basic concept of setting up a responsive template and landing page will feel pretty familiar.   First you have to define a template that contains the editable areas of the landing page, once that is completed you use that template to build the landing page. Unlike the Email editor however, constructing and altering a responsive landing page template will require a minor amount of HTML knowledge.   If you are not comfortable in HTML and do not have an HTML developer available to assist you, Marketo’s services team can help! You can reach them at services@marketo.com   To get started, first visit our Template Library for Guided Landing Page Templates located here: https://docs.marketo.com/display/public/DOCS/Guided+Landing+Page+Templates;jsessionid=5D71353C1CBF708DEC3DAB1588E78B4F     Select the template you’d like to use, right click the link and select “Save Link As” to download the HTML code.   Once the template is saved locally on your computer, go to where it’s saved and open it in the text editor of your choice. What you’ll see is a whole bunch of HTML:     In your text editor, use CTRL-A to select all and CTRL-C to copy it to the clip-board. (On a Mac this is Command-A and Command-C) then log on to your Marketo instance.   In your Marketo instance, go to the Design Studio and select “New Landing Page Template”     In the New Landing Page Template window, assign your template a folder and a name, then make sure the editing mode is “Guided”. The “Free-form” mode is for the non-responsive templates that we had before. Click “Create”!     Now we’re ready to replace the sample template code with the code you downloaded from the Template Library.   CTRL-A (Command-A on a Mac) will select the starter code and CTRL-V (Command-V) will paste the template code right over the top of the existing code. The template will save itself automatically when finished.     Now that the template is ready to go, we’re ready to see it in action!   Using a Marketo Guided Landing Page Template:   Now that we have a template created, we’re ready to start using it. Close the template tab where the code is and go back to the Design Studio.   Select the template you just created and approve it.     Once the template is approved, you can use it to create a landing page. In the new landing page window, assign a folder and a name and select the template you just created. Click “Create”!   You can always identify which templates are responsive and which are not by looking for a little window icon on the right hand side. If the window icon is present then that template was created using the new Guided editor and is fully responsive. If the window is not present, then that template was created using the old editor and it’s NOT responsive. You cannot automatically convert an old non-responsive template to a new one.   Congratulations! Your new responsive template is ready to use!   Please see our documentation here on how to edit a Guided Landing Page:   https://docs.marketo.com/pages/releaseview.action?pageId=7515306      
View full article
    Overview Add Leads to Static Lists Use Custom Fields Overview Lead records have two primary components – lead attributes and activity logs. Lead attributes are the fields and field values within the lead record. For example, Job Title is a lead attribute. Lead Name is a lead attribute. Activity logs record the actions Marketo or the lead themselves have taken. For example, sending an email to a lead is an activity that would show in the activity log. If the lead opens the email or visits a tracked page, those activities would show in the activity log as well.   Activities in the activity log are only retained for 90 days, 25 months, or 37 if you have purchased the premium data retention option. The official Marketo Data Retention Policy can be found here:  Marketo Activities Data Retention Policy   The main way to store activity data beyond the Data Retention Policy timeframe is to use the Bulk Extract API. There are two other ways you can keep a reference of these activities after the end of the Data Retention period, and they can be referenced within the Marketo UI. This article will show you how that can be done.     Add Leads to Static Lists Static lists will retain lead membership even if the activity of adding the lead to the list has been removed. This will let you have lists dedicated to specific criteria that would otherwise be removed after the data retention time period has been passed.   For example, Smart Campaign membership history is not retained after 25 months. If you are searching for members of a Smart Campaign, but a lead first became a member of the Smart Campaign more than 25 months ago, the search results would not include that lead.   An easy way to work around that is to add your leads to a static list as part of the flow of the campaign. When creating your Smart Campaign, create a new static list with the same corresponding name (makes it easier to identify later). When building the flow of your campaign, add the "Add to List" flow step so that all leads going through the campaign will be logged on the list.         Use Custom Fields Lead attributes and their field values are not affected by the Data Retention Policy. Use Smart Campaigns to populate custom fields with values based on activities your leads take. This will allow you to filter leads by these lead attributes that are not affected by the Data Retention Policy. A side benefit to this is that it is faster to search by lead attributes than by searching through lead activity logs.   Example: This approach can work for many different activities, but let’s use form fill outs as an example.   Let’s say you want to be able to identify leads who have been very active and have filled out more than 5 forms over their lifecycle. You could use the filter “Filled Out Form” with the “Min. Number of Times” constraint set to 5. However, if one of those forms filled out occurred more than 25 months ago, the filter would only be able to access 4 form fill activities in the activity log. Therefore, the lead would not pass the filter.   Instead of using the “Filled Out Form” filter, set up a Smart Campaign to write to custom fields that show you how many forms they’ve filled out, and when the first one was. Here’s how to do it:   1. Create two new custom fields in Marketo, one Score Field, and the second a Date Field.   2. Create a new Smart Campaign   3. Add the trigger “Fills Out Form” set to “is any” to the Campaign Smart List     4. Add these two Flow Steps to the Campaign Flow: Flow Step 1 : “Change Score” Score Field Name: your score field name Change: +1   Flow Step 2 : “Change Data Value” Add Choice to Flow Step Choice 1: If “your score field name”  “is empty” Attribute “your score field name” New Value: {{system.date}} Default Choice: Do Nothing       This campaign will listen for any time a lead fills out a form, add +1 to your score field, and if it’s the very first form they’ve ever filled out, it will log the date of when it was done. If the lead has ever filled out a form in the past, there will already be a date value in the date field, so the flow choice would just skip over it and do nothing.       Results You’ll See: With the original goal of identifying leads who have filled out more than 5 forms you’ll be able to filter for leads that have filled out at least 5 forms. In addition, this campaign will let you search for leads based on when they had filled out their very first form, regardless of how long ago it was. Since it’s stored in a lead field, it’s a lead attribute that is not affected by the Data Retention Policy at all.        
View full article
  This is a article attached image Marketo offers a number of ways to contact Marketo Support directly for assistance from our different support regions.   Support Portal Please log into your Instance and then Navigate to "Community." This will take you to Marketing Nation and from there you can reach the Support Portal by clicking "Support."   The Marketo Support Portal features a web form submission to submit support cases to Marketo Support.  The form gives authorized support contacts the ability to provide details on the support issue that allows Marketo Support to efficiently and effectively assign your case to the best suited available support engineer. This is a article attached image   Email to Case Submission Authorized Support Contacts can email their cases to: support@marketo.com Reminder: Cases submitted by email are all submitted with a P3 Priority   Regional Phone Contact Information Marketo does feature the tried and true means of contact support, by the phone.  Authorized Support contacts with any support entitlement of Business level or higher can contact Marketo Support by calling one of the regional phone numbers listed below.   Region Contact Details Observed Holidays North America Hours: M-F, 6am to 6pm Pacific Toll Free US: +1.877.270.6586 Direct: +1.650.376.2303 Languages Supported: English, Spanish New Year's Eve and Day Independence Day Thanksgiving Day and the Day After Christmas Eve and Day Europe, Middle East, Africa Hours: M-F, 8am to 5pm GMT Europe: +353 (0)1 242 3030 UK: 0800 151 3030   Languages Supported: English, French, German, Portuguese New Year's Eve and Day Easter Monday Christmas Eve and Day St. Stephen's Day Asia Pacific Hours: M-F, 9am to 6pm AUS EST ANZ: +61 2 8310 7646 Language Supported: English New Year's Day Good Friday Easter (following Monday) ANZAC Day Christmas Day Boxing Day Japan Hours: M-F, 9am to 6pm JST JPN: +81 3 6478 6080 Language Supported: Japanese New Year's Day Coming of Age Day National Foundation Day Emperor's Birthday Spring Equinox Showa Day Constitution Memorial Day Greenery Day Children's Day Marine Day Health and Sports Day Respect for the Aged day Fall Equinox Labor Thanksgiving Day  
View full article
  Full Details of all Marketo Support Offerings:   Support Levels Offered Service Level Response Targets   Global Contact   https://support.marketo.com :            Online Support Portal for Case management and Knowledgebase search support@marketo.com :                     Email to Case Submission supportescalations@marketo.com :   Contact Support management regarding Support services marketocares@marketo.com :            Questions regarding Support or Community access   Regional Contact Information Americas: Hours: M-F, 6am to 6pm Pacific Toll Free US: +1 877 270 6586 Direct: +1 650 376 2303   Languages Supported: English, Spanish Observed Holidays: New Year's Day Independence Day Thanksgiving Day and the Day After Christmas Day New Year's Eve Europe, Middle East, & Africa: Hours: M-F, 8am to 5pm GMT Europe: +353 (0)1 242 3030 UK: 0800 151 3030   Languages Supported: English, French, German, Portuguese Observed Holiday: New Year's Day Easter Monday Christmas Day St. Stephen's Day Australia Hours: M-F, 9am to 6pm AET ANZ: +61 2 8310 7646   Languages Supported: English Observed Holiday: New Year's Day                             ANZAC Day Christmas Day                             Good Friday Easter Monday                             Boxing Day Japan: Hours: M-F, 9am to 6pm JST JP: +81 3 6478 6080   Languages Supported: Japanese Observed Holiday: New Year's Holiday                      Marine Day Coming of Age Day                      Respect for Senior Citizens Day National Founding Day                National Holiday Spring Equinox Day                     Autumnal Equinox Day Day of Showa                              Sports Day Constitution Memorial Day          Culture Day Green Day                                   Labor Thanksgiving Day Children's Day                             Emperor's Birthday Substitute Public Holiday             Year End After-hours Support for Production Down Issues: Online: Enter a Support Portal Case with Priority=P1 Phone: Call Support Line and follow the P1 prompts   Initial Response SLT We ask that you use the following priority definitions when setting your case priority: Priority Description P1 Mission Critical: Core Business function down or potential loss of mission critical data P2 Urgent: Major feature or workflow is not functioning, mission critical workflow and majority of user community is not blocked P3 Important: Normal usability or task completion is impacted but functional or workaround is available P4 Minor: Minor issue requiring a correction, normal workflow is not impacted  
View full article
To customize the validation message, you can add javascript to the template of the landing page the form is on.  Unlike default language settings on a form, customized messages work only on landing pages using the modified template.   Note: Please ensure that you have access to an experienced Web developer. Marketo Technical Support is not set up to assist with troubleshooting code.     Open up your landing page template for editing.   For all languages you wish to modify, paste this javascript code (with your modifications) at the end of your template before the </body> tag.  For more languages, see this javascript file.   <script type="text/javascript"> Mkto.messages = { English : { required : "This field is required", selectRequired : "Please select a value for this field", emailInvalid : "Please enter a valid email address", telephoneInvalid : "Please enter a valid telephone number", pleaseWait : "Please wait" }, French : { required : "Ce champ est requis", selectRequired : "Sélectionnez une valeur pour ce champ", emailInvalid : "Entrez une adresse e-mail valide", telephoneInvalid : "Entrez un numéro de téléphone valide", pleaseWait : "Veuillez patienter" }, German : { required : "Dieses Feld ist erforderlich", selectRequired : "Wählen Sie einen Wert für dieses Feld", emailInvalid : "Geben Sie eine gültige E-Mail-Adresse ein", telephoneInvalid : "Geben Sie eine gültige Telefonnummer ein", pleaseWait : "Bitte warten" } }; </script>     Tip: You can include multiple languages in a single template.  The language selection on the form will determine the language that gets shown.
View full article
Sometimes you may see a link in your email that isn't decorated when you mouse over it.  That same link isn't tracked when you click it.   Check that there is a link The most common solution is to add a link to the email.  Many email clients will automatically add links to when the text looks like a URL.  For example, here's a link as it was typed in an email: But Outlook renders that text as a link: To fix this, edit the email and add a link to the URL by highlighting the text and clicking the link icon in the HTML editor. It may seem redundant to put a link on a URL, but this will allow the link to be tracked.   Check the <a> tag   If you edited the HTML, check to make sure it's correct.  Check if the: href is enclosed with quotes <a> is opened and closed correctly   Check for class="mktNoTrack" If you edited the link with class="mktNoTrack", the link will not be decorated by Marketo.  You'll have to remove that class from the email template or email body, depending on where it is.   When using tokenized URLs, make sure the "http://" is outside the token Tokens are populated in the email construction process after the tracking links are inserted, so in order for Marketo to understand a tracking link needs to go there, it needs to see the "http://" before the token is inserted in the email.
View full article
Here's how you can use tokens and URL parameters to automatically assign leads to Salesforce campaigns after filling out a form.  These tokens work in all of the Salesforce campaign flow steps:   Add to Salesforce Campaign Change Status in Salesforce Campaign Remove from Salesforce campaign   Get the Salesforce campaign ID and status   You need two things to begin this process -- the name or ID of the Salesforce campaign you want to sync to and a valid status in that campaign.  You can get the ID for the campaign by opening that campaign in Salesforce and copying the last 15 characters from the URL.  Here's an example campaign URL; the ID is highlighted:   https://naX.salesforce.com/ 701F00230001Z9z   To get the valid statuses, click on "Advanced Setup" on the campaign's page     The status should be listed there:     Create new fields   First, you need to create two new fields -- "SFDC Campaign ID" and "SFDC Campaign Status" -- both of type "string".  You can create these on your lead and contact records in Salesforce, or contact Marketo support to add those custom fields in your Marketo account.   Create or edit the form   After you create those fields, the next step is to incorporate them into your forms.  Create a new form or edit an existing form, then drag those two fields into your form.  Make them both hidden fields and set them to populate from a URL.  If you're unfamiliar with them, this article on hidden fields has details on how they work. Making a Field Hidden on a Form When setting the values for those fields, use a real Salesforce campaign ID and status as the default value.  Here's how you might edit the settings for those fields:   SFDC Campaign ID: Default Value: [a real Salesforce campaign ID or name] Populate from: URL Parameter Parameter name: campaignID   SFDC Campaign Status: Default Value: [a real Salesforce campaign status for the campaign you chose] Populate from: URL Parameter Parameter name: status   And here's what your form might look like when done:   Now you have a form that automatically add leads to the default Salesforce campaign you selected and that you can override with URL parameters.   Create a Smart Campaign   Next, you need to create a campaign that will add these leads to the selected (or default) Salesforce campaign.  We'll trigger this campaign to launch whenever someone fills out your form: In the flow, first you need to sync the lead to Salesforce so that you can add it to a campaign.   Then you can add it to the Salesforce campaign using the values in the SFDC Campaign ID and SFDC Campaign Status fields.  To do this, use the tokens for those fields in your flow step:  {{Lead.SFDC Campaign ID}} for the campaign name and {{Lead.SFDC Campaign Status}} for the status.  If you type "{{" in the fields, the auto-suggest will help you enter that text correctly:     Your finished flow should look like this:     Finally, in the schedule tab set this campaign to run every time and activate it.     Launch your landing page   If you modified a form already in use, you can now go to that landing page, fill out the form, and watch as your lead gets synced to the Salesforce campaign you chose.  If this is a new form, create and approve a new landing page which uses that form.  After filling out the form, you should see the lead added to the default Salesforce campaign specified in your form:     Use URL parameters to override the default campaign and status.  For our forms, the campaign is set by the "campaignID" URL parameter and the status by the "status" URL parameter.  For example, this URL:   http://offers.marketo.com/offers.html? campaignID=701A00000009K3l&status=Responded will assign the lead to the Salesforce campaign "701A00000009K3l" (the Salesforce internal ID) with the status "Responded."  If either value has spaces or special characters, make sure that you URL encode them before adding them to your URL.   Using tokens in other Salesforce campaign flow steps   These tokens work in all of the Salesforce campaign flow steps -- Add, Remove, and Change Status in SFDC campaign.  Follow the same directions as above but substitute the appropriate flow step in place of the Add to SFDC Campaign step.   Diagnosing errors   If your leads are not syncing to your Salesforce campaigns, first go to the Activity Log for that lead and double click the line that has the failed flow step. The information that appears will help you figure out what the problem might be. The most common errors you'll encounter are: Spelling errors in your tokens -- use the autosuggest to help Using an SFDC campaign ID or name that doesn't exist -- check the spelling of the campaign or ID The lead doesn't exist in salesforce -- sync the lead to Salesforce before adding him/her to your campaign Using a status that doesn't exist for that campaign -- change the status to one that does exist for the campaign, or add a new status to the campaign in Salesforce
View full article
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