Knowledgebase

Sort by:
Issue You want to use a Marketo Form in an email. Solution Forms cannot be used in email. Forms rely on using scripts to be able to pull and send data, but email clients will usually scrub or prevent the execution of scripting languages such as Javascript for security reasons. Note: Including scripts in your email can increase the chances of your email being classified as spam as well.    
View full article
Issue When trying to clone a Form or Landing page from Design Studio to a specific Program under Marketing Activities, there is no list of programs that appear.   Solution This is expected behavior. When you don't see a program listed, this is because the number of programs in Marketing Activities actually exceeds what we're able to display at one time. If you start typing into the Program field in the pop-up window, you should start to see programs listed in the drop-down. For example, you enter the name of the particular program, you will get a result.  
View full article
Summary UTM Parameters Not Populating with Known People Form Fill Issue UTM parameter field values are not being captured for some people's form submissions, even though the form is configured to capture the values. Solution When a form is using the "Show Custom HTML Form for Known People", the submission button will generate a Filled out Form activity, but will not write any new field values. When attempting to capture UTM parameters with the feature enabled, those UTM values, as well as the other fields on that form, will not be captured. Show Custom HTML Form for Known People | Adobe Marketo Engage
View full article
Issue An email asset with a program MyToken is not reflecting correctly after a campaign send, even though the email asset is within a program with the correct token value. Root Cause If the smart campaign that sent the email is in a different program, the MyToken reference will come from the program of the sending smart campaign, not the program where the email lives.
View full article
Issue When cloning an asset from Design Studio into Marketing Activities, there is a box that asks you to select which program to clone the asset into. When clicking into this box, you may see No Results, even though there are programs within Marketing Activities. This is a article attached image Solution Expected Behavior: This happens when there are too many programs in the Marketing Activities tree. To select your desired Marketing Program, begin typing the Program Name, and results will begin to appear in the Program drop-down. This was designed to increase UI performance when cloning assets into Marketing Activities from Design Studio.  
View full article
Issue When using the [mktorest.com/rest/asset/v1/emailTemplates.json] end-point to pull all Email templates, the COUNT is much less than what is shown in Marketo's Design Studio Global Search.   Solution This is the expected behavior. When viewing the total count of Email templates in the Design Studio UI, it will count EACH shared template that is shared across other workspaces, counting the same template multiple times depending on how many workspaces it's shared to. However, when retrieving the Email Templates from the REST API, it will only return DISTINCT Email Template ID's from the originating shared workspace where the template resides. It will not return the templates from the shared workspaces. Root Cause REST API Expected Behavior
View full article
Issue Clicking a tracked link in an email either leads to a 404 page or the fallback page. Environment Tracked links Tokens Specific Characters: "#", "$", unbalanced brackets "{" or "}" Solution Do not use the following characters "#", "$", unbalanced brackets "{" or "}" in a link that is tracked when using a token as well. For example: www.google.com/ebook-download.html?ebook={{lead.ebook}}# This will not work and will either direct to a 404 page or redirect to fallback page. When hovering over the link you will see that it is not a normal tokenized link, it will contain something along the lines of: $mktEncrypt.encrypt($mkturl2)/<random characters> Root Cause When using tokens in the url of a tracked link, the email is processed and the tokens are substituted and populated with the correct information. The engine that assembles this information have some characters reserved for use such as #.
View full article
Issue The format of the landing page is distorted in comparison to the version displayed in the landing page preview.  Environment SSL Certificates Landing Page Domain Landing Page format is different from preview Landing Page contain unsecure content Landing page template has http instead of https   Solution Ensure all the links used in HTML code used in the landing page template is referencing "HTTPS" and not "HTTP". You can follow the steps outlined in the document below on how to edit landing page template.  Link: https://experienceleague.adobe.com/docs/marketo/using/product-docs/demand-generation/landing-pages/landing-page-templates/edit-a-marketo-landing-page-template.html **NOTE: If the landing pages is approved, a draft version of the landing page is created for any landing pages which is using the landing page template. You can mass approve those landing pages via following steps outlined in the document below. Link: https://experienceleague.adobe.com/docs/marketo/using/product-docs/demand-generation/landing-pages/landing-page-actions/approve-multiple-landing-pages-at-once.html?lang=en Root Cause Once you secure your Marketo landing pages to be served over "HTTPS", you should have not links referencing "HTTP" (unsecured) assets or pages. 
View full article
Issue Form in Design Studio will not convert the time format upon language selection. English form with date format dd/mm/yyyy This is a article attached image Below is a form using settings with form language selecting German. The date format remains the same "dd/mm/yyyy" when the expected value should be "tt/mm/jjjj" as per language date format This is a article attached image Environment Marketo forms and common web browsers such as Chrome, Opera, Firefox. Root Cause This behaviour is related to the browser language settings. It automatically translates the date in the format of the selected language in the browser. Example of the same form with different browser language selected, the date format is changed by the browser  This is a article attached image This is a article attached image
View full article
Issue LinkedIn leads generated through LinkedIn Lead Gen form does not populate Inferred State/City/Country values. Solution Use field mapping between Marketo and LinkedIn to make sure inferred State/City/Country fields are mapped to respective LinkedIn fields so that they are captured in Marketo. Root Cause The inferred State/City/Country is populated via the person tokens and that information is normally captured when a lead fills out a Marketo form. If instead, the form used is a LinkedIn form, then that information is not passed over to the Marketo lead fields. Environment Marketing Activities LinkedIn Lead Gen
View full article
Issue -Error editing image in email: “image URL does not exist” or “image URL cannot be found”   Solution Option 1 -Set up SSL for landing pages (Recommended!  SSL should be a baseline configuration for all landing pages and tracking domains). Add SSL to Your Landing Pages - Marketo Docs - Product Documentation Option 2 (Not recommended!   Warning! This is a security risk.) -Allow browser to view unsecured content (can choose to turn this setting back off in the browser after viewing the content) This link below describes how to enable this content in Chrome. https://docs.adobe.com/content/help/en/target/using/experiences/vec/troubleshoot-composer/mixed-content.html This link below describes how to enable this content in Firefox. https://support.mozilla.org/en-US/kb/mixed-content-blocking-firefox Option 3 -Try to use a different browser or try turning off all browser extensions. Root Cause If the issue was sudden, it is likely due to the browser needing an update. Check if there are any updates that need to be done. Environment -SSL not enabled on Marketo instance -Browser blocks unsecured content
View full article
  Issue User Receives Communication Failure Error / bandaid when creating a new Email from a custom Template due to unapproved snippet. Resolution Email templates can contain code to reference a snippet by ID: <div class="mktoSnippet" id="FooterText" mktoName="Footer Text" mktoDefaultSnippetId="3"></div> If the snippet is not approved then a new email asset cannot be created, and instead a bandaid error occurs.   The snippet should be approved first before the template is used.    If the ID of the snippet in the HTML is 3 and the pod sj27, the URL to the asset would be Login | Marketo  
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
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. This is a article attached image 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):   This is a article attached image   Note if the lead or contact is not in Salesforce then there is no link to the Salesforce detail page:   This is a article attached image
View full article
If you sent an email from the Lead Database (as a Single Flow Action), as part of a campaign, or as a test email but didn't receive it, here are some tips.   Check the "From:" address   When sending a test message, make sure to check the "From:" address setting on your message. To do this, go to the Email Settings tab of the email editor. In the "From:" field, make sure that you either have a single valid email address, or a valid email address as the default, if you are using a token.   Many people want to send their messages from the lead owner. When you use the send test feature, the email address you are sending to doesn't have a full lead record, and so it doesn't have a lead owner. Since Marketo cannot send an email with no "From:" address, test messages without a valid email address in the "From:" field will not send.   Send as a Lead   If you have verified that the email had a valid From: address and you still aren't getting it, make sure to create yourself as a lead and send using a flow action.   See if the mail was sent   If you sent the email as part of a campaign or Single Flow Action, check the campaign's Results tab or your lead detail page to see if that mail was already sent to you. If it hasn't been sent yet, try waiting a little while longer.   Check your Junk Mail   In your email client, check your Junk Mail or Spam folder to see if the mail landed there. If it did, you should change the content of your email.   Check your corporate spam filter   Your corporate mail server may have blocked emails from Marketo; you should contact your IT department to see if this is the case. Please see our instructions for whitelisting Marketo's email servers: Add Marketo to Your Corporate Email Whitelist   Try sending to a different recipient   If you sent the original mail to your corporate account, try sending to a personal account on Yahoo or Gmail. If you sent it to a personal account, try your corporate mail account.    Use Marketo's Email Deliverability product   The Email Deliverability PowerPack, with Design Informant and Inbox Informant, can warn you when your mail is being rejected because of its content and help you identify junk mail pitfalls. Also, using Domain Keys and SPF improve the chances of your email landing in your leads' inboxes.   Contact Marketo   If you still can't figure out what happened contact Marketo to see if we can help.
View full article
Note: Once you have migrated to Admin Console, you can manage your support cases through the feature provided in the Admin Console Platform. To learn more, visit: https://experienceleague.adobe.com/docs/customer-one/using/home.html. Once you have submitted a case to Marketo support, we provide a simple way of staying connected to your case and the cases submitted from your company through the Marketo Support Portal. You can access the support portal through your Marketo instance by selecting Community in the top right corner: This is a article attached image You can also access the support portal directly at https://support.marketo.com and login with your Marketo credentials (login and password). This will not work for users with SSO.   Once you are in the support portal you can Create a Case for Marketo Support or you can also review any cases that are open and being worked on by support or review your case history. Navigate to My Case management: This is a article attached image From the My Cases navigation you can access the following case views: This is a article attached image My Recent Cases* - Cases that you have opened in the past 30 days All Company Recent Cases* - Cases that any authorized support contact has opened in the past 30 days My Open Cases – Cases created by you that are being triaged by Support and pending Support’s response and are more than 30 days old My Closed Cases – Cases that were created by you and are now closed My Awaiting Fix Cases – Cases that were created by you where Marketo is developing a fix which will be implemented at a later date All Company Closed Cases – Cases that were created by you or your colleagues that are now closed All Company Open Cases - All open cases submitted for the account Company Awaiting Fix Cases – Cases that were created by you or your colleagues where Marketo is developing a fix which will be implemented at a later date Management Escalations - Escalations opened by you or your colleagues  Survey Cases - Surveys that are available for you to fill out after a case is closed *Cases that have been opened for more than 30 days will move from Recent cases to Open cases   To view specific case details, click a case number. This is a article attached image From the Case Details, you can perform the following: Close your Case - Select the "My Case is Resolved" button to close your case Add Comments - Provide additional comments to support or respond to a Support question Add Attachment - Provide any screenshots or documents that will help illustrate the issue you are reporting   If your case has been closed there are two options available to you.   Reopen - You can reopen your case if you are not satisfied with the case resolution by adding a comment in the case. Case Survey - Once your case has closed, please consider offering feedback on the level of Support you received.
View full article
Article Text So you’ve now used the previous document (Getting Started With Guided Landing Pages:) to download a template from our library and set it up in your Marketo instance, you have even used it to make a landing page or two and you’ve customized those landing pages, AND you’ve even gone the extra mile and customized your template and modified some elements! (Editing Marketo Guided Landing Page Templates, Pt. 1 - Elements:) All of which is fantastic news! Good job!   But if you recall from the article that showed you how to edit Elements on the template, I skipped right over the section on Variables. This is the piece that this document is designed to tackle.   So what is a variable? If you edit a Guided Landing Page you will see a panel on the right hand side that displays both Elements and Variables. In this instance, the variables do everything from assigning a gradient color, to deciding if you want to display or hide different sections of the landing page. Modifying a variable in the landing page editor is designed to be really simple, just click the variable you want to change and give it a new value. Here I changed the Primary Gradient 1 and 2 from 1DA083 and 0F3450 to A00E35 and F2F2F2 respectively and the landing page changes: At its easiest to understand, a variable works a lot like a token in an email. It’s a placeholder for actual code to be used later. So if I create an email that starts with “Hello, {{lead.firstname:default=Friend}}!” you can tell right away what that’s going to do. Pull the first name from the lead record, if none exists use the word “Friend”.   Think of a Variable as a token that you get to define as well as use. The first step is to define it and the second step is to actually call back to the variable you defined.   While it’s easy for a non-technical user to use a variable (as it should be!), setting one up in the template does require a fair amount of HTML knowledge. As stated before, if you are not comfortable editing HTML and do not have a resource available to you, please reach out to services@marketo.com, they are able to assist with any sort of coding needs.   So as before, let’s dive into the template, this time we’re going straight for the Variable code.       <!-- Marketo Variable Definitions -->     <meta class="mktoColor" id="gradient1" mktoName="Primary Gradient 1" default="#1da083">     <meta class="mktoColor" id="gradient2" mktoName="Primary Gradient 2" default="#0f3450">   So right at the start of the template, we’re off to the races defining variables. As you can see with the Gradient 1 and Gradient 2, these are both marked with a class of “mktoColor”.   As with the Elements, the full list of Variable types can be found here: https://docs.marketo.com/display/public/DOCS/Create+a+Guided+Landing+Page+Template        class : "mktoString"      class : "mktoColor"      class : "mktoBoolean"   A string is a variable that contains a value, Color should be obvious what that does and Boolean is a yes or no choice.   In addition to the class, each variable has to have a unique ID. This is critical and used when the variable is called later on down the page. When you call a variable it’s always with the syntax of ${id name}. So in this case ${gradient1} and ${gradient2}. As you can see it looks a LOT like a token but it’s a token you can name whatever you want.   The mktoName is how it displays the variable in the Landing Page editor.   The default value is what it starts out with.   So let’s take a look and see how these Gradients are applied now that they’re defined at the top of the template.   Color is typically used in the CSS portion of the header. As defined in the previous document, CSS stands for “Cascading Style Sheets” and is a way of formatting the same thing over and over again, kind of like setting a font in a word processor.       /* Header Gradient */     #is {         top: 0;         width: 100%;         min-height: 620px;         position: relative;         z-index: 1;         color: #fff; padding-top: 10%;                 background-image: linear-gradient(${gradient1},${gradient2});     }   Now normally in CSS, the linear-gradient option would have two colors listed, the top color and the bottom color and it provides a gradual transition from one to the other.   We could just as easily change this in the template to        background-image: linear-gradient(red,white);   But the problem doing that is that an end user, who is only using the Landing Page Editor, would not be able to change it. The gradient would be defined in the template and inaccessible to the Editor.   Changing these values to the variables defined before allows the user to change the first and second colors in the Landing Page editor interface.   In Summary:   The Meta Tags define what the variables mean:     <meta class="mktoColor" id="gradient1" mktoName="Primary Gradient 1" default="#1da083">     <meta class="mktoColor" id="gradient2" mktoName="Primary Gradient 2" default="#0f3450">   The ID= is then used to call the variable and put it into action:       background-image: linear-gradient(${gradient1},${gradient2});   The other benefit to doing it this way is you can re-use the same variable over and over again. Look at this piece of CSS:   body {                 background: ${gradient2};         margin: 0;         color: #696E74;     }   That’s the same ID as the gradient we used before, only applied to a different section. This ensures that the bottom color of the gradient and the background of this section will always be the same color.   Any item in the CSS that contains a text value, a color value or a yes/no choice can be converted to a Variable.   Here’s another common usage:   You’re using a form on your landing page, but you want the end user to be able to change the text on the submit button.   As before you define the variable:        <meta class="mktoString" id="section4ButtonLabel" mktoName="Sec. 4 Button Label" default="More Questions?">   Then farther down the page where the button appears you call the variable you defined before:        <div class="centered mtb">           <a href="${section4ButtonLink}"><button class="btn btn-lg btn-green mt">           ${section4ButtonLabel}</button></a>      </div>   The <a href= is pulling a http link that the user can define in the editor, the button class is setting up a green button as defined in the CSS, and there is our Variable to display the label which reads “More Questions?” Here’s what it looks like in the editor: So this is great, and it makes sense because you can see this was all set up and defined by a professional. What if you wanted to add your own? Is that even possible?   Naturally it is!   First, figure out what you want to convert to a Variable. Is it a piece of text like a button name or a link? Is it a color? Is it a yes/no choice?   Let’s say we want to add a variable that controls the color of the buttons. We have two, both using the same color green, and we want whoever is running the landing page editor to change that without having to go to the template:   Step 1: Define your variable:        <meta class="mktoColor" id="ButtonColor" mktoName="Button Color" default="#1DA083">   We’re talking about colors so the class will be “mktoColor”. The ID can be anything we want it to be as can be the mktoName. The default is the same lovely green shade as was used before.   Now we need to call this color.  Looking at the CSS, we can see the .btn-green is defined as this:        .btn-green {           border: 4px solid #1da083;           border-radius: 60px;           color: #fff;           background: #1da083;           -webkit-transition: none;           -moz-transition: none;           transition: none;      }   The background is the color we want to change to a Variable so it can be edited without having to access the template.   Change the code to this:        .btn-green {           border: 4px solid #1da083;           border-radius: 60px;           color: #fff;           background: ${ButtonColor};           -webkit-transition: none;           -moz-transition: none;           transition: none;      }     Approve the template and check out the landing page in the editor: Well that’s fantastic, but there’s a separate color for the border, we could just as easily add a variable for it as well:        border: 4px solid #1da083;   We don’t want to HAVE to add another new variable for just the border. We could change the border at the same time as the button. By changing #1da083; to ${ButtonColor};   The trick now becomes what if you change your mind? What if you have a variable in the template that is no longer desired? How do you get rid of it?   Remember each variable is two pieces, the definition and the call. You have to remove BOTH pieces. Technically removing the call would be enough to prevent the change from being made on the page, but the definition is what makes the variable appear in the Landing Page Editor, if you only removed the call then there would be a non-functional Variable in the landing page editor.   So in the case of our button color:   Step 1 would be to strip out the meta tag containing the definition:   Step 2 would be changing the variable name where it’s being used to some fixed value:        .btn-green {           border: 4px solid #1da083;           border-radius: 60px;           color: #fff;           background: ${ButtonColor}; -> change this to some other fixed color. #00FF33; or the original #1da083;.           -webkit-transition: none;           -moz-transition: none;           transition: none;      }   Doing both pieces will prevent the Variable from being listed in the Landing Page Editor and prevent it from having any effect on the page.
View full article
Issue Issue Description Marketo allows you to upload any file type to your instance (100MB or less) but these files don't always download automatically or open in a new browser tab or window consistently between users.   Solution Issue Resolution Marketo's servers are not configured to force a download, so any desired effect is up to the user and/or utilizing custom code to achieve that effect. How a file is handled or displayed is largely up to the browser and you will need to test whether your specific desired outcome is possible. Keep in mind, this may vary by file type and file size and may not be feasible.  
View full article