Knowledgebase

Sort by:
  Marketo Champions are customers who have demonstrated outstanding leadership in the Marketo Community, are experts in Marketo products, are avid contributors in the social world, and are loyal advocates of the Marketo brand. Benefits and perks our Champions receive include:   Access: Meetings with our product and marketing teams to give exclusive feedback Previews: Given early previews to products, features, and releases when available Publicity: Exclusive speaking opportunities at our annual Marketo Summit and other events Networking: Special networking events with Marketo executives and fellow Champions and semi-annual conference calls Ownership: Ownership of content and exclusive activities at our annual Marketo Summit that showcase your expertise and thought leadership Credibility: Special Champion badge on Marketo Community profiles, and profiled on Marketo's corporate website Sweet Swag: Champion-exclusive swag To find out more information and apply, click here. To view a complete list of current Champions, click here. Join the Marketo Elite Today!  
View full article
  Your Salesforce sync is not working because the password for your Salesforce sync user expired. You may see an error in Marketo saying: "describeSObject failed - The users password has expired, you must call SetPassword before attempting any other API operations." Similar to this:   To resolve this error, you will have to change both your password and security token in Salesforce and then update these credentials in Marketo under Admin -> Salesforce -> Edit Credentials -> update both your password and security token in the 2 boxes illustrated below then press the Save button:     To permanently fix this issue, you will need to change the password policies in Salesforce so that your password never expires in Salesforce. To do this, in Salesforce, go to Setup -> Administration Setup -> Security Controls -> Password Policies -> User passwords expire in -> Never expires -> Save for your "your_sync_user@domain.com" user in Salesforce:   Please note this is a Salesforce setting and you should consult your Salesforce Admin before implementing this change Whenever the Salesforce user password expires (it periodically expires for security reason), Marketo stops syncing with the Salesforce account. As a result, any of the leads created in Marketo during this down-time won't be synced to Salesforce. Marketo will not automatically re-sync. Once you have reset your password and the API calls work once more, you can create a batch campaign that will sync the new leads that have been created in Marketo to Saleforce.    
