Knowledgebase

Sort by:
Issue Is it possible to add snippet to a template (email or landing page)?   Solution Snippets can't be added to directly to the templates. You would need to add them into the specific landing pages or emails created from the templates.
View full article
Issue You want to lock specific parts of an email, such as the From or Reply-To, to prevent certain users from editing them. Solution Through roles and various permissions you can prevent editing of the email as a whole. You do not have the ability to allow only partial edit of an email header such as the From/To. The same applies to Sales Insight emails. Edit permissions are granted for the email as a whole Note: You can prevent people from editing pieces of an email by making those sections non-editable on the template level, but again, this would apply to all users.        
View full article
Issue Ghostery is a private Ad blocker that is used to block ads and stop trackers. When Ghostery add-on is used, the add-on blocks Marketo Forms.     Solution To display Marketo forms on a Firefox browser with the Ghostery Add-on, change the Marketo URL in the form embed code to use your landing page CNAME instead.  For example: The default embed code, <script src="//app-sjint.marketo.com/js/forms2/js/forms2.min.js"></script> <form id="mktoForm_2019"></form> <script>MktoForms2.loadForm("//app-sjint.marketo.com", "123-ABS-557", 2019);</script>   should be Changed to use the CNAMEinstead of Marketo URL as below:   <script src="//go.example.com/js/forms2/js/forms2.min.js"></script> <form id="mktoForm_2019"></form> <script>MktoForms2.loadForm("//go.example.com", "123-ABC-557", 2019);</script>   Marketo forms embedded in this way may take longer to load as the form scripts are not fetched though the content delivery network. If you are embedding the form on an SSL secured page, you will need to have Secured Domains for Landing Pages set up on your Marketo instance, as there are issues with running an unsecured form on a secure page.    
View full article
Issue You are unable to archive or delete an asset in Marketo. When you try to do so, you get an error: "The following assets are in use or used by other assets."     Solution To archive or delete the asset, you will need to determine where it is being used. Click the Used By tab for the asset you are trying to delete and see what other assets reference it in some way. For instance, aSmart Campaign may be using it in the Smart List or the Flow Steps, or a report might have it in the Smart List. Once you find where your asset is being used, you can go and remove references to it from the other assets. This should allow you to delete or archive it.
View full article
Issue When creating an email or email template, 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 save edits to an existing email     Solution This error is most commonly caused by <script> tags in the HTML of the template or email. 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 How page views and form fills are counted in the statistics section of a Marketo Landing Page asset. Solution How they're calculated When viewing the Landing Page asset in either Design Studio or Marketing Activities, the statistics section provides information regarding page views and form fill outs, if the page has a form located on it.  The page views are a cumulative total indicating how many times the page was loaded, regardless if the visitor was a known record in the database. This means anonymous people can record a view here, due to Munchkin tracking on the page. This section provides a total number of views, not unique visits. This means that a person can load this page multiple times and each visit will be tallied in this section. The form fills section (x Filled out Form (x%)), indicates how many times a visitor filled the form out on the page, if it has one. This total is also counted in the same way the views section is, meaning it's a total number of submissions. Therefore, if a record in your database fills out the form more than once on a page, it will be counted toward the total.   Difference between calculations The difference between these two metrics is that the page views will keep a historical record of visits to the page. This means the total will not change if you happen to delete a bunch of records that visited the page in question - the total persists regardless if the record is no longer in the database. With that said, the forms section does not. This area is tied specifically to the existence of that known record in your database. This means that, once a record who filled the form out is removed from your database, the submissions they performed will be subtracted from the total.
View full article
Article Text Included in this article:   Overview Limitations Error Handling and Troubleshooting Overview No-Draft for Snippets allows you to distribute snippet changes without drafting approved assets using it. All assets using the edited snippet get the updates and maintain their respective status: Approved assets get the snippet updates and stay approved Drafts get the snippet updates and stay in draft mode No-Draft is automatically enabled for all Administrator roles. An admin can then enable this feature for any additional role. While No-Draft Snippets are very useful, they do have some limitations and issues that tend to arise. This article will show you what those limitations are and how to troubleshoot issues that can come up.   Limitations This feature is designed to save time with the snippet approval workflow. There are a few limitations to be aware of: No-Draft will not work if you replace one segmentation with another one in the same snippet. However, No-Draft will work if you change, add, or delete a segment within a segmentation that is referenced in the snippet No-Draft will not work if you add/remove a segmentation to a previously approved snippet By design, No-Draft will fail if you make a dynamic snippet static, or a static snippet dynamic. If your use case requires this scenario, then we recommend you create a new snippet to be used across your assets. If you must update the existing snippet, then you will need to approve it using the Create Draft option, then re-approve the assets using the snippet (in other words, the old behavior) No-Draft does not auto-approve drafts Users without the No-Draft permission can still approve a snippet, however it will generate drafts of approved assets No-Draft works only when approving one snippet at a time Assets using the snippet are locked for approval until No-Draft is done processing Snippet updates made to approved assets cannot be rolled back No-Draft applies only to snippets   Error Handling and Troubleshooting If something goes wrong, an error message is delivered to the Notification section of Marketo. You can subscribe to this notification and receive email alerts in their inbox. Users must subscribe to No-Draft in each workspace with the permission enabled.   If an error does occur, chances are that the update process was not completed. Some assets may have the updated snippet content and others may not.   To resolve, redraft the snippet and re-approve. 1. Select the snippet and click Edit Draft. 2. Make a small edit in the snippet editor to create a draft (such as pressing the keyboard’s spacebar). 3. Click Approve Snippet. 4. In the dialog box, select Update all to start over.   This should fix the issue. Contact Marketo Support if the problem persists.
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
Article Text 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
  Welcome to Marketo Support This guide provides individual links that covers the following topics: Marketo Support Policies Service Level Agreement How to Contact Marketo Support How to Submit a Case Tips on Effective Case Submission Managing Authorized Support Contacts (Support Admins) Managing Your Cases How to Escalate    
