Knowledgebase

Sort by:
Issue Best practices for trigger campaigns. Environment This applies to all Marketo users who are utilizing trigger campaigns in their marketing activities. Solution Marketo's trigger campaigns are designed to monitor every relevant activity, even if it doesn't immediately meet certain constraints or filters. For example, if there are 10 active Clicked Email Campaigns and 100 leads engage with an email, each lead will be evaluated 10 times to check if they qualify for a trigger. In this example that would lead to 1000 evaluations total. This happens even if they don't meet the criteria due to certain filters or constraints. To make your trigger evaluation process quicker and more efficient, follow these best practices: 1. Deactivate any trigger campaigns that are no longer needed. This reduces the number of active monitors that could potentially activate trigger event evaluations.    Note: Marketo automatically deactivates smart campaigns that have been dormant (no lead triggers them) for 6 months or more on a quarterly basis. However, you can manually deactivate campaigns whenever necessary. 2. Convert Trigger campaigns to Batch campaigns if immediate responses are not required. This is particularly useful for activities or campaigns that can run overnight. Batch campaigns operate on a separate component of Marketo's processors, meaning they won't impact the speed of Trigger qualifier processes.  
View full article
Issue Occasionally, you will find it useful to provide someone a direct link to an RCE report. If you merely 'Open' the report, it will open in the same tab, and the address bar URL will not change. There is a different way to obtain the direct URL to the RCE report.     Solution When opening an RCE report, if you 'Open in a new window', this will pop-out the report in a new window with the direct URL to the RCE report.     Once the report opens in the new window, you may Copy and Paste the URL.    
View full article
Issue You are using a formula/look-up/reference field in Salesforce, the field is synced to Marketo, but you are not seeing updates sync from Salesforce to Marketo. Solution When a SFDC formula/look-up/reference field is updated, the SysModStamp does not update. The SysModStamp is how the sync knows which record (Marketo vs SFDC) is more up to date. You can think of the formula/look-up/reference field like a window to a different value. If the value inside the window changes, that does not queue the record up to be synced. But if the record is queued up to be synced due to another update made to the record, like changing first name, then the current value inside the window will sync down to Marketo.   To avoid this delay in updating, you may wish to replace the formula or lookup field with a string field that has the appropriate value written to it by a workflow. Updates to SFDC string fields will always update the SysModStamp and queue the sync to Marketo.    
View full article
Setting an email to "operational" does the following No unsubscribe link automatically added Email will be sent to leads set to Unsubscribed Email will be sent to leads set to Marketing Suspended   Note - when sending an operational message, Unsubscribed and Marketing Suspended leads will still be included in the "blocked from email" count on the schedule tab of the campaign.   When is it OK to use the operational setting?   Sending marketing email to unsubscribed addresses is illegal. For this reason, you should be extremely careful to only use this setting in extremely limited circumstances. Using this setting incorrectly violates Marketo's Terms of Service, and most antispam laws. There may be legal consequences for using this setting incorrectly. Good uses of the operational setting fall into two categories: Transactional messages Relationship messages   What's a transactional message? A transactional message is part of a transaction that a lead has initiated and you are responding to. Here's some examples of transactional messages: Receipts for purchases Registration confirmations Download links in response to form fill-outs Requested assets (whitepapers, spec sheets, etc.)   What's a relationship message? A relationship message describes something that affects your business relationship with the lead. Here's some examples of relationship messages: Downtime notifications Changes to terms of service Recall notices End of service notifications   Operational messages should not contain any marketing content at all. In other words, do not use the operational setting to send a message that contains a receipt and a promotion, only a receipt.
View full article
Marketo calls to the Salesforce API During a single sync session, Marketo makes 25 API calls to check if your Salesforce objects need updating.  Because your Salesforce sync happens in 5 minute intervals (default setting), each day Marketo makes 7200 API calls to your account to see if any updates are needed. If there are updates, more API calls are used to sync the information.  Leads, Contacts, Accounts, Opportunities, Campaigns, and Activities are synced in batches of 200 per API call. If you use a Sync Lead to SFDC or Add to Campaign flow step in trigger campaigns, each one uses at least one API call per lead; the API call happens when the lead hits that flow step (instead of waiting for the next sync). Batch campaigns can send up to 200 leads to Salesforce with 1 API call for these flow steps. Any activities you've synced from Marketo to Salesforce (like "Filled Out Form" or "Opened Email") use an extra API call per event. You can use these to estimate the number of API calls Marketo makes per day.  For example, if you have 1,000 Lead and Contact updates a day and 100 Account, Opportunity, and Campaign updates, you'll use: 7200 (check for updates) + (1000 Lead updates / 200 per API call) + (1000 Contact updates / 200 per API call) + (100 Account updates / 200 per API call) + (100 Opportunity updates / 200 per API call) + (100 Campaign updates / 200 per API call) + 7200 + 5 + 5 + 1 + 1 + 1 = 7213 API calls When you first sync your Salesforce account to Marketo, you'll use significantly more API calls until Marketo is up to date with your Salesforce instance.  After that, you can expect the API calls to be much lower unless you make large updates to your leads (in Marketo or Salesforce) API Calls and your Salesforce edition Salesforce determines your API call limit based on the edition and licenses you have. This document from Salesforce has information on how they calculate that limit. For many Salesforce users, particularly Enterprise Edition users, the number of API calls made by Marketo is usually not a problem. If you're using a more limited edition of Salesforce or don't have many Salesforce licenses, you may hit the daily limit on your API calls.  In that case, please contact Marketo Support and ask us to decrease your sync interval.  At a 30 minute sync interval, Marketo uses around 1000 API calls per day, well under the limit for nearly every Salesforce edition. To see your API limit (per 24 hour period) and your current usage (for past 24 hours) in SFDC,  navigate to: Setup -> Administration Setup -> Company Profile -> Company Information Look for the field called "API Requests, Last 24 Hours", which will display API usage for the past 24-hour period as well as your current 24-hour limit (in parenthesis). Order of Events during SFDC Sync Marketo will sync your SFDC and Marketo objects in the following order: Lead: synch schema Account: synch schema Contact: synch schema User: synch schema Task: synch schema Opportunity: synch schema Opportunity Contact Role: synch schema Campaign: synch schema Campaign Member: synch schema Campaign Member Status: synch schema Lead: pull conversions Account: pull deletes Account: pull updates User: pull updates Lead Queue: pull updates Lead Status: pull updates Account Type: pull updates Lead: pull deletes Contact: pull deletes Lead: pull updates Contact: pull updates Lead: push updates Contact: push updates Campaign: pull deletes Campaign Member: pull deletes Campaign Member Status: pull deletes Campaign: pull updates Campaign Member: pull updates Campaign Member Status: pull updates Opportunity: pull deletes Opportunity Contact Role: pull deletes Opportunity: pull updates Opportunity Contact Role: pull updates Event: pull updates Task: pull updates Email Template: push new Email Template: push updates Task: push new Task: push updates
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. Here's our recommendation for how you can collect keyword, search engine, and PPC info in Marketo.  It takes a bit of work, and you'll definitely need to know your Javascript. 1. Create custom fields You'll need to create some new fields to store the additional data. If you want these fields to be visible in Salesforce, create them on both Lead and Contact records. All of these should be of type String: Search String -- to store the query that drove the lead to your web page Search Engine -- the search engine or URL which provided the lead your web page Pay Per Click Keyword -- if the link was a PPC (ex. AdWords), the PPC keyword for that link 2. Add the fields to your forms Go to the Design Studio and edit any forms where you want to capture this information.  Add the fields you created as hidden fields set to a default value (as opposed to set from a cookie or URL parameter). You'll probably want to leave the default value as blank -- that is, the lead did not come from a PPC -- but feel free to put in another value if appropriate (Making a Field Hidden on a Form) This solution will not update the Lead Source for leads who come to your site via PPC.  If you want the lead source updated for PPC leads, you'll need to do that via a Smart Campaign or by adding it as a hidden field to your forms. 3. Put Javascript on your landing pages You MUST edit the Javascript below or it will not work!The code below sets cookies with the search engine, search term, and PPC info as long as it came from a domain outside your website. The script then populates the form fields using the cookie values. The reason for using cookies is because your leads may not fill out your form when they first hit your landing page; they may click your AdWords ad, browse around, and then go to your form.  Cookies retain those values for when they're needed -- when the leads complete your form.Using cookies also lets you capture this info on non-Marketo pages too.  See step 4 if you're interested in that.If you want this on a single landing page, add it as a Custom HTML block.  If you want this on several or all your landing pages, add it to your Landing Page Template.You'll need to change the following variables/strings, highlighted in the Javascript below: Variable Description excludedReferrers All domains where you don't want to check referrers as in "company.com" -- typically these are your own website domains. If you need to exclude multiple domains, separate them with commas. cookieDomain The base domain of your landing pages without any subdomians (like "www." or "pages.").  This will be used to store cookie values.  If your landing pages are on "pages.yourcompany.com" then this should be "yourcompany.com". payPerClickParameter The URL Parameter with the keyword depending on how you set up your your pay per click URLs. Typically "keyword" or "kw". searchStringField searchEngineField payPerClickKeywordField IDs of the hidden form fields where the cookie values should be inserted. Find them by following the instructions in this article: Setting or Getting a Form Field Value via Javascript on a Landing Page <script src="/js/public/jquery-latest.min.js" type="text/javascript"></script> <script src="/js/public/jquery.cookie.js" type="text/javascript"></script> <script src="/js/public/jQueryString-2.0.2-Min.js" type="text/javascript"></script><script type="text/javascript"> var $jQ = jQuery.noConflict();$jQ(document).ready(function(){   //    //--- CHANGE THESE!!! ---    //    // Change this to match domains of referrers you want to ignore.     // You'll want to ignore referrers from your own domains.     // Use only the base domain name without subdomains (ex. "company.com")     // Separate multiple domains with commas (leave the brackets).   var excludedReferrers = [ "yourcompany.com", "yourcompany2.com" ];    // Change this to match the base domain of your company's landing pages.     // Cookies will be created with this domain.     // Ex. If your landing page domain is "pages.yourcompany.com" then use     //     "yourcompany.com"   var cookieDomain = "yourcompany.com";    // The URL parameter that has your pay-per-click info.     // Typically "kw" or "keyword" (depends on how you set up your PPC URLs)   var payPerClickParameter = "keyword";    // IDs for the fields to be updated.   var searchStringField = "#Search_String__c";   var searchEngineField = "#Search_Engine__c";   var payPerClickKeywordField = "#Pay_Per_Click_Keyword__c";   //    //-- you probably shouldn't change anything after this --    //  var refer = document.referrer;   var searchString;   var searchEngine;      // if there's no referrer, do nothing   if ( (refer == undefined) || (refer == "") ) { ; }   else {      // get the domain of the referring website -- http://[[this-thing.com]]/     var referrerDomain =       refer.substr(refer.indexOf("\/\/") + 2,         refer.indexOf("\/",8) - refer.indexOf("\/\/") - 2).toLowerCase();    var excludedDomainFound = false;     var i = 0;      // search the excluded domain list to see if the referrer domain is on it     while ( (i < excludedReferrers.length) && !excludedDomainFound) {       var thisExcludedDomain = excludedReferrers[i].toLowerCase();        // weird semantics here -- indexOf returns "-1" if the search string isnt found.         // thus excludedDomainFound is true only when indexOf matches an excluded domain (!= -1)       excludedDomainFound = (referrerDomain.indexOf(thisExcludedDomain) != -1);       i++;     }     // only if the referrer isn't in our excluded domain list...     if( !excludedDomainFound ) {         // extract the URL parameters from common search engines         // To add your own, each engine needs:         //  name: how the search engine will appear on your Marketo leads         //  url: REGEX for matching the engine's referrer.  ex.  /\.google\./i         //  query: URL parameter that contains the search query - usually "p" or "q"      var searchEngines = [        { name: "Yahoo", url: /\.yahoo\.co/i, query: "p" },        { name: "Google", url: /\.google\./i, query: "q" },        { name: "Microsoft Live", url: /\.live\.com/i, query: "q" },        { name: "MSN Search", url: /search\.msn\./i, query: "q" },        { name: "AOL", url: /\.aol\./i, query: "query" },        { name: "Bing", url: /\.bing\.com/i, query: "q" },        { name: "Ask", url: /\.ask\.com/i, query: "q" }       ];        // find the referring search engine (if any)       i = 0;       while (i < searchEngines.length) {         if (refer.match(searchEngines[i].url)) {           searchEngine = searchEngines[i].name;           searchString = $jQ.getQueryString({ ID: searchEngines[i].query,             URL: refer, DefaultValue: "" });           break;         }         i++;       }          // If no search engine is found, this person probably used a less          // popular one.  Use the referring doman, then guess the query parameter       if (i == searchEngines.length) {         searchEngine = referrerDomain;         var queries = ["q","p","query"];          var i = 0;          while ((i < queries.length) && (searchString == undefined)) {            searchString = $jQ.getQueryString({ ID: queries[i], URL: refer });            i++;          }           // no search strings found -- use this text instead.          if (searchString == undefined) {            searchString = "None";          }       }         // Use the provided URL parameter to get the PPC keyword.       var payPerClickWord = $jQ.getQueryString({ID: payPerClickParameter,         URL: refer, DefaultValue: "" });         // Put the info into cookies.  These values will be extracted          // and put into a Marketo form later.  Expires in 2 years.       $jQ.cookie('mktoPPCKeyword', payPerClickWord,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchEngine', searchEngine,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchString', searchString,          {expires: 730, path: '\/', domain: cookieDomain});     }   }     // Get the values from the cookies and put them into the hidden fields   $jQ(searchStringField).attr("value",$jQ.cookie('mktoSearchString'));   $jQ(searchEngineField).attr("value",$jQ.cookie('mktoSearchEngine'));   $jQ(payPerClickKeywordField).attr("value",$jQ.cookie('mktoPPCKeyword'));});</script> 4. Add cookie code on your website (Optional) To close the loop on capturing the keyword, search engine, and PPC, you need to add Javascript to your website similar to that above.  This code will store that informaiton in cookies, then those cookies will be read when the user submits the form (with the javascript above on your landing pages).This Javascript uses the jQuery, jQuery Cookies plugin, and jQueryString plugin scripts.  Deploy them on your site and note the URL where they're hosted.You'll also need to edit all of your web pages, similar to when you installed Munchkin tracking.  You can put the Javascript in the same spot of the webpage.In the code below, change the Javascript src URLs to match where you installed jQuery and the plugins excludedReferrers variable as you did in the Javascript above cookieDomain variable to be "yourcompany.com" as you did above payPerClickParamater variable as you did above <script src="/js/jquery-latest.min.js" type="text/javascript"></script> <script src="/js/jquery.cookie.js" type="text/javascript"></script> <script src="/js/jQueryString-2.0.2-Min.js" type="text/javascript"></script> <script type="text/javascript"> var $jQ = jQuery.noConflict(); $jQ(document).ready(function(){    // CHANGE THESE Change this to match domains of referrers you want to ignore. You'll want to ignore referrers from your own domains. Use only the base domain name without subdomains (ex. "company.com") Separate multiple domains with commas (leave the brackets).   var excludedReferrers = [ "yourcompany.com", "yourcompany2.com" ];     // Change this to match the base domain of your company's landing pages.     // Cookies will be created with this domain.     // Ex. If your landing page domain is "pages.yourcompany.com" then use     //     "yourcompany.com"   var cookieDomain = "yourcompany.com";     // The URL parameter that has your pay-per-click info.     // Typically "kw" or "keyword" (depends on how you set up your PPC URLs)   var payPerClickParameter = "keyword";    // You probably shouldn't change anything after this    //   var refer = document.referrer;   var searchString;   var searchEngine;       // if there's no referrer, do nothing   if ( (refer == undefined) || (refer == "") ) {       ;   } else {        // get the domain of the referring website -- http://[[this-thing.com]]/     var referrerDomain =         refer.substr(refer.indexOf("\/\/") + 2,           refer.indexOf("\/",8) - refer.indexOf("\/\/") - 2).toLowerCase();     var excludedDomainFound = false;     var i = 0;       // search the excluded domain list to see if the referrer domain is on it     while ( (i < excludedReferrers.length) && !excludedDomainFound) {       var thisExcludedDomain = excludedReferrers[i].toLowerCase();          // weird semantics here -- indexOf returns "-1" if the search string isnt found.          // thus excludedDomainFound is true only when indexOf matches an excluded domain (!= -1)       excludedDomainFound = (referrerDomain.indexOf(thisExcludedDomain) != -1);       i++;     }      // only if the referrer isn't in our excluded domain list...     if( !excludedDomainFound ) {        // extract the URL parameters from common search engines        // To add your own, each engine needs a:        //  name: how the search engine will appear on your Marketo leads        //  url: REGEX for matching the engine's referrer.  ex.  /\.google\./i        //  query: URL parameter that contains the search query - usually "p" or "q"       var searchEngines = [        { name: "Yahoo", url: /\.yahoo\.co/i, query: "p" },        { name: "Google", url: /\.google\./i, query: "q" },        { name: "Microsoft Live", url: /\.live\.com/i, query: "q" },        { name: "MSN Search", url: /search\.msn\./i, query: "q" },        { name: "AOL", url: /\.aol\./i, query: "query" },        { name: "Bing", url: /\.bing\.com/i, query: "q" },        { name: "Ask", url: /\.ask\.com/i, query: "q" }       ];         // find the referring search engine (if any)       i = 0;       while (i < searchEngines.length) {         if (refer.match(searchEngines[i].url)) {           searchEngine = searchEngines[i].name;           searchString = $jQ.getQueryString({ ID: searchEngines[i].query,             URL: refer, DefaultValue: "" });           break;         }         i++;       }         // If no search engine is found, this person probably used a less         // popular one.  Use the referring doman, then guess the query parameter       if (i == searchEngines.length) {          searchEngine = referrerDomain;          var queries = ["q","p","query"];          var i = 0;          while ((i < queries.length) && (searchString == undefined)) {            searchString = $jQ.getQueryString({ ID: queries[i], URL: refer });            i++;          }           // no search strings found -- use this text instead.          if (searchString == undefined) {            searchString = "None";          }       }         // Use the provided URL parameter to get the PPC keyword.       var payPerClickWord =         $jQ.getQueryString({ID: payPerClickParameter,            URL: refer, DefaultValue: "" });          // Put the info into cookies.  These values will be extracted          // and put into a Marketo form later. Expires in 2 years.       $jQ.cookie('mktoPPCKeyword', payPerClickWord,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchEngine', searchEngine,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchString', searchString,          {expires: 730, path: '\/', domain: cookieDomain});     }   } }); </script>
View full article
Here it is: Your guide to understanding merges in Marketo, in Salesforce, and how the two interact. Merging Two Leads We begin with two records in Marketo which have been synced to Salesforce. Both are leads in Salesforce, not contacts. Lead A, Marky Marky, has a Marketo ID of 1001446 and an SFDC ID of 00Qi000000vJ0hK. Lead B, Markee Marquee, has a Marketo ID of 1001447 and an SFDC ID of 00Qi000000vJ0hU. We wish to merge these leads in Marketo. In this example, I first select Lead B, and then hold SHIFT to select Lead A as well. Then right-click in the highlighted area to bring up the Lead Actions drop-down (or click Lead Actions at the top of the screen), and select Merge Leads from the choices. Now I see the Merge Leads dialog box, where we decide which conflicting field values we want to win. We could click the box next to "Lead 1" if I want all of Markee Marquee's values to win. Instead we check the box next to "Marky" because we want that to be their first name, rather than "Markee". Then we click merge. Note: whichever record was most recently updated will be pre-checked to win field conflicts. Here's the result. Note how the remaining single lead has the ID 1001447, that of Lead B, the first one we selected. The first record you select is the target record - this records remains while the other record is deleted, it's field values, activities, and program memberships merged into this winning record. The leads are also merged in Salesforce, and the remaining record there has the ID 00Qi000000vJ0hU (Lead B) as we would expect. Merging Leads and Contacts Here we begin with a lead and a contact. We have a lead, Marky Marquee (Marketo ID1001447, SFDC ID 00Qi000000vJ0hU), and a contact, Joe Hill (Marketo ID 1001448, SFDC ID 003i000002KAFGa). We first select Marky Marquee (the lead) and then select Joe Hill (the contact), and conduct the merge as we did above. This time, however, the second record we clicked, Joe Hill, shows up as "Lead 1". This seems to contradict what we said earlier, but it's happening because the second record is the contact, and the contact is always going to be the target record. I want Marky's name to win out, so I check their First and Last Name and then click Merge. Note: this will cause an error if the Marketo sync user in SFDC doesn't have the Convert Leads permission. Note that the remaining record has the ID 1001448, the ID of the contact, even though that wasn't the first record we selected in Marketo. The contact is always the one which remains. Program Memberships Here we have two leads: Dexter Science (ID 1001451) and James Frankough (ID 1001452). We add James to two programs, Program Example 1 and Program Example 2. We can see this in their activity log: Now we merge the records, selecting Dexter first (so they'll be the winning record), but we check James's values for the First and Last Name. Below is their activity log after the merge. Notice that there are new Change Program Status activities - because the target record in the merge was 1001451, but the programs were associated with 1001452, the system has to copy their program statuses over during the merge. If you double-click one of those activities, it gives "Lead merge transferring program membership (transfer)" as the activity's Reason. Activities caused by merges can trigger campaigns. For example, suppose there is a smart campaign with the trigger Program Status Changes, for an old program with no activity in months. Activities caused by a merge like this could trigger such a campaign. To prevent this from triggering campaigns, we can add Reason as a constraint: Campaign Memberships Next, we have two leads: John Doe (ID 247) and Johnathon Doe (ID 248). We've associated John Doe with two SFDC Campaigns: Campaign Example 1 and Campaign Example 2. When we merge John Doe into Johnathon Doe, since the target lead is ID 248 and the campaigns are associated with ID 247, it has to copy them over - just like it did with campaign memberships. However, unlike with program memberships, it does not provide a Reason in the Add to SFDC Campaign activity following the merge, meaning there's no easy way to prevent this from triggering campaigns which use the Added to SFDC Campaign trigger.
View full article
Issue Your IT department wants to know why they need to create separate subdomains for Marketo email tracking links and Marketo landing pages, and cannot simply use the web domain you already have.     Solution Each web domain can only point to one resource.  Your company's web domain (www.example.com) points to the server or web hosting service that handles your company's web page.  It cannot also point to Marketo's email link tracking server or Marketo's landing page web server.  Additionally, since the link tracking server is separate from the landing page server, you need two different CNAME sub-domains, one for the email links (email.example.com) and one for your landing pages (lp.example.com).    
View full article
Issue Description You come across a few leads who failed to sync to SFDC and would like to have the list of leads who faced the same issue. Issue Resolution Unfortunately Marketo doesn't have a specific type of filter to leads who failed to sync to SFDC. However if they are new leads who haven’t synced to SFDC, then you can filter them by using the filters "Person was created" and "SFDC Type" with condition "is empty".     If you want to find the list of leads (previously synced to SFDC) who failed to sync among a particular group of leads, you can filter by following the below steps.   1. Create a new Boolean type field in SFDC namely "Sync Error?" and with the default value as "true". 2. Wait for the filed to sync into Marketo. 3. Create a smart campaign to select those group of records and the flow steps to change the value of the Boolean field "Sync Error?" to ”False" and then "Sync person to SFDC". 4. Once the campaign has finished running, you will be to pull a report on SFDC on the list of leads who have the value "True" for the field "Sync Error?". It means that the value was not updated to SFDC as the record failed to sync. With this list you will be able to select the records and resolve the sync issue.   You can also create a smart list of leads who were never able to sync with the following filters: Lead was synced to SFDC : Assign to : is not empty SFDC Type: is Empty   I would also suggest that you refer the below list of ideas to improve the visibility of sync errors. https://nation.marketo.com/thread/33692-marketo-salesforce-integration-needs-a-serious-overhaul-dont-you-sync   Who This Solution Applies To Customers integrated with Salesforce Is this article helpful ? YesNo
View full article
Issue You or your customer have a global block on emails sent from servers with the domain "mktomail.com." You would like to keep the global block but allow email from your own Marketo instance to pass through.   Solution The return-path (or envelope_from) in the header of most Marketo emails includes the domain "mktomail.com." Some email servers may have a global block on this domain which prevents delivery of your Marketo emails. There are two options for bypassing this global block. Contact your account manager to see about added the Branded Envelope_From feature to your instance. This will replace the "mktomail.com" domain with a domain of your choice. Have the email admin add a Regex version of your return-path/envelope_from to the Allow List.  Which Regex you use will depend on which datacenter houses your instance. To determine the datacenter, look at the URL for your Marketo instance and see which letters come after the "https://app-". "SJ" is for San Jose, "AB" is Ashburn, "E" is London, "SN" is Sydney The Regex you will use is as follows: San Jose datacenter - "munchkin_id.(\d+.)*\d+@em-sj-77.mktomail.com" London datacenter - "munchkin_id.(\d+.)*\d+@eu-lon-188.mktomail.com" Ashburn datacenter - "munchkin_id.(\d+.)*\d+@potomac1050.mktomail.com" Sydney datacenter - "munchkin_id.(\d+.)*\d+@snsmtp.mktomail.com" Netherlands datacenter - "munchkin_id.(\d+.)*\d+@em-nld1-01.mktomail.com"    Replace "munchkin_id" with the Munchkin ID for your Marketo instance. This operates as the unique identifier to allow only email from your Marketo through the block. Other email from the "mktomail.com" domain will still be blocked.    
View full article
When a Lead/Contact  is deleted from Salesforce it is not automatically deleted from Marketo.  If you want to delete these left over Leads/Contacts do the following: 1.  Create a campaign using the SFDC Is Deleted filter set to True for the Smart List. 2.  For the Flow step choose the Delete Lead action and set the Delete Lead from SFDC to True.  This will ensure that the Lead/Contact will be deleted from both Salesforce and Marketo.
View full article
Issue What is the shortest wait step time duration value that can be used in wait step? Solution Wait times can be set to days, hours, minutes, or seconds. Just type in "30 seconds" or "1 minute" etc.
View full article
In your email link performance reports, you may see a "malformed link."     This occurs when invalid or empty URLs are present in an email asset.   These links are transformed into a branded tracking link and if clicked will appear on this report.    In the email editor, check for empty links or tokens that do not populate a full link. 
View full article
Overview A triggered campaign launches automatically when a specific action occurs. For example, you can use a triggered campaign to automatically send an email to a lead after she completes a form. Triggered campaigns have at least one trigger in their Smart List. When the lead activates a trigger and passes through the other filters in the Smart List (if you have any), the lead will immediately proceed through the campaign's Flow. In a Smart Campaign, the Smart List palette contains a separate folder with Triggers. These are the events you can use to activate your triggered campaigns. Be careful when using multiple triggers.  If you use two or more in a campaign, any single trigger can activate the campaign. Email Triggers Trigger Name Description Clicks Link in Email If someone clicks on a link in an email. This can be a specific link(s) or any link. Email Bounces If an email bounces from an address. Email Bounces Soft If an email bounces due to an auto‐reply, full mailbox, etc. Email is Delivered If an email is delivered to someone. Opens Email If someone opens an email. Unsubscribes from Email If someone opts out of email. Salesforce Specific Triggers Trigger Name Description Activity is Logged If an activity is logged in salesforce.This can include a logged call or task created. Activity is Updated If an activity that is already created is updated. Added to Opportunity If a contact is added to an opportunity. Added to SFDC Campaign If a lead/contact is added to a Salesforce campaign. Clicks Link in Sales Email If someone clicks a link in a sales email (an email sent through Sales Insight). This can be a specific link(s) or any link. Is Sent Sales Email If someone is sent a sales email (an email sent through Sales Insight). Lead is Converted If a lead is converted into a contact in Salesforce. Lead is Deleted from SFDC If a lead is deleted from Salesforce. Lead is Synced to SFDC If a lead is synced to Salesforce from Marketo. Opens Sales Email If someone opens a sales email (an email sent through Sales Insight). Opportunity is Updated If an opportunity is updated. Owner Changes If the owner of a record in Salesforce changes.This can be to a specific user or to any user. Removed from Opportunity If a contact is removed from an opportunity. Removed from SFDC Campaign If a lead/contact is removed from a Salesforce campaign. Sales Email Bounces If an email bounces from an address. Sales Email is Received If an email sent via Sales Insight was delivered. Status is Changed in SFDC Campaign If a lead/contact status changes within a Salesforce campaign. General Triggers Trigger Name Description Added to List If a lead/contact is added to a Marketo static list. Campaign is Requested If a contact/lead is sent into a Marketo campaign. Clicks Link If someone clicks on a link. This can be a specific link(s)or any link that is tracked. Data Value Changes If any data value on a record, includes all fields available for edit/update in Marketo and Salesforce is changed. Fills Out Form If someone fills out a form. Has Interesting Moment If someone has an interesting moment. Lead is Created If a Marketo lead is created. Removed from List If a lead/contact is removed from a Marketo static list. Revenue Stage is Changed If a revenue stage within a revenue cycle model is changed. Score is Changed If a lead score is changed. Send Alert If someone does something, send an email alert. Visits Web Page If someone clicks and visits a web page.This can be a specific page(s) or any web page.
View full article
Despite the fact that you may have all sorts of anonymous web visits, in Marketo Sales Insight, you may run into the following: Click the Edit button shown below: Next select the needed region(s) or select ALL to see the anonymous activity.
View full article
Issue: I am looking for the ID to one of my campaigns for a SOAP API project I am working on. Solution: The ID can be found in the URL of the campaign. 1.1 Log into Marketo, under Marketing Activities, find and select the campaign in question. This is a article attached image 1.2 The URL to the campaign will look something like: This is a article attached image   The Campaign ID is between "SC" and "A", in the above example it's "1150". This is a article attached image  
View full article
Here are some details about how Marketo emails are sent and tracked. Before sending your email Marketo makes a couple of additions to your email before sending it: Replace all the email tokens (ex. "{{First Name}}") with their database or default values Wrap all links with Marketo tracking information Add an invisible image to track opens   With those changes complete, Marketo will attempt to deliver your email to the recipient. Email sends and deliver events Once the email is sent from Marketo's servers, a Send Email event is added to the lead's activity log. If the mail was successfully delivered, Marketo logs an Email Delivered event. Email bounces Sometimes an email can't be delivered. Marketo will place these email bounces into two categories: Soft bounce Sometimes an email isn't deliverable immediately, but might be okay later - for example, if a recipient's mailbox is full. This is a soft bounce and is logged as an Email Bounced Soft event. Marketo attempts to deliver the message up to 3 times, trying each Mail Exchange (MX) server. With each attempt, the timeout value is increased. Hard bounce Sometimes an email cannot be delivered no matter what, for example. the email address is incorrect.  This is a hard bounce and is logged as an Email Bounced event.  Marketo sets the lead's Email Invalid field to true so that the lead will not be emailed again.  The Email Invalid Cause is populated with a reason returned by the mail server. Email blocked Emails may be blocked for a number of reasons, including, spam complaints, blacklisting, or because some aspect of the email content has triggered a spam filter.  When an email is blocked it is logged as an Email Hard Bounced event. Marketo sets the lead's Email Suspended flag for 24 hours during which they cannot receive email. When an email is marked as spam Sometimes leads will mark your emails as spam or junk mail.  When that happens, Marketo is notified of this event by the lead's email provider, and Marketo will automatically unsubscribe the lead from the emails by setting the Unsubscribed flag to true. Email opens When a recipient views an email, their email client retrieves the invisible image from Marketo's servers.  This triggers an Open Email event, no matter how long or short the view was.  An Open Email event also occurs when a lead clicks the "View as web page" link in an email. Only one email open event is tracked regardless of the number of times a lead views the email.  This happens because email clients make the open event unreliable.  For example, a lead could open the email multiple times just by browsing through their inbox via the preview pane reading the entire message content without clicking/opening the actual email, or the lead's email browser may block images which prevents Marketo from tracking the open events. Due to Marketo's distributed architecture, email open events may be delayed a couple of minutes between when the event occurs and when they appear in the lead's activity log. Email link clicks The links in an email are wrapped by Marketo with special tracking code.  When a recipient clicks on one of those links, the Marketo servers are informed about the click, and a Click Email event is logged to the recipient's activity log. A person who clicks one of these links also gets cookied by Marketo; this makes them a known lead and causes subsequent web activity (on Munchkin-enabled pages) to appear in their activity log. "View as Web Page" events When the "View as web page" option is used for email, the views and clicks on those pages work just like views and clicks on the actual email in the lead's inbox.  For example, any click on a link on the email web page registers in the lead's activity log just like the lead clicked it in an email client.    
View full article
Double opt-in is the gold standard of email permission. Also known as confirmed opt-in or COI, this practice is where a person fills out an opt-in form and is then sent an email and must click a confirmation message before they are added to the mailing list. Here are some great reasons to use double opt-in: Protects against typos and bots Protects against spamtraps Reduces bounce rates, improves deliverability Required in some regions Increases engagement rates   If you'd like to set up double opt-in with Marketo you can do this with the use of the Marketing Suspended function. Marketing Suspended is a status that is functionally equivalent to Unsubscribe - Marketo will not send these leads marketing emails, but will send them operational emails. You'll need an opt-in form and a pair of trigger campaigns. First, set up a trigger campaign such that, when the form is filled out, the flow has a Change Data Value to mark the lead as Marketing Suspended, and then a Send Email step to send an operational email that you will use to confirm their request to join your mailing list. Your confirmation email should be short and to the point, and make sure to set it as an operational email. We recommend that it is clearly branded, use a simple subject line such as "Confirm Your Request to Join Our Mailing List" or similar, and include a link within to a simple confirmation landing page. Set a second trigger campaign such that whenever someone clicks the confirmation link to the confirmation landing page, the flow will change data value Marketing Suspended new value is false. A follow up flow should be set up that if the recipient doesn't activate the link in the confirmation email the address is either deleted or set to Blacklist within the database after a reasonable timeframe, usually 2 weeks.  The Blacklist status will ensure that no email is set to that lead until they have completed the subscription process. This prevents future operational emails from being sent to this email address unintentionally. That's it!  Now, when someone fills out your opt-in form, they will be set to Marketing Suspended until they click the confirmation link in your operational confirmation email. You'll be well on your way to increasing the quality of leads on your mailing list by implementing this simple process.
View full article
Here is a list of all the ways leads can get into Marketo. Marketo Forms On Marketo Landing Pages When leads fill out forms on your landing pages, they are automatically added to your Marketo lead database. Create a Basic Form Add a Form to a Landing Page Forms Deep Drive Marketo Forms On Non-Marketo Landing Pages You can "copy" the form HTML from Marketo, make slight changes and add it to your own website. Leads filling out these forms are also added to the Marketo lead database. Note, progressive profiling and form pre-fill are not available in this situation.  Put a Marketo Form on a Non-Marketo Page Marketo Forms On Non-Marketo Landing Pages Using Iframes This method allows you to use a Marketo form on your own website without losing form pre-fill and progressive profiling. Put a Marketo Form on a Non-Marketo Page Using an Iframe APIs   Using the SOAP API or JavaScript (Munchkin) API allows you to add leads directly into your database.  Marketo Enterprise SOAP API Munchkin JavaScript API Calls List Import   Import a list of leads into the Marketo lead database.  Import a List of Leads CRM The CRM Sync will pull down and keep in sync any lead originating in the CRM system. Marketo Supported CRM Integrations Manually in the Lead Database A lead can also be created in Marketo manually. Create a Lead in Marketo Manually
View full article
Marketo has the ability to see and pull data from Salesforce Formula fields, there is however a catch which will be explained in this article.   Everytime the Marketo Sync connects to Salesforce it will scan records and look at the "SytemModStamp" (salesforce system field) for each one of them. It will compare this value with the stored value, which was pulled at the last scheduled sync. If the values match, Marketo will move on to the next record. If the values are different (new value later date than previous value), then Marketo will do a compare and contrast of all fields on that record in both systems and update the information as needed.   When a normal non-formula field is updated and changed on a Lead/Contact record in SFDC, the SytemModStamp value is updated. This is how on next sync Marketo knows to do a compare/contrast check and pull updates. Formula fields do not behave the same way. A formula field is calculated based on data in fields called upon in the formula; this means that the formula field calculation itself will not update the SytemModStamp in Salesforce.   Chances are you already have existing records in SFDC and Marketo. If you were to create a formula field today in your instance of SFDC and have it sync down into Marketo, the data calculated for the formula field in SFDC will not come into Marketo right away. The reason for this is, the formula field has created data based on already existing data, this does not result in a SytemModStamp change.   Typically formula fields will be a calculation of data from fields which are somehow related to the lead/contact record. This means that moving forward, any change in the normal field, will result in a SytemModStamp change as well as a recalculation of the formula field. In this case, Marketo will see the updated SytemModStamp due to the normal field change. Marketo will do the compare/contrast excercise and find that the formula field also needs updating.   If you create a formula field in SFDC and would like to have all the historical data for the formula field to come into Marketo, you can force an update on the records in SFDC to update the SytemModStamp. This way, on next sync, Marketo will see the formula data and pull it in. Alternatively, you can simply allow for natural SytemModStamp updates in SFDC to occur which should result in a slow trickle of historical data from SFDC into Marketo for the newly created formula field.   You can only use data from a formula field in Marketo to segment data and filter. If you try to do a change data value, Marketo will accept the change, tries to sync it to Salesforce and fails to update there. Eventually the Salesforce calculated value will come back into Marketo. Is this article helpful ? YesNo
View full article