Knowledgebase

Sort by:
Issue Description You are trying to add the Person Notes field to a Marketo form but the field does not seem to be available to drag into the form editor. Issue Resolution Remember, all fields will pre-populate with data from the CRM system. Person Notes is a dangerous field to use in a form because sales people will often put text in there that they never intend the lead to see.  We removed it form the form editor for this reason. You can, if needed, add another field in your CRM and it will be available to use in Forms.    
View full article
  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
  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, all of which is fantastic news! Good job!   But now you’re looking at the template and things need to be changed:   That’s a good start, but the Elements on the page may not seem “right” to you. We have an image on the left, a text headline on the right and a form below the text headline.   What if that’s NOT the layout you intended? What if, instead, you wanted the headline at the top, centered on the page and the image and the form side by side below the headline?   All of the elements on the template can be added, removed, re-ordered, changed up, switched out and modified. Doing so, however, absolutely requires knowledge of HTML. 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.   Editing a Template:   Let’s go back to the template we created before and edit it and see what we can do about that image, form and headline.   Every object on a Guided Template is called an “Element”, you can see a list of the elements being used on any given page in the right hand pane of the landing page editor. However, that’s not all the elements that can be used on a landing page.   The full list of template elements can be found here: https://docs.marketo.com/display/public/DOCS/Create+a+Guided+Landing+Page+Template   So looking at that list, and knowing we want to change the layout of a text headline, image and form, the Elements we should be looking for are marked like this: class : "mktoText" class: "mktoImg" class : "mktoForm"   That seems easy enough, let’s look at the code and see what we can see.   Scrolling down through the code you will see first a bunch of variables defined. Variables are another sort of item that can be changed on a responsive landing page, please see Editing Marketo Guided Landing Page Templates, Pt. 2 - Variables:  which follows this one.   Following that is a bunch of CSS code. 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. You wouldn’t want to have to re-set your font and size every time you start a new paragraph, right? CSS helps maintain a consistent look and feel across the entire document.   Following the CSS, we get to the main section of the template, the <body> section. The <body> tag typically contains what you and I would consider to be “THE” web page. Everything above the body helps define how the web page looks and feels, but the <body> contains the actual content.   Sure enough, right there inside the <body> tag on lines 290 to 295 are the Elements we’re looking for:   Each of the Elements we want to re-order are located inside <div> tags. A <div> tag is just a way of separating out one part of the page from the rest of the page. This section is marked as being “special” and the “class=” attribute is telling us in what way this section is special.   Each section starts with <div and ends with </div> closing it off. In HTML it’s important to close elements that have been started, so if we’re going to change the order of things, it’s important to select the entire section, from the <div to the </div>   More on HTML <div> tags here: http://www.w3schools.com/tags/tag_div.asp   HTML renders everything from left to right and from top to bottom. In the code, we are first defining the mktoImage, following that with mktoText and finally with mktoForm. That’s why the objects appear on the landing page in that order:   In order to change the layout in a specific way, we will have to take each of the <div> tags containing elements and place them in a table. A table is a way in HTML to order things in terms of rows and columns. The <table> tag is one of the oldest tags in HTML and works on pretty much every HTML capable device.   More on the <table> tag here: http://www.w3schools.com/tags/tag_table.asp   Wrapping the Elements in a table is pretty straightforward. Copy the code to a text editor:        <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>      <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>      <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>   Step 1 is to change the order, we want the text to come first:        <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>      <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>      <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>   Step 2 is to wrap the content in a table. Inside the <table> tag are special tags that define the rows and columns. <tr> sets up each row and as you saw with the </div> tag is marked with a </tr> ending the row.   <td> defines each column, I know it’s confusing having <tr> where “r” clearly means “row”. You’d think it would be <tc> for column, but trust me, it’s <td>.   More on <tr> and <td> here: http://www.w3schools.com/tags/tag_tr.asp http://www.w3schools.com/tags/tag_td.asp   <table>      <tr>           <td>                <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>           </td>      </tr>      <tr>           <td>                <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>           </td>           <td>                <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>           </td>      </tr> </table>   This is the basic structure of the table. There are going to be some tweaks needed, but let’s see how this looks first. Put this in place of the code currently in the template like so:   The indented tabs here aren't JUST for readability. The Guided Template Editor has build in code validation and it will return errors if you try to have your elements on the same line as the TD's and TR's. Make sure each item is on it's own line.   Go back and re-approve the draft and then edit the landing page we made before.   It’s not pretty, but that’s OK. First we have to get the structure the way we want it, making it look pretty is the very last thing we do.   What we have here is the text headline on the top, which is great. The image and the form are below, left and right, respectively, side by side. That’s just what we wanted.   The problem is that we have a row with one column on top of a row with two columns and that has skewed things slightly. Fortunately this is an easy fix. We just need to take the single column in row 1 and make it stretch across both columns in row 2.   To do that, we add an attribute. Attributes modify the way tags behave.   In the template go back to the code we inserted and find the <table> tag where we set the whole thing up. First we’re going to control the width of the table:        <table width=”100%”>   This tells the browser to render the table at 100% the width of the screen.   Now find the <td> tag that contains the text element.             <td>                <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>           </td>   Add the following attribute like so:             <td colspan=”2” width=”100%”>                <div class="centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's <br>Adventures in <br>Wonderland</h1></div></div>           </td>   So what we’ve told it here is to span two columns and take up 100% the width of the table, and since the table is already 100% the width of the screen, this should fit the page as well. We’ve also changed the class on the <div> so that it simply reads “centered”. This should center the title based on the CSS code defined above.   Now find the <td> tags that contain the image and the form and adjust them to 50% each like so:             <td width="50%">                <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>           </td>           <td width="50%">                 <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>           </td>   Go back and approve the template change and edit a draft of your landing page. There you go! Now if we were preview this and change the size of the window, we get this (image and form are blank as they have not yet been added.)
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
    Marketo offers a number of ways to contact Marketo Support directly for assistance from our different support regions.   Support Portal (https://support.marketo.com)   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.     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 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 New Year's Day Independence Day Thanksgiving Day and the Day After Christmas 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 Day Easter Monday Christmas Day St. Stephen's Day Asia Pacific Hours: M-F, 9am to 6pm Aus EST ANZ: +61 2 9045 2701 New Year's Day ANZAC Day Australia Day Queen's Birthday Labour Day Christmas Day Easter Monday Boxing Day  
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 25 months, or 37 if you have purchased the premium data retention option. 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
NOTE: To secure your Marketo landing pages requires either Marketo SSL for Landing Pages (obsolete service) or Secured Domains for Landing Pages. Please contact your Marketo Customer Success Manager for more information or to purchase.   With Marketo’s Secured Page Services: SSL for Landing Pages, Marketo customers were responsible for providing the original SSL certificate and updated certificates upon expiration. If you have reached this page because you are providing an updated certificate, an upgrade is required.   What’s changing: Marketo has discontinued the Secured Page Services: SSL for Landing Pages service and its manual certificate renewal process. This is being replaced with the Marketo Secured Domains for Landing Pages product which provides all needed certificates and manages renewals automatically.   Action Required: Please contact your Marketo Customer Success Manager to add the the Secured Domains for Landing Pages product to your subscription.   Once you’ve purchased Secured Domains for Landing Pages for your instance:   OPEN A NEW SUPPORT CASE Marketo login required. Select Case Type - "Help me setup/create" Select Case Issue - "System Configuration" If you have multiple instances, please provide us with the Munchkin Code (Found in Admin > Munchkin) of the instance that is ready. Format ###-XXX-###.   Marketo will then have certificates generated to cover all the domains and subdomains that you’ve set up in your instance. Within 3-business days, we will create a secure server endpoint. Please plan accordingly for this 72-hour turn-around-time.   How is the new Secured Domains for Landing Pages Better? With Marketo’s new Secured Domains for Landing Pages product, you no longer have to provide renewal/updated certificates to Marketo. We’ll procure any necessary certificates and manage their renewals automatically – giving you a more secure and convenient solution for securing your pages! For more information, please see our Overview & FAQ: Secured Domains for Landing Pages.   Do I have to upgrade? An upgrade is required. Marketo no longer supports the legacy Secured Page Services: SSL for Landing Pages certificate renewal process.
View full article
!!EASTER EGG!! The ball with the Marketo logo in the upper-left corner of the screen is your Superball.  Here's a quick trick to make it bounce like it did when you first got into your Marketo instance: Hold down Ctrl (Command for Macs) + Shift, then hit the 's' key. Happy bouncing!    
View full article
NOTE: To secure your Marketo landing pages requires either Marketo SSL for Landing Pages (obsolete service) or Secured Domains for Landing Pages. Please contact your Marketo Customer Success Manager for more information or to purchase.   If you have already secured your Marketo landing pages with Secured Domains for Landing Pages and now need to add additional subdomains to be served securely, please follow the steps below: Step 1. Create your new subdomains (CNAMEs and Domain Aliases) Step 2. Submit a support case to secure your new subdomain STEP 3: Create New Landing Pages   Step 1. Create your new subdomains (CNAMEs and Domain Aliases) To secure a new subdomain, please create the CNAME(s) and domain alias(es) in your instance. For more information on this, please see: Add Additional Landing Page CNAMEs.   Step 2. Submit a support case to secure your new subdomain Once you’ve created the new subdomain (CNAME and domain alias), please click the link below to create a support case. OPEN A NEW SUPPORT CASE Marketo login required. Select Case Type - "Help me setup/create" Select Case Issue - "System Configuration" If you have multiple instances, please provide us with the Munchkin Code (Found in Admin > Munchkin) of the instance that is ready. Format ###-XXX-###.   Marketo will have any additional certificate(s) generated and loaded to cover the new subdomain(s). This step may take up to 3-business days. Marketo will contact you when this step has been completed.   STEP 3: Create New Landing Pages Once you receive confirmation that the subdomain has been added, you can now create new HTTPS landing pages. Please be sure all images, JavaScript files and other external links in your landing pages are HTTPS. If you previously created landing pages, please review each of these and update all references to HTTPS. Please contact Marketo Support with any issues you may encounter.   If you purchased the SSL for Landing Pages service, you may need to upgrade to Secured Domains for Landing Pages, our new solution to secure landing pages.  Please contact your Marketo Customer Success Manager to add Secured Domains for Landing Pages to you subscription. Please note, with this upgrade, Marketo will provide the required certificate(s) and manage their ongoing approval.
View full article
  What is the Email API? What is the Email API used for? What is Email 2.0? Does the Email API Work on Email 2.0 Assets? Will the Email API Break when Enabling Email Experience 2.0? How Are 1.0 Assets Upgraded to 2.0 Assets? What to Do When an Email Was Accidentally Converted to Email 2.0 format?     What is the Email API? API stands for Application Programming Interface and the Email API allows an automated process to create and edit emails in Marketo. There are also other API calls that involve emails, such as Approve Snippet (assuming the Snippet is used in an Email) and Clone Program (assuming the Program contains Emails). There are also API calls to create and update Email Templates. Essentially, the API can do many things that you can also do through the Marketo user interface, but then in an automated fashion.     What is the Email API used for? There are many scenarios: an external system could create Emails in Marketo using data that lives outside of Marketo. A translation service provider could clone a master Email, translate it to many languages, then save them back into Marketo as localized Emails. A reporting system could extract Emails from Marketo to use in reports that are generated outside of Marketo. An external system could Clone a Program that contains Emails, then populate the Program Tokens and schedule the Email to be sent out at a specific time. There could be an external email template creation system that creates new Email templates in Marketo through the API.     What is Email 2.0? “Email Experience 2.0” is the new Marketo product feature with the enhanced email editor, documented here: https://docs.marketo.com/display/public/DOCS/Email+Editor+v2.0+Overview. It can be switched on in Admin > Email > Edit Email Editor Settings. All Emails and Email Templates also have a version number, either 1.0 (the old version) or 2.0 (the new version). If we refer to “Email 2.0 asset” we mean an email or email template in the new upgraded 2.0 format.     Does the Email API Work on Email 2.0 Assets? Yes.     Will the Email API Break when Enabling Email Experience 2.0? No. Enabling Email 2.0 will not automatically upgrade Emails or Email Templates to the new 2.0 format. The Email API can still create new Emails and Email Templates in the 1.0 format.  However – after enabling Email 2.0 – any Email or Email Template that is created or edited and approved through the Marketo User Interface will automatically be upgraded to the 2.0 format.     How Are 1.0 Assets Upgraded to 2.0 Assets? If you edit an “Approved" or “Approved with Draft” 1.0 Email with Email 2.0 enabled, the draft is converted to the 2.0 format. You can still discard the draft to go back to the approved 1.0 format. Once you approve the email and it becomes 2.0, the Email cannot be converted back to 1.0. If you edit a “Draft” 1.0 Email (never been approved), this will automatically be converted to 2.0 with no option to revert back to the 1.0 format. The same applies to Email Templates.     What to Do When an Email Was Accidentally Converted to Email 2.0 format? If an Email or Email Template was accidentally converted to the 2.0 format, you’d have to copy the asset contents to a text editor, disable Email 2.0, then create a new 1.0 asset using the content that you copied.
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
Issue: When I try to approve an email I get the following error: Error approving Email Name - Sending IP is empty or not valid Solution: You likely have multiple dedicated IPs and you did not choose which one to send this email from. 1. Edit Draft of the email in question. 2. Select which IP Address you want this email to sent from and click Save . 3. Close the email editor and under Email Actions click on Approve.      
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
Question: I have leads that are getting created without providing information for fields which I have made required.   Answer: Marketo's field validation makes use of javascript. Most browsers have javascript enabled by default so this should be fairly rare, but a user could change their settings and turn javascript off. This would allow them to submit a form without providing all the required information. 
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
Set a Form Thank You Page   What happens when someone fills out form? Where are they forwarded to? Check out how to configure it: Edit Form 1.1 Go to the Marketing Activities area.       1.2 Select your form and click Edit Form.     1.3 Under Form Settings click Settings.   1.4 Scroll down to the Thank You Page section.          Learn how to: Edit Form Stay On Page External URL Landing Page Dynamic Thank You Pages   Stay On Page   The Stay On Page option will result in the person staying on the same page when the form has been submitted. 2.1 Select Stay On Page for Follow Up With.     External URL The External URL setting allows you to define any URL as the follow-up page. Once the user has submitted the form they will be directed to the URL specified. 3.1 Select External URL for Follow Up With.     3.2 Enter the full URL.       Tip   The URL can be that of a file hosted somewhere, if you do this, the "Submit" button will behave like a "Download" button.    
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
Marketo users can configure Marketo to manage, nurture, and measure leads that are created from Google AdWords. We offer 2 options, depending on what type of web page is linked to your Google AdWords ad. Option 1: Link Google Adwords Ad to a Marketo Landing Page with a Form   This solution does not require custom coding This solution does not require any additional cost Option 2: Link a Google Adwords Ad to Any Page on your Website This solution does require custom coding so that you can capture the PPC (pay per click) information when the lead comes back 'later' to fill out a form on your page Depending on whether you have resources internally to do the custom coding, this solution may or may not require additional cost Reporting Available (for both Option 1 and 2) Number of new leads acquired by Google Adwords Program Cost per new lead acquired by Google Adwords Program Number of leads acquired by keyword/search phrase Top 10 keywords/search phrases which acquired new leads Top 10 AdWords CampaignID which acquired new leads Number of Opportunities by keyword/search phrase Number of Opportunities by CampaignID Additional Reporting Available if you have Revenue Cycle Analytics/Explorer Conversion ratio of your Google Adwords Return to investment for your Google Adwords Top 10 keywords by month report which shows Average days to convert to opportunity Number of leads converted to opportunity Top 10 CampaignID’s by month report which shows Average days to convert to opportunity Number of leads converted to opportunity Program Channel report >> Google Adwords (custom channel) metrics by quarter New names, cost per new name Opportunity units, Pipeline generated, revenue, revenue to investment     Learn more:   Linking a Google Adwords Ad to a Marketo Landing Page with a Form Linking a Google Adwords Ad to Any Page on Your Website Google Adwords and Marketo FAQs  
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