View full article
  Marketo Support's Mission is:   "To provide fast and friendly world-class support through creative, flexible solutions to empower Marketo Automation Software success."   Areas of Responsibility: Technical Support Engineers (TSEs) are your initial point of contact for any questions or concerns. TSEs are responsible for troubleshoot issues within your Marketo instance. Common areas within a Marketo instances which TSEs will assist with are:   My Marketo Marketing Activities Design Studio Lead Database Analytics Revenue Explorer (RCA/RCE) Calendar Deliverability Tools Search Engine Optimization (SEO) Web Personalization (RTP) Admin Community   Our TSEs are not web developers and as a result they are unable to troubleshoot most types of custom coding (ie. HTML, JavaScript, XML, etc.). Our support team is able to help with the following types of non-custom code:    Simple Munchkin Code Asynchronous Munchkin Code Asynchronous jQuery Munchkin Code SOAP API REST API   Our technical support engineers are here to assist you and our support commitment to our customers is to always work towards providing an above and beyond support experience.   Note: Our team is not against looking at custom code and, based on the subject matter expertise, our TSEs might be able to offer suggestions and recommendations, but we do want to make it clear that they are not responsible for fixing or updating any custom code that has been implemented.   Response Time   Our Technical Support Engineers are bound to responding to your cases and issues within the Service Level Agreements from your account's level of support services.  We track response milestones to ensure that your cases are being handled in a timely manner as dictated by our agreed to Service Level Targets.
View full article
  This is a article attached image Upon signing a contract with Marketo you are provisioned a Marketo instance and a Support Service. There are four different types of Support Services which are available to meet different customer support needs: Online (Legacy) Business  or PREMIER SUPPORT BUSINESS (Legacy) Premier or PREMIER SUPPORT ENTERPRISE (Legacy) Elite or PREMIER SUPPORT ELITE Each Support Service has a different Service Level Target (SLT). An SLT is the amount of time Marketo Support targets to make first contact with you after a support case has been submitted. SLTs differ for each Support Service and priority level. Priority levels range from Priority P1 to Priority P4. Here are the SLTs and priority levels for each Support Service:   Priority Online (Legacy) Business PREMIER SUPPORT BUSINESS (Legacy) Premier PREMIER SUPPORT ENTERPRISE (Legacy) Elite PREMIER SUPPORT ELITE P1 1 hour 1 hour 1 hour 30 minutes 30 minutes 30 minutes 15 minutes P2 4 hours 3 hours 2 hours 2 hours 1 hour 2 hours 30 minutes P3 6 hours 5 hours 4 hours 4 hours 2 hours 2 hours 1 hour P4 3 days 1 day 1 day 1 day 1 day 1 day 1 day   Here are the descriptions for each priority level: 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   Find more information About Support here!  
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
  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
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