View full article
Importing lists containing non-English names into Marketo may replace accented characters with invalid ones, often squares or non-alphabetical signs.   The "character set" parameter identifies a character encoding, which is a method of converting a sequence of bytes into a sequence of characters. This conversion fits naturally with the scheme of Web activity: servers send HTML documents to user agents as a stream of bytes; user agents interpret them as a sequence of characters. The conversion method can range from simple one-to-one correspondence to complex switching schemes or algorithms.   It is a good practice to set the browser to an appropriate character set before running the import. The most widely used are:   Unicode (UTF-8) A universal character set that defines the characters included in a majority of the languages of the world. It can work with pages and forms that include a mixture of languages within the same page.   Note: Old browsers may have an issue with you using the UTF-8 character set. It may be wise to consider ISO-8859 for old releases. ISO-8859-1 Also know as Latin1, includes the latin based languages of the world. It includes most western european languages.   ISO 8859-1 Western Europe ISO 8859-2 Western and Central Europe ISO 8859-3 Western Europe and South European (Turkish, Maltese plus Esperanto) ISO 8859-4 Western Europe and Baltic countries (Lithuania, Estonia, Latvia and Lapp) ISO 8859-5 Cyrillic alphabet ISO 8859-6 Arabic ISO 8859-7 Greek ISO 8859-8 Hebrew ISO 8859-9 Western Europe with amended Turkish character set ISO 8859-10 Western Europe with rationalised character set for Nordic languages, including complete Icelandic set ISO 8859-11 Thai ISO 8859-13 Baltic languages plus Polish ISO 8859-14 Celtic languages (Irish Gaelic, Scottish, Welsh) ISO 8859-15 Added the Euro sign and other rationalisations to ISO 8859-1 ISO 8859-16 Central, Eastern and Southern European languages (Albanian, Croatian, Hungarian, Polish, Romanian, Serbian and Slovenian, but also French, German, Italian and Irish Gaelic)   Microsoft Internet Explorer   Mozilla Firefox   Apple Safari   Google Chrome     Opera   Mozilla Camino (Mac OS X)
View full article
While viewing a published landing page with a form, you can open it up directly in Marketo with this little tool. Note: This tool is not officially supported.      1. To install, go to marketo.com/tools/.      2. Drag Open LP -> MKTO onto your browser bookmarks bar. Tip: To show the browser bookmarks bar: Chrome: View > Always Show Bookmarks Bar Firefox: View > Toolbars > Bookmarks Toolbar      3. That's it. Just click the Open LP -> MKTO bookmark when viewing a published landing page with a form.      4. And you'll be taken to the landing page in Marketo.
View full article
Follow these steps to add a graphical date picker to your form date fields.  When you're done, it will look something like this: First, you need a form with at least one date field.  In the Form Editor, date fields appear with a date icon in the Template Form Fields list.  Drag one into your form if you haven't already. Next, edit a landing page that uses the form (or create a new one and add the form).  Click the form and make sure the box around it has some padding, shown below.  If the padding is too small, the calendar icon next to your date field will wrap onto the next line. Now add this custom Javascript to your webpage as a Custom HTML element:   <link type="text/css" href="https://nation.marketo.com/js/public/css/redmond/jquery-ui-1.7.1.custom.css" rel="stylesheet" /> <script type="text/javascript" src="google.com/jsapi"></script> <script type="text/javascript" >   google.load("jquery", "1");   google.load("jqueryui", "1"); </script> <script type="text/javascript">   var $jQ = jQuery.noConflict();     $jQ(document).ready(function() {      $jQ(".mktFormDate").datepicker({showOn: 'both',          buttonImage: '/images/icons16/calendar_31.png',          changeMonth: true,          changeYear: true,          buttonImageOnly: true      });   });   </script>   Finally, preview your page and click the calendar icon next to the date field.  The graphical calendar will appear below the field. Is this article helpful ? YesNo
View full article
In late May 2011, the European e-Privacy directive went into effect in Europe. This directive legally mandates that websites tracking users with cookies must obtain explicit consent from the person before dropping the cookie. Marketing automation will become an even more powerful revenue engine when online participants feel safe about their data.  In addition to being given the option to opt-in to marketing and lead nurturing programs that are relevant to them, with the standardization of privacy protections, unsavory players will be cut out of the market. Businesses that are trusted will excel in this environment. What is a cookie? A cookie is a very small piece of software code that websites use to track visitors. What do these regulations mean? When asking permission, the website must be clear on what data is being tracked and how it will be used. A record of the permission confirmation action (e.g. clicking an agreement link) must be retained. What if I am based in the US? The regulations apply to all businesses and websites tracking European users. To be in compliance with the EU, American businesses must take reasonable measures to identify which website visitors are European and obtain their permission. The former EU’s commissioner for justice, Viviane Reding, is quoted as saying “Privacy standards for European citizens should apply independently of the area of the world in which their data is being processed,”. “To enforce the EU law, national privacy watchdogs shall be endowed with powers to investigate and engage in legal proceedings against non-EU data controllers whose services target EU customers.” gigaom.com/2011/03/17/u-s-web-firms-told-to-stick-to-eu-privacy-laws/ In addition to this new cookie tracking regulation, US businesses servicing Europeans should also be Safe Harbor certified. Safe Harbor ensures that American businesses are compliant with the European Commission’s previous Directive on Data Protection. export.gov/safeharbor/ What if I am a multinational corporation? The regulations apply to all businesses and websites tracking European users. Is this really a law? The European e-Privacy directive is EU law. However, it is not yet national law for all EU members. With EU directives, member states are required to enact national laws implementing the directive. Most member states have not implemented national laws requiring explicit consent for cookies. The exceptions here are Germany, Italy, and the UK (see next question). The national legislatures do not always move at the schedule ordered by the EU directives. This process could very well take many years to cover all of Europe. Marketo will continue to watch developments and update this FAQ appropriately. Is explicit consent already law in any EU country now? Currently, there are several countries that have enacted this law. Germany has had rules on the book requiring explicit consent before tracking by cookies for some time now. Indeed, in many ways the EU e-Privacy directive is designed to harmonize EU member state laws with Germany’s privacy laws. Because Germany already requires explicit consent and other EU countries are starting too, Marketo recommends that businesses begin compliance implementation now. The UK Department of Culture, Media, and Sport (DCMS) is currently developing specific guidelines for compliance with this law. So, while the law went into effect on May 25, 2011, in the UK, the DCMS has stated that they will not be enforcing the law until an unspecified date in the future. culture.gov.uk/news/media_releases/8051.aspx Italy has also enacted laws to comply with the EU privacy directive. Marketo will continue to monitor developments and update this FAQ document appropriately. What happens if I am not compliant? This is a major transformation in privacy protections that businesses worldwide will be adapting. Most countries in Europe, like Britain, have not yet released specifics on regulations. Until specific regulations are created, there will not be details on the penalties. It is likely that over time, EU penalties for non-compliance will increase. What caused this change? Over a long period of time, the EU member states have had different privacy laws. It is a stated goal of the EU to have uniform and cohesive privacy regulations. Is the change good or bad? This change will be good for companies that are able to compete by online trust and privacy protection. With the new privacy protections, consumers and B2B buyers will be able to easily compare privacy practices of businesses they are evaluating to engage with. Businesses need to start competing on how much they are trusted with subscribers’ data. Businesses that are good at online trust will benefit. Marketo believes that initiatives that encourage trust will benefit the online marketing ecosystem over time. Who are the experts in this field? Who are the leaders in this information? I.e. where can I get more info or how can I stay on top of this topic? Many Marketo customers are experts in building online trust and competing on privacy. Marketo’s Privacy team is dedicated to Marketo customers and provides know-how on best practices compliance. The Online Trust Alliance (OTA - otalliance.org/) is a great non-profit working to foster trust in online ecosystems. The OTA is tapped into the developing privacy trends in the EU and Washington as is a great resource for member companies. MAAWG (Messaging Anti-Abuse Working Group) is a regular gathering of the top experts in privacy and messaging abuse prevision. How can I become compliant? The key to compliance is explicit consent. Explicit consent means specific language on how you are marketing and tracking. Explicit consent also means that there must also be some kind of affirmative action (e.g. clicking) where the subscribers acknowledges their consent to marketing and tracking. A good example of this is where a subscriber provides consent by clicking which causes a pop-up box specifying what you will do with the subscriber’s personal data. It is important that you do not mix up consent wording with more general wording on your business policies. If you integrate consent language into your general, then highlight consent language and record the click making consent. Do I have to collect this explicit consent on the first page of my website? You can decide where to collect consent and then drop the cookie. Many websites will allow European visitors to browse some pages or sections of the website before “popping the question”. The idea in these cases is to enable the website visitor to see the value of the web content or services before asking for tracking permission. For example, you might want to pop the question after a European visitor has viewed a certain number of pages, spent a given amount of time on the site, or visited specific webpages. Are there exceptions to this requirement? The EU directive provides an exemption for cookies that are dropped to track shopping cart contents. Furthermore, in Germany, transaction messages or messages that are needed to do previously specified business are exempt from these opt-in requirements. It is likely that other EU counties will adopt similar exemptions for existing business relationships. What about my personal blog or our employees' personal blogs and web pages? The EU focus is currently on business compliance. It will be interesting to see how Europe approaches tracking and consent for personal web properties. How is going to affect users who visit websites? If you are in the US it probably will not affect you at most websites you visit. Europeans, on the other hand, will likely be asked for their permission often. Europeans will be better able to factor privacy protection into their business and purchase decisions. Is this likely to change in other places too? Will the US change its laws? US privacy regulations are almost certainly going to change over the next year. The FTC and the Commerce Dept have both launched major privacy initiatives. Some national US legislators have also proposed federal privacy laws. While the final version of US privacy rules are nowhere near finished, it is very likely that US privacy is changing. What are others saying about this? Different organizations are saying different things. For example, Yahoo is saying they are compliant already: online.wsj.com/news/articles/SB10001424052748703512404576208700813815570?mg=reno64-wsj&url=http%3A%2F%2Fonline.wsj.com%2Farticle%2FSB10001424052748703512404576208700813815570.htmlhttp%3A%2F%2Fwww.pcworld.com%2Fbusinesscenter%2Farticle%2F222640%2Fyahoos_offers_cookie_optout_button_ahead_of_new_eu_law.html What are the laws in the US? Are they different? The US does not currently have Federal baseline privacy laws. Many online tracking methods are not yet regulated in the US. This is changing, however, with major initiatives from the FTC, Commerce Dept, and legislators. How does this affect Google and Facebook? The EU has made statements indicating the Google and Facebook will be affected by this. Indeed, it sometimes seems that Google is every EU country's favorite example company to drag into court on privacy matters. Industry blog GigaOm summarized, some EU statements about “one senior European Union official making a broadside attack aimed at services such as Google and Facebook” here - gigaom.com/2011/03/17/u-s-web-firms-told-to-stick-to-eu-privacy-laws/ Does this affect only my website? Do my landing pages, social media profiles, or blogs, matter too? The EU regulations speak to any tracking by cookies independent of the nature of the web property doing the tracking. (Although, any cookies dropped to track shopping basket contents are exempt and in Germany, business interacting with existing customers are also exempt.) Will this mean I get less targeted advertising? Europeans that decline to opt-in will likely see less targeted advertising. Does this mean that marketing automation or companies like Doubleclick, Omniture, and Quantcast will go out of business? The EU privacy regulations create more need for marketing automation and web analytics companies. As businesses need to implement more sophisticated privacy protocols and compete on trust, they will turn to their marketing automation solutions to make it happen. Will web analytics work in the EU anymore? Of course. Businesses will need web analytics for the EU subscribers that choose to opt-in. They will also need web analytics on subscribers they do not cookie for things like testing different action flows to obtain consent. Web analytic solutions are good at analyzing both known subscribers and unknown visitors. Can I get in trouble if my marketing automation, web analytics, or other software does not comply and I am still using it? It is unlikely that EU courts will excuse lack of technical capabilities. Good marketing automation solutions will make this easy for customers to implement in the ways they want.   Can I not allow my website visitors to see my content unless they accept cookies? Sure. Business can decide what content to show or services to offer based on whether a subscriber has opted-in for tracking. Indeed, smart businesses will intelligently use content and services to entice subscribers to opt-in.
View full article
This comes from Alex Pelletier.  Thank you, Alex! Here is a typical scenario: Marketing is sending email campaigns and some emails are bouncing back. Marketing would like to give visibility to sales on which of their leads bounced. Why should sales care about invalid email addresses? Most of the time, email addresses are bouncing because the person left the company. So knowing that suddenly one of your lead has left the company is a good opportunity to reengage with this account. Sales could call to find out who replace the person that left and and create a new lead. On the other hand, for your clients, if suddenly your internal champion leaves the company, you want to make sure you reach out to the account to help them continue to use your product. The last thing you want is to lose an account because someone left the company and you were not aware. Now you can do it easily using Marketo and Salesforce.com! Watch this 4 minutes tutorial video to learn how to setup properly both Marketo and Salesforce.com. youtube.com/watch?v=7BQiiNmq4M0
View full article
Note: Please ensure that you have access to an experienced Web developer.  Marketo Technical Support is not set up to assist with troubleshooting code. Marketo Form Proxy enables forms to be submitted to Marketo while removing any tracking information. The most common example where this can be used is a customer referral landing page. For an example (available at this writing), see www.marketo.com/referral. Server Requirements PHP CURL Server Installation To begin: Download this project, if you haven't already, here: github.com/Marketo/Form-Proxy/downloads. Edit the variables in mkto_proxy_config.template.php as necessary. Rename mkto_proxy_config.template.php to mkto_proxy_config.php. Drop the entire directory onto your website (or subdomain), e.g. YOUR-COMPANY.COM/post-proxy/ orpost-proxy.YOUR-COMPANY.COM/. Visit the directory you just created. If it redirects to the default URL you set in mkto_proxy_config.php, it works. Otherwise, you must've skipped a step. Now, on each landing page: Copy the text from Custom-HEAD.html.txt into the Custom HEAD HTML field in Marketo Design Studio (click Landing Page Actions, then Edit Page Meta Tags). Update that code. Replace YOUR-COMPANY.COM/post-proxy/ with the URL to the directory you created in the 3rd server installation step. Save your landing page and test thoroughly. Contributions This script is open sourced under a modified BSD license (more on that below). It does not require you to send contributions, but if you have any you'd like to share, please submit a PULL request through GitHub. License Copyright (c) 2012 Marketo, Inc. - marketo.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Marketo, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View full article
Note: Please ensure that you have access to an experienced Web developer. Marketo Technical Support is not set up to assist with troubleshooting code. The listOperation SOAP API call allows for the ability to interact with static lists (My Lists) in the Lead Database. The supported operations are adding a lead to list (ADDTOLIST), checking if a lead is a member of the list (ISMEMBEROFLIST), and removing a lead from a list (REMOVEFROMLIST) Note, there is no operation to create a new list (or delete) via the SOAP API. The list must be created beforehand in the Lead Database. In the examples, the list is named "Static List". Example 1 - Request: Adding multiple leads into the list <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>ADDTOLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>215</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 1 - Response: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>true</success>             <statusList xsi:nil="true"/>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 2 - Request: Check to see if leads are a part of list. One lead (Lead ID #213) is and the other (Lead ID #70) is not  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>ISMEMBEROFLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>70</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 2 - Response: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>false</success>             <statusList>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>213</keyValue>                   </leadKey>                   <status>true</status>                </leadStatus>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>70</keyValue>                   </leadKey>                   <status>false</status>                </leadStatus>             </statusList>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 3 - Request: Similar to Example 2, but all leads are valid  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>ISMEMBEROFLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>215</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 3 - Response:  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>true</success>             <statusList xsi:nil="true"/>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 4 - Request: Remove leads from the list. One lead (Lead ID #213) is a member of the list, the other (Lead ID #70) is not  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>REMOVEFROMLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>70</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Request 4 - Response:  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>false</success>             <statusList>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>213</keyValue>                   </leadKey>                   <status>true</status>                </leadStatus>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>70</keyValue>                   </leadKey>                   <status>false</status>                </leadStatus>             </statusList>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 5 - Request: Similar to Example 4, but all leads are valid  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>REMOVEFROMLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>215</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 5 - Response:  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>true</success>             <statusList xsi:nil="true"/>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Related Learning Resources Marketo SOAP API Reference
View full article
Also see: Enabling Asset Discovery - Marketo Docs - Marketo User Manual Steps to fix: Verify the RTP tag exists on the page Verify there are no any jQuery / Javascript / Other errors in the Developers Console Login to your account and go to the 'Account Settings' panel > make sure the 'Assets' toggle is switched to On In the 'Account Settings', go to the 'Assets' tab and make sure the URL patterns configuration are valid Select an asset in 'Assets' tab and click on link to check if click count increases and capturing you as the visitor. (see note 2) NOTES Don't forget to add wildcards (*) in your URL patterns, otherwise it will only cover the exact page you inserted:  marketo.com/solution  won't match: marketo.com/solution/rtp.pdf This step doesn't work with PDF files, simply because the rtp js tag is not installed on PDFs. In addition, the click event listener doesn't work on the back office, so only if it is an HTML page and you are viewing it (while rtp is running in the background) you should see the counter changes.
View full article
Syntax Recommendations Common Look Up mechanisms a: mx: include: ip4: ip6: exists: ptr: all Common Modifiers redirect= exp= An A Record must ALWAYS contain IP address (map host to IP) CNAME (Alias) must contain hostnames. No IPs here NS an MX records must contain host names. No IPs allowed. MX records (for mail servers)  should contain hostnames NOT IPs. Too Many Mechanisms Section 10.1, "Processing Limits" of the SPF RFC 4408 specifies the following in regards to DNS lookups: SPF implementations MUST limit the number of mechanisms and modifiers that do DNS lookups to at most 10 per SPF check, including any lookups caused by the use of the "include" mechanism or the "redirect" modifier.  If this number is exceeded during a check, a PermError MUST be returned.  The "include", "a", "mx", "ptr", and "exists" mechanisms as well as the "redirect" modifier do count against this limit.  The "all", "ip4", and "ip6" mechanisms do not require DNS lookups and therefore do not count against this limit. The "exp" modifier does not count against this limit because the DNS lookup to fetch the explanation string occurs after the SPF record has been evaluated. This limit is in place to prevent SPF lookups from being a useful avenue for Denial of Service attacks. Using an example SPF record as an example to illustrate, this record was breaking with 12 look-ups: example.com text = "v=spf1 include:_spf-a.example.com include:_spf-b.example.com include:_spf-c.example.com include:_spf-ssg-a.example.com include:spf-a.anotherexample.com ip4:131.107.115.215 ip4:131.107.115.214 ip4:205.248.106.64 ip4:205.248.106.30 ip4:205.248.106.32 ~all" [ 5 mechanisms] _spf-a.example.com  text = "v=spf1 ip4:216.99.5.67 ip4:216.99.5.68 ip4:202.177.148.100 ip4:203.122.32.250 ip4:202.177.148.110 ip4:213.199.128.139 ip4:213.199.128.145 ip4:207.46.50.72 ip4:207.46.50.82 a:mh.example.m0.net ~all"  [ +1 = 6 mechanisms] mh.example.m0.net a = 209.11.164.116 _spf-b.example.com text = "v=spf1 include:spf.messaging.example.com ip4:207.46.22.35 ip4:207.46.22.98 ip4:207.46.22.101 ip4:131.107.1.27 ip4:131.107.1.17 ip4:131.107.65.22 ip4:131.107.65.131 ip4:131.107.1.101 ip4:131.107.1.102 ip4:217.77.141.52 ip4:217.77.141.59 ~all" [+1 = 7 mechanisms] spf.messaging.example.com text = "v=spf1 include:spfa.anotherexample.com include:spfb.anotherexaple.com include:spfc.anotherexample.com -all"  [+3 = 10 mechanisms] spfa.anotherexample.com  text = "v=spf1 ip4:157.55.116.128/26 ip4:157.55.133.0/24 ip4:157.55.158.0/23 ip4:157.55.234.0/24 ip4:157.56.112.0/24 ip4:157.56.116.0/25 ip4:157.56.120.0/25 ip4:207.46.100.0/24 ip4:207.46.108.0/25 ip4:207.46.163.0/24 ip4:134.170.140.0/24 ip4:157.56.110.0/23 -all" [+0 = 10 mechanisms] spfb.anotherexample.com  text = "v=spf1 ip4:207.46.51.64/26 ip4:213.199.154.0/24 ip4:213.199.180.128/26 ip4:216.32.180.0/23 ip4:64.4.22.64/26 ip4:65.55.83.128/27 ip4:65.55.169.0/24 ip4:65.55.88.0/24 ip4:94.245.120.64/26 ip4:131.107.0.0/16 ip4:157.56.73.0/24 ip4:134.170.132.0/24 -all" [+0 = 10 mechanisms] spfc.anotherexample.com  text = "v=spf1 ip4:207.46.101.128/26 ip6:2a01:111:f400:7c00::/54 ip6:2a01:111:f400:fc00::/54 ip4:157.56.87.192/26 ip4:157.55.40.32/27 ip4:157.56.123.0/27 ip4:157.56.91.0/27 ip4:157.55.206.0/24 ip4:157.55.207.0/24 ip4:157.56.206.0/23 ip4:157.56.208.0/22 -all" [ +0 = 10 mechanisms] _spf-c.example.com  text = "v=spf1 ip4:203.32.4.25 ip4:213.199.138.181 ip4:213.199.138.191 ip4:207.46.52.71 ip4:207.46.52.79 ip4:131.107.1.18 ip4:131.107.1.19 ip4:131.107.1.20 ip4:131.107.1.48 ip4:131.107.1.56 ip4:86.61.88.25 ip4:131.107.1.44 ip4:131.107.1.37 ~all" [+0 = 10 mechanisms] _spf-ssg-a.example.com  text = "v=spf1 include:_spf-ssg-b.example.com include:_spf-ssg-c.example.com ~all"  [+2 = 12 mechanisms] _spf-ssg-b.example.com  text = "v=spf1 ip4:207.68.169.173/30 ip4:207.68.176.1/26 ip4:207.46.132.129/27 ip4:207.68.176.97/27 ip4:65.55.238.129/26 ip4:207.46.222.193/26 ip4:207.46.116.135/29 ip4:65.55.178.129/27 ip4:213.199.161.129/27 ip4:65.55.33.70/28 ~all"  [+0 = 12 mechanisms] _spf-ssg-c.example.com text = "v=spf1 ip4:65.54.121.123/29 ip4:65.55.81.53/28 ip4:65.55.234.192/26 ip4:207.46.200.0/27 ip4:65.55.52.224/27 ip4:94.245.112.10/31 ip4:94.245.112.0/27 ip4:111.221.26.0/27 ip4:207.46.50.221/26 ip4:207.46.50.224 ~all" [+0 = 12 mechanisms] spf-a.secondexample.com  text = "v=spf1 ip4:157.55.0.192/26 ip4:157.55.1.128/26 ip4:157.55.2.0/25 ip4:65.54.190.0/24 ip4:65.54.51.64/26 ip4:65.54.61.64/26 ip4:65.55.111.0/24 ip4:65.55.116.0/25 ip4:65.55.34.0/24 ip4:65.55.90.0/24 ip4:65.54.241.0/24 ip4:207.46.117.0/24 ~all" [+0 = 12 mechanisms] Character String Too Long 255 character limitation in a single string kb.isc.org/article/AA-00356/0/Can-I-have-a-TXT-or-SPF-record-longer-than-255-characters.html string-functions.com/length.aspx You may have more than 255 characters of data in a TXT or SPF record, but not more than 255 characters in a single string. If you attempt to create an SPF or TXT record with a long string (>255 characters) in it, BIND will give an error (e.g. "invalid rdata format: ran out of space".)  Strings in SPF and TXT records should be no longer than 255 characters.  However to get around this limitation, per RFC 4408 a TXT or SPF record is allowed to contain multiple strings, which should be concatenated together by the reading application.  In the case of use for SPF (using either TXT or SPF RRs) the strings are concatenated together without spaces as described below.  Reassembly by other applications of multiple strings stored in TXT records might work differently. 3.1.3. Multiple Strings in a Single DNS record As defined in [RFC1035] sections 3.3.14 and 3.3, a single text DNS record (either TXT or SPF RR types) can be composed of more than one string. If a published record contains multiple strings, then the record MUST be treated as if those strings are concatenated together without adding spaces. For example: IN TXT "v=spf1 .... first" "second string..." MUST be treated as equivalent to IN TXT "v=spf1 .... firstsecond string..." SPF or TXT records containing multiple strings are useful in constructing records that would exceed the 255-byte maximum length of a string within a single TXT or SPF RR record. EXAMPLE text = "v=spf1 ip4:199.15.212.0/22 ip4:72.3.185.0/24 ip4:72.32.154.0/24 ip4:72.32.217.0/24 ip4:72.32.243.0/24 ip4:94.236.119.0/26  ip4:37.188.97.188/32 ip4:185.28.196.0/22 ~all“ text = "v=spf1 ip4:199.15.212.0/22“ " ip4:72.3.185.0/24 ip4:72.32.154.0/24 ip4:72.32.217.0/24" " ip4:72.32.243.0/24 ip4:94.236.119.0/26" " ip4:37.188.97.188/32 ip4:185.28.196.0/22 ~all" Null Records in the SPF Record A record that is NULL or that does not exist will break an SPF record.  Syntax within the record is very important, if there are extra spaces between mechanisms it will count as NULL. EXAMPLE text = "v=spf1 ip4:199.15.212.0/22“ <- accurate text = "v=spf1 ip4: 199.15.212.0/22“ <- NULL (NOTE the space between IP4: and the IP) Repetitive Records in the SPF Record - Void Lookups If there are too many repetitive mechanisms in the SPF record, including records that cascade (for example when using "include:") the record will break. There is a MAX of 2 void look ups in an SPF record.  More than that and the record will break.  This prevents SPF records from being used in Denial of Service style attacks. Validation Tools SPF checker, syntax validator and SPF tester http://www.kitterman.com/spf/validate.html SPF checker http://vamsoft.com/support/tools/spf-policy-tester SPF validator vamsoft.com/support/tools/spf-syntax-validator CIDR Calculator subnet-calculator.com/cidr.php Nslookup network-tools.com/nslook/ SPF creation wizard microsoft.com/mscorp/safety/content/technologies/senderid/wizard/ Common SPF errors http://www.openspf.org/FAQ/Common_mistakes SPF syntax definitions http://www.openspf.org/SPF_Record_Syntax
View full article
Issue Description You have a Smart List that should exclude a group of leads from a campaign, but they still show up in the Qualified Leads list   Issue Resolution Check the filter logic for your Smart Lampaign. "Or" logic allows leads that only qualify for some but not all of the filters to be included in the membership.  For example, you could have a Smart List with the following filters. SFDC Type = Contacts Unsubscribed = False (You are trying to exclude unsubscribed leads) Visited Webpage - company.com/products   If you use the following Advanced logic - "(1 or 2) and 3" - you will still have unsubscribed leads showing up in the list because they are Contacts, and the logic says they can be either Contacts or Unsubscribed = False.  They only need to satisfy one of the two filters to qualify, and an unsubscribed Contact would go through.   There is a blog post that goes into more detail on this.  Smart List Logic - How many people do you want in your club? Is this article helpful ? YesNo
View full article
Issue Description How to edit the page title (shown on a web browser tab) of an email when viewed as a web page. Issue Resolution The web page title of an email can be modified by editing the HTML of the email. For instance, entering the title tag in the header will make this change: <title>Email title</title> w3schools.com/tags/tag_title.asp docs.marketo.com/display/public/DOCS/Edit+an+Email%27s+HTML As this requires editing the HTML or customizing the code of an email, if you are unfamiliar with coding, contact a web developer for further assistance.
View full article
Issue Description The error type "The remote server's SSL certificate or SSH fingerprint was rejected" occurs when the SSL certificate is being used on the main domain and not Sub-domains.   Issue Resolution Check the URL in Admin > Webhooks Click on the webhook in the right corner. For example, if the URL is, onlineservices.test.marketo.com, the certificate needs to be valid on *.test.marketo.com and not just *.Marketo.com. Check this by verifying the certificate on "sslshopper.com" and all the certificates will be listed as Subject Alternative Name's if the certificate is valid on the sub-domains. For example: For Google.com "sslshopper.com/ssl-checker.html#hostname=google.com", the certificate is valid on *.Google.com as well as all the subdomains as listed in SAN's. Is this article helpful ? YesNo
View full article
Issue Description A sent email bounced with reason "550 [internal] [oob] The recipient is invalid" but you are sure the email address is valid Issue Resolution Regarding the "550 [internal] [oob] The recipient is invalid" these are bounces, but the informative part here is the "oob" piece of the message. This indicates that the bounce message was "Out Of Bounds", meaning that the recipient mail server first said that it would accept the email, but then afterwards bounced it. If you look at the lead records that are giving these messages, you'll see that there will be an "Email Delivered" activity right before this bounce message, which is what makes it "Out Of Bounds" since it's reporting that it both delivered it and then also that it bounced it. This happens a lot but there isn't really any way Marketo can control it as it's entirely up to the recipient mail server. Marketo records the "delivered" or "bounced" messages back whenever they come in, but recognizes when it's gotten both that it's unusual behavior, which is why it appends that "[oob]" piece into the message. Many times this happens when a recipient mail server accepts the emails through a main server, then dumps them over to a secondary server. The first one that takes in the email gives back the "Email Delivered" message. Then, the secondary server evaluates each email based off of spam filters and against known email addresses in their system. If they've got invalid email addresses or are filtered out as spam, they'll then be bounced, causing the bounced message after the delivered message. If you want to track your bounces so that you don't continue to have problems, try this doc here: Maintaining a Directory of Leads Bouncing Emails To provide more evidence- you can run through the emails through online email verification tools it test them. Some examples of online email verification tools are mailtester.com/testmail.php verifyemailaddress.org/ https://hunter.io/email-verifier/ You can manually change the value of the “Email Invalid” field and try communicating with the lead again if necessary.
View full article
Issue Description URLs generated by a Velocity script token are not tracking when a person clicks on the link in an email Issue Resolution Velocity scripting enforces strict formatting of links in order for them to be tracked: or must be included in the URL.  If using a variable, the or must be output outside of the variable. The URL must be part of a fully formed <a> tag.  No other type of link tag will work Links must not be outputted from within a for or foreach loop To ensure links are tracked properly, set the entire path inside a variable and then print the variable. Correct: #set($url = "www.example.com/${object.id}") <a href="${url}">Link Text</a> Correct: <a href="example.com/${object.id}">Link Text</a> Incorrect: <a href="${url}">Link Text</a> (missing http/https) <a href="{{my.link}}">Link Text</a> (missing http/htpps, cannot reference an outside my.token) <page xlink:type="simple" xlink:href="example.com">Click me</page> (must use an <a> tag)
View full article
Issue Description You receive "Object reference exception error" in Outlook Issue Resolution The reason this error is occurring is because the ToutApp Outlook add-in depends on a reference object in a newer version of the .NET framework than the version of .NET currently installed on your machine. To resolve this, download the updated version (microsoft.com/en-us/download/details.aspx?id=42643) of the .NET framework from Microsoft's site, and install it on your machine. Once it's installed, please reboot the computer.  After you've successfully installed and rebooted, go ahead and open Outlook. You should see it start up without issue, and the ToutApp add-in should be present and fully functional. Who This Solution Applies To Customers with ToutApp
View full article
Issue The webhook error type "The remote server's SSL certificate or SSH fingerprint was rejected" occurs when the SSL certificate is being used on the main domain and not Sub-domains.     Solution Check the URL in Admin > Webhooks Click on the webhook in the right corner. For example, if the URL is, onlineservices.test.marketo.com, the certificate needs to be valid on *.test.marketo.com and not just *.Marketo.com. Check this by verifying the certificate on "sslshopper.com" and all the certificates will be listed as Subject Alternative Name's if the certificate is valid on the sub-domains. For example: For Google.com "sslshopper.com/ssl-checker.html#hostname=google.com", the certificate is valid on *.Google.com as well as all the subdomains as listed in SAN's.    
View full article
Issue What type of HTTP Redirect Rules does Marketo use when you setup a redirect rule in Admin > Landing Pages?     Solution Internal Pages such as landing pages hosted on Marketo will use a HTTP 301 Redirect External pages & non landing page URL's (when using "non-Marketo landing page") used in the redirect rule will utilize a HTTP 302 Redirect: Branding links do not use an HTTP Redirect and use a script-based redirect on the Branded links page. Example: Email branding link - go.mybranddomain.com/ABCDEFIlB0ETg0X063WLL1 is a Marketo hosted page that utilizes a script to redirect & point to thetargeturlinanemail.com
View full article