Knowledgebase

Sort by:
Issue How to work effectively with Marketo Support to quickly resolve your issues. Solution Best Practices:   Be specific about the issue you are experiencing. Describe the expected behavior or appearance of the asset we are troubleshooting - what you believe should be happening Describe the actual behavior or error in the asset we are troubleshooting. Provide links to the assets we need to troubleshoot. Click on the specific asset in the navigation tree and then copy the URL displayed in the address bar of your browser into your case.  This will take us directly to the asset. If we are troubleshooting a specific asset inside a program, such as a Smart Campaign or an email, provide the link to the asset itself rather than to the program containing the asset. Provide examples of the issue: Provide links to specific leads that are examples of the issue you are having. Even if the issue affects multiple leads, we still need to start by looking at specifics. Provide the exact text of any error messages you might be receiving, along with the timestamps. Screenshots can be very useful for this. When troubleshooting API call issues, attach copies of the the request and the response that show the issue you are having. If the issue concerns a non-Marketo asset such as a webpage, please include the URL.   Include screenshots and log files: Since we do not have access to your CRM, if there is information in the CRM we need to see, attach an uncropped screenshot of an example record to your case. When taking the screenshot, log into the CRM using the Marketo sync credentials. This will allow us to see what Marketo sees through the sync. If you are using MS Dynamics, attach the Marketo logs and Marketo error logs to your case. Involve other resources as necessary, even if they aren't Marketo users.  We may need to work with your CRM admin, your IT department, or your web developer.  CC-ing them on the case is a simple way to loop them into the support case so you don't have to run questions back and forth.   Please be aware that Marketo support are not trained as web developers or CRM admins. We are happy to help you troubleshoot issues with your Marketo instance and integrations, but we are not able to troubleshoot custom code or advise you on details of your CRM administration.
View full article
Issue You are unable to abort a triggered Smart Campaign currently in progress.   Solution The "Abort Campaign" function only works for batch campaigns. To stop leads from going through the flow of a triggered campaign, do the following:   Deactivate the trigger campaign in the Schedule tab. This will prevent new leads from entering the campaign flow steps. It will not stop leads that have already entered from continuing through the flow. Use a "Remove from Flow" step to remove existing campaign members from the flow. This can be done a few different ways. View Campaign Members > Select All > Lead Actions > Special > Remove from Flow If the leads are in a Wait Step, you can add a Remove From Flow step after the Wait Step in the trigger campaign Create a small batch campaign with a "Member of Smart Campaign" Smart List filter and a "Remove from Flow" flow step that specifies the trigger campaign you want to remove them from.  
View full article
Issue A Program or Smart Campaign was deleted and you would like to have it restored. Solution Marketo Support cannot restore deleted programs or campaigns. Marketo Support can only restore deleted leads, emails, and landing pages within a certain amount of time after deletion.  Landing pages and emails that are assets of a deleted program cannot be restored. Marketo Support can provide the smart campaign configuration, including details such as filters in the smart list and flow steps. It's essential, however, that the deleted campaign is relatively recent, ideally within the last 2 weeks.
View full article
Issue Description After you have created an API User with the correct access for making REST API calls to your Marketo instance, you still receive a response with Error 603 Access Denied even when making API calls using an up-to-date access token that you manually created.   Issue Resolution The most likely resolution is that you have Web Service IP Restrictions enabled on your instance.   Go to Admin > Web Services Click the Edit button next to the IP Restrictions box If IP Restrictions are turned on and there are no IP addresses listed, all calls to the Marketo REST API endpoint will fail. If IP Restrictions are turned on and the IP making the API call is not listed, add it to the list and save. You can also set up wildcard IP addresses here to cover a range of IP addresses.   You can learn more about whitelisting IP addresses in Marketo in the article "Create a Whitelist for IP-Based API Access".   If you have confirmed that IP Restrictions are NOT enabled and have also gone through our API User documentation to ensure the API User is set up correctly but  your calls are still failing as Access Denied, please create a support case.     Is this article helpful ? YesNo
View full article
Issue Description Email Link Performance report on the same email shows more clicks compared to clicks in the Email Performance Report. Issue Resolution Email Performance Report clicks shows the total number of leads who has clicked any link in that email. This count is independent of any links and how many times a lead has clicked any link on that email. Email Link Performance shows the number of unique people who clicked each link. It shows the number of leads who clicked that particular link. The same lead could’ve clicked another link. So in the total it would be counted as 2 leads in the report but in reality both are same leads. This is the reason why you see Email Link Performance report shows more clicks compared to clicks in the Email Performance Report
View full article
Image: Step Flow for Predictive Content for Web and Email What are Content URL Patterns? This post explains the first part of the flow image above: the discovery and tracking of content for the Predictive Content app. During the setup phase, the marketer defines their content URL patterns (See Create Content Patterns for more information), in order for Marketo to discover HTML content (e.g., blog posts, press release, news articles) across a domain. Setting URL patterns allows Marketo to auto-discover content when a web visitor clicks on the HTML web page within the content pattern. This content is then added to the All Content page in Predictive Content. Setting up URL Patterns Go to User Profile > Content Settings > URL Patterns. (For more information, see the Getting Started doc: Getting Started with Predictive Content) Image: URL Patterns Page   Rules for Content URL Patterns Use of a wildcard (*) is permitted throughout the expression. e.g., domain.com/*  or  domain.com/*blog* It's recommended to use /* at end of the expression to continue pattern discovery. e.g., domain.com/blog/* to discover all your blog posts in the blog folder Content Patterns are not case sensitive. URL Pattern: "domain.com/Blog/*" will discover all HTML pages on "domain.com/Blog" and "domain.com/blog" Parameters in URLs are not discovered. Auto-content discovery removes the URL parameters in order to avoid discovering the same content URL multiple time with different parameters.   Examples of Content URL Patterns   Domain URL Pattern Type Result domain.com blog/* Pattern Discovers all your content that matches the pattern domain.com/blog/. Example: domain.com/blog/5-top-tricks domain.com/blog/2017/new-year-solutions domain.com/Blog/3-best-recipes domain.com article/2017/* Pattern Discovers all your content that matches the pattern domain.com/article/2017/ Example: domain.com/article/2017/5-top-tricks domain.com *datasheets* Contains Discovers any URL that contains the word "datasheets" Example: domain.com/datasheets/5-top-tricks domain.com/blog/5-top-datasheets domain.com press-release Exact Only one HTML page is discovered: Example: domain.com/press-release domain.com   Exact If the domain is selected and the URL expression left empty, the URL pattern will discover only the home page Example: domain.com sub.domain.com blog/* Pattern Discovers all your html pages in the folder blog only on the sub domain sub.domain.com
View full article
Included in this article Overview Sometimes the data you see in your CRM system doesn't match what you see inside of Marketo. This document will show you the common reasons to help troubleshoot where the problem could be coming from. What Causes Data Mismatch The vast majority of data mismatches result from sync backlogs, so much of this doc will go over sync backlogs. However, since there are a number of other ways this can happen, here are the most common ones to watch out for: Sync delays from backlog Incorrect set up of campaigns to add leads to SFDC Campaigns Sync user permissions Field Value Validation Field Type Validation Sync Delays from Backlog Whenever an update is made to a record, it generates a System Modification Time Stamp, referred to as a SysModStamp. The creation of a SysModStamp on a field that is visible to the sync user will queue the record to be resynced. Whether the update is made on the Marketo side or on the CRM side, it will trigger the record to be resynced to update the information on the other end through the regular Marketo to CRM sync cycle. When large numbers of updates are made like from a field value changing, then large numbers of records are altered, causing new SysModStamps on those records. This in turn results in large numbers of lead record updates that need to be resynced between Marketo and your CRM. The sync of leads flows at the rate of approximately 10,000 records per hour. If you've updated 10,000 records at once, you can expect the sync of that data to take roughly an hour to complete. If you've updated 20,000 records at once, you can expect the sync of that data to take roughly two hours to complete, and so on. Thousands of updates are synced over in just one API call as opposed to making a single API call for each individual update. Updates synced between Marketo and your CRM through the sync cycle occur in batches—large groups of updates made all at once to allow the data to be transferred more efficiently. That means 10,000 updates to the Lead Object, 10,000 updates to the Contact Object, then 10,000 updates to the Account Object, all within one sync cycle. The sync cycle won’t let one Object dominate an entire sync cycle with large numbers of updates. Any updates over 10,000 will wait until the next sync cycle. Checking for the backlog Long sync cycles are an indication that there are a lot of updates being made. To check when did the last sync happened 1. Go to Admin 2. Go to integration for your CRM (e.g. Salesforce) in the tree on left 3. Go to the top right corner to see the information of Last Synced. Compare the time shown there to the current time. If it's a long time difference, you've probably got a significant backlog of updates waiting to sync. How do you fix it? Stop making more updates. Once the records are queued up to sync between Marketo and your CRM, there's no way to cut it off and stop it from going through the sync. The data will sync through, but essentially you'll have to just wait for it. If you can stop making continued updates until after the backlog has cleared, you'll be helping it to clear faster. Campaign to add leads to SFDC  Campaign set up incorrectly There can also be cases when you are pushing leads to SFDC Campaigns via Marketo Programs or Smart Campaigns. If you have a flow action where you enter an incorrect campaign name or the corresponding status, the leads flowing through this campaign will have issues while syncing. If you've synced the lead from Marketo to the SFDC Campaign but accidentally synced it to the wrong one, you'll have a data mismatch there. Ensure that you have the campaigns with correct names and statuses Sync user permissions Sometimes a lead won’t sync to CRM because the SFDC sync user doesn’t has permissions enabled to allow the Marketo sync user access to it. Ask your CRM Admin to update the permissions so as to allow Marketo sync user access to the record. Field Value Validation If there’s a validation in your CRM on certain fields, and the field value in Marketo doesn’t qualify for the validation, the lead would not sync.You'll see "FIELD_CUSTOM_VALIDATION_EXCEPTION" error messages, which are your indication that this is where the problems are coming from. For example: Let’s say there’s a validation in Salesforce to accept on “CA” as a value for the field “Country”, and Marketo field has it’s value as “Canada”. The lead would not sync to SFDC. To resolve this, ensure that field value aligns with the validation in SFDC. Field Type Validation Field types must be compatible between Marketo and Salesforce. If the field types are different in Marketo vs CRM, it won't be able to sync properly. For example: If the field in SFDC has the type of “Float” and field in Marketo is “Score”, then they aren't compatible and won’t sync. To resolve, ensure that the fields have similar or compatible types in Marketo and CRM
View full article
Included in this article How many total named accounts can I have within Marketo ABM? There is no limit from a product perspective. How many account lists can be created? 1,000 How many Named Accounts can be added to the Account List? 500 Is Marketo ABM Workspace specific? No. Named Accounts are visible to all the Workspaces. But Lead Partition rules are still honored. Which means you can see a named account in multiple Workspaces but depending on the Lead Partition rules, you can only see leads belonging to the corresponding Workspace within that named account. Which lead attributes are used for Lead-to-Account Matching? It is based on 3 lead attributes: Email Domain, IP Address and Company Name. We convert Email Domain and IP address to the Company Names and match all 3 to identify strong and weak matches. How are strong lead matches to Named Accounts determined? When the Company Name matches 3 out of 3, or 2 out of 3 times, then we consider this a strong match. How are weak lead matches to Named Accounts determined? When the Company Name matches only 1 out of 3 times, then we consider this a weak match. How can you make Marketo ABM automatically associate leads to Named Accounts? When you create a Named Account from any of the Discover grids, Marketo creates rules which then going forward are used to do automatic association of leads from the company to Named Accounts. Do I see all the CRM accounts in the Discover CRM grid? Yes, all the CRM accounts that are synced in Marketo show up here Does the number of CRM accounts match the number of CRM accounts shown in Discover CRM grid? Not necessarily. Marketo ABM does light de-duplication by CRM account names. First, we remove company suffixes before matching to company names. (Ex: Co, Corp, Corporation, Gmbh, Inc, Incorporated, LLC, LLP, LP, Ltd, PA, PC, PLC, PLLC). Second, we merge companies or CRM accounts in Marketo with duplicate names (not case sensitive) What does the Discover Marketo Companies grid show? This grid shows all the CRM accounts as well as Marketo Companies that we found in the Marketo lead database. What happens if I delete Named Accounts? None of the leads associated with the Named Accounts will be deleted. You can always go back to the Discover Companies grid and re-create the Named Account. Can I merge duplicate companies or CRM accounts manually in Marketo? Yes. You can use Discover Marketo Companies to do that. How is the week-over-week engagement over time chart determined and how frequently it is calculated? We take daily account scores and show the maximum account score for that week. This chart is calculated every 8 hours. How is the week-over-week pipeline chart determined and how frequently it is calculated? We add the total sum for the 'Amount' of all opportunities except closed-won and closed-lost. We show opportunity amount on last day of the week. This chart is calculated every 24 hours. How is the week-over-week revenue chart determined and how frequently it is calculated? We add the total sum of the 'Amount' of all the closed-won opportunities on a weekly basis. This chart is calculated every 24 hours. Does Marketo ABM backfill data for engagement over time charts? No. Engagement is tracked from the time Named Accounts are created. We don't backfill. How far back can I see engagement over time, pipeline and revenue charts? 90 Days. How far back are email and web activities calculated for? 30 Days. How is pipeline determined? Pipeline is calculated as a sum total of 'Amount' for all open opportunities except closed-won and closed-lost in CRM accounts. How frequently are account scores calculated? Every 30 minutes. How is Currency calculated? Currency is the Subscription currency. Marketo ABM does not covert the currency. Does Marketo ABM support Account hierarchy? Not in this current version, but it is planned for future versions. Additional Documentation Here are some links to related Documentation that you may find useful: Account Based Marketing (ABM) - Troubleshooting Tips Account Based Marketing Overview - Marketo Docs - Product Docs Account Based Marketing - Issue a License - Marketo Docs - Product Docs Account Based Marketing - Permissions - Marketo Docs - Product Docs Account Based Marketing - Configure CRM Mapping - Marketo Docs - Product Docs Account Based Marketing - Account Score - Marketo Docs - Product Docs Account Based Marketing - Account Lists - Marketo Docs - Product Docs Account Based Marketing - Add People to a Named Account - Marketo Docs - Product Docs Account Based Marketing - Discover Accounts - Marketo Docs - Product Docs Account Based Marketing - Lead to Account Matching - Marketo Docs - Product Docs Account Based Marketing - Named Accounts - Marketo Docs - Product Docs Account Based Marketing - Account Filters - Marketo Docs - Product Docs Account Based Marketing - Account Triggers - Marketo Docs - Product Docs Account Based Marketing - ABM Main Dashboard - Marketo Docs - Product Docs Account Based Marketing - Account List Insights - Marketo Docs - Product Docs Account Based Marketing - Named Account Dimension in RCA - Marketo Docs - Product Docs Account Based Marketing - Named Account Insights - Marketo Docs - Product Docs
View full article
Issue Marketo is creating duplicate Lead records when a Contact record is already synced.     Solution This happens when a Smart Campaign using the Sync Person to SFDC flow step qualifies a SFDC Contact record and attempts to assign the record to a Queue in Salesforce. When a SFDC Contact runs through the Sync Person to SFDC flow step, since Salesforce does not allow "Contacts" to be assigned to Lead Queues, Marketo will create an intentional duplicate "Lead" record in Salesforce and add the new Lead record to the queue. If you want to prevent this behavior in your Smart Campaigns, add the filter "SFDC Type is not Contact" to the Smart List. This will disqualify SFDC Contact records from the campaign. Another option: Add Choice options for the Sync Person to SFDC flow step and have the first choice be SFDC Type is Contact Do Nothing. This will cause SFDC Contact records to Do Nothing for the flow step but Lead or Marketo only records will process normally.       Who This Solution Applies To Customers integrated with Salesforce    
View full article
Issue Description The Issue When using the Filter 'Member of SFDC Campaign' in the Smart List and checking the people tab to see which records are qualified, this message occurs: Could not evaluate rule 1 (SFDC Campaign 'Campaign Name' not found)  Note: it may state could not evaluate rule # - # can be any number, if the filter is number 5.  # will equal 5 Issue Resolution The Fix Ensure the that the SFDC Campaign being referenced in the Smart List is an ACTIVE campaign The Why This error occurs due to the SFDC Campaign not being an active campaign in SFDC. You may be wondering "then why can I select the SFDC campaign in the drop down?" This is because the Smart List Filter specifically 'Member of SFDC Campaign' similar to 'Has Opportunity' filter reference a backend table in Marketo. This backend table is updated when a SFDC Campaign is removed or renamed. Therefore, Marketo does not directly perform an API call to check if the campaign is selectable, but rather uses the backend table as reference. One way to check in Marketo if the SFDC Campaign is active is to check the 'Added to SFDC Campaign' Trigger in a Smart Campaign's Smart List as that dropdown will only show active campaigns. Who This Solution Applies To Customers integrated with Salesforce
View full article
Issue Leads are members of a Marketo Program that is synced with a SFDC campaign, but there are some leads that have not synced to SFDC. Solution 1.) First check to see if this was caused by a Salesforce Sync Error. This can be checked in the Admin area under Admin > Salesforce > Sync Errors. Additionally, errors will appear under Notifications, check for the subject 'Salesforce Sync Error: Unable to Add Leads to Campaigns'. This will list the details of the SFDC Error and a list of sample leads along with the Salesforce campaign that they failed to sync to Example error: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY: insufficient access rights on cross-reference id Sample Leads:    Salesforce Campaign lead1@mail.com    Campaign name lead2@mail.com    Campaign name 2.) This can also be caused by mismatched statuses between the Marketo Program and the SFDC Campaign.  If the status doesn't exist on both sides, leads with the problem status can fail to sync. 3.) This can also be caused by a backlog for the program/campaign sync. Check with Marketo Support to see if a backlog is present.   Who This Solution Applies To Customers using Marketo with Salesforce integrated    
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 https://kb.isc.org/article/AA-00356/0/Can-I-have-a-TXT-or-SPF-record-longer-than-255-characters.html http://www.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 http://vamsoft.com/support/tools/spf-syntax-validator CIDR Calculator http://www.subnet-calculator.com/cidr.php Nslookup http://network-tools.com/nslook/ SPF creation wizard http://www.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 When I add variables to my email template assets, the value assigned to that variable is not showing in the text-only version of the email even though it shows in the HTML version. Issue Resolution Email 2.0 variables do not pass the defined values for variables through to the text-only email. Since Marketo token values are passed through to the text-only email, customers may expect variable values to also be passed through to text-only emails. However, this is not currently the case.
View full article
Issue Description In Notifications, you may encounter a Web Services Error message that contains details as below along with the Error Code and Count (i.e. number of times the error occurred). For example: The Web Services encountered the following error. Error Code     Count 609    1 Issue Resolution More information about the Web Services Error Codes are documented here: http://developers.marketo.com/rest-api/error-codes http://developers.marketo.com/soap-api/error-codes/ It is recommended to consult with the owner of any custom Admin -> Launchpoint services configured (typically IT, your API developer, or a third party service provider) to review the API calls being made to Marketo.     The owner of the custom integration should already be logging any error codes requiring review, or ignoring those errors that are temporary and can be automatically retried.   If further assistance is needed, create a support ticket and provide details of the Request and Response of the API call containing the error code. Similar to how the example API Requests and Responses are documented here: http://developers.marketo.com/rest-api/lead-database/#describe   Who This Solution Applies To Customers using API integrations.   Is this article helpful ? YesNo  
View full article
Issue You receive a notification that the Salesforce sync failed with the error "SalesForce Sync Error: UNABLE_TO_LOCK_ROW"   Solution This indicates that something else in Salesforce was writing to the record at the moment the Marketo Salesforce sync tried to make the update. Since only one "user" at a time can update a record, Marketo was unable to do so, and the sync failed.   Marketo will retry an operation a few times if this keeps being received but will fail and move on if it happens too many times. If these have recently become common, you might want to look into any new API integrations to SFDC that you've deployed or any new AppExchange packages with your SFDC Admin to see if you might be able to tune it to avoid this collision.   Who This Solution Applies To  Customers integrated with Salesforce.
View full article
Issue Issue Description You have found the phrase 'lead unsubscribed from list unsubscribe.' as the listed reason for a person being marked as Unsubscribed, or you are seeing it in the details of a 'Unsubscribe Email' action.  Solution Issue Resolution This message appears when someone has unsubscribed using a special 'list-unsubscribe' option automatically contained in Marketo emails, as well as most other reputable marketing emails. This 'list-unsubscribe' feature is an email address contained in the background header information of the email. Any time someone sends an email to this address, their email address is unsubscribed from your database. This is almost always done by that person's email client, using their inbuilt 'unsubscribe' features, such as the ones in Outlook, Gmail, or other common email clients.
View full article
Issue Description You are utilizing Forms on Marketo Landing Pages, and want to run reporting on these forms.   Issue Resolution Currently the only asset reporting Marketo has is Email, and a little bit of Landing Page reporting. We would not have this ability to report on Forms.   One option would be to use Web Page reporting  -  this reported information would be limited to Marketo Pages with numbers of records who filled out the form, listed under "conversions." You could then create a Smart List to identify leads who have filled out these forms.     Is this article helpful ? YesNo
View full article
Issue An email program fails to send emails to a large number of leads/people in the Smart List.     Solution Sometimes leads/people in your Email Program's Smart List will be skipped in the email send because they already reached their daily/weekly communication limit. You can confirm if this has occurred by following these steps: Open your Email Program. Change your view to Control Panel. Click on View Results in the top left panel to see a list of all activities attributed to the email program. Click on Filter > Custom. Select the Send Email box. Click the Apply button. Scroll to the bottom of the list. If the leads/people have been skipped due to communication limits, you will see that a large number of leads/people listed as "Skipped Lead already used up Daily/Weekly communication limit."   You can check or adjust your Communication Limits in the Admin panel of your Marketo instance.
View full article
IP Exclusion: did you exclude some IP's in RTP or GA? You'll need to make sure that visitors from these IP are not being tracked in both tools. Exclude internal traffic (GA) Exclude Specific IPs From Being Tracked (RTP) Segmentation: The conditions defined in the RTP segments do not cover all the website traffic. Tag implementation: The RTP or the GA tag is not installed on all the website pages Tag Timing: The data is sent from RTP to GA once both tags are loaded on the page.  In some cases, visitors are leaving the page before the data sent to GA. The recommendation here is to locate both the RTP and the GA tag higher in the code so they will load faster. Web Bot: RTP is treating web bots and crawlers differently than how GA does. There are cases where RTP identifies these "fake" user and doesn't show campaigns / send data to GA while the visit will be recorded in GA as all other sessions. Session Duration: A session in RTP last for 30 minutes from the last click, while in GA this can be customized (see Session and campaign timeout handling). This can cause some gaps in the numbers user sees. Sampling: GA shows sample of the data and not 100% accurate numbers and metrics, see: https://support.google.com/analytics/answer/2637192?hl=en http://research.neustar.biz/2013/01/24/hyperloglog-googles-take-on-engineering-hll/
View full article
To enhance the stability of Marketo’s email assembly infrastructure, we are disabling some Velocity Script functionality on June 14, 2019. What change is being made? The following Velocity Tools will permanently be disabled for use in email script, on June 14, 2019. My Tokens: classTool contextTool resourceTool Some common use examples of these tools include: $class. getClass() $context. When are these changes taking effect? These changes will take effect in the June 2019 Release on June 14, 2019. How did it work before? The way Velocity Tools are used in your email scripts is highly dependent on the structure of your code and varies on a case-by-case basis. To identify how you are currently utilizing Velocity Tools in your email design, please consult directly with your developer. Documentation on each tool can be found on Apache’s website at the links below: classTool : https://velocity.apache.org/tools/devel/apidocs/org/apache/velocity/tools/generic/ClassTool.html contextTool: https://velocity.apache.org/tools/devel/apidocs/org/apache/velocity/tools/generic/ContextTool.html resourceTool: https://velocity.apache.org/tools/devel/apidocs/org/apache/velocity/tools/generic/ResourceTool.html Why is this changing? We regularly review our infrastructure to ensure it meets the highest standards for stability and security. During a recent review, we identified that a small subset of Velocity Tools could potentially impact the health of our message assembly servers, and as a result, we made the decision to disable these permanently. What do I need to do? If you are currently using Velocity Tools in your email scripting, you will need to review and update your script to use alternate methods before June 14, 2019. Documentation on supported Velocity Scripting can be found on our Developers’ site at http://developers.marketo.com/email-scripting/. Any email script tokens still referencing Velocity Tools after the June 14, 2019 deadline could fail to compile, resulting in emails not rendering as expected or complete send failure. We have identified impacted customers using these Velocity Tools and will alert them individually via Marketo Notifications. Considering the customized nature of Velocity Scripting, Marketo Support is not able to assist with the authoring or troubleshooting of custom code. Please reach out to your developer for assistance. If you no longer have access to a technical resource, you may also contact your CSM to coordinate a scoping call with our Professional Services team.
View full article