Knowledgebase

Sort by:
Included in this article   Overview Data you’ll get from Email Bounces Bounce Categories Hard Bounces Soft Bounces Bounce Details Building the Directory 1. Create 6 custom fields 2. Create a Program to house everything 3. Create a Static List 4. Create two Smart Campaigns Smart Campaign One - Logging Email Bounces with Bounce Details Smart Campaign Two - Remove Leads From the List After Successful Deliveries 5. Create Custom List View Showing Bounce Details   Overview Bounce activities carry details for why the email was bounced, but it’s housed within the activity log entry, not in a field on the lead record, so it’s difficult to export that data. This article will show you how to extract that information to create a directory of leads bouncing emails and how to make the list automatically update. This will also create counters for bounces and successful re-deliveries after bounces happen.   Data you’ll get from Email Bounces Bounce Categories Email bounces come in different types depending on why the email was bounced; Hard Bounces or Soft Bounces.   Hard Bounces Hard Bounces come in two types, Category 1 and Category 2. Category 1 bounces are emails that have been marked as spam by the recipient mail server. Many email servers monitor blacklists or spam traps, so after de-listing with them, leads that have had a Category 1 bounce previously may be able to receive emails again. Category 2 bounces occur due to an email address that is invalid or doesn’t exist.   Soft Bounces Soft Bounces come in three different types, Categories 3, 4 or 9. Category 3 bounces are usually temporary, caused by full mailboxes, timeouts, or throttling. Any email with this designation has been retried for up to 24 hours (36 for AOL). Category 4 bounces are caused by technical problems, Transient Failures, Admin Failures, DNS Failures. Any email with this designation has been retried for up to 24 hours (36 for AOL). Category 9 bounces are unknown, undetermined or gibberish details. Any email with this designation has been retried for up to 24 hours (36 for AOL).   Bounce Details When an email is bounced, the recipient mail server includes details of why it was bounced. These are created by the admin of the recipient mail server and vary greatly, but most will give some explanation that can give valuable information. Email Bounce Codes     Building the Directory   1. Create 6 custom fields You’ll need 6 custom fields, two DateTime fields, two Score fields, and two String fields Name the DateTime fields “Bounce Date” and “Email Delivered After Bounce”. Name the Score fields “Email Bounces” and “Deliveries After Bounces” Name the String fields “Email Bounce Details” and “Email Bounce Category” Directions for creating Custom Fields can be found here: Create a Custom Field in Marketo   2. Create a Program to house everything Use a default program type and name it "Directory of Leads Bouncing Emails". Info on creating programs can be found here: Create a Program   3. Create a Static List This static list will be your actual directory that contains all of the leads that are currently bouncing emails. Name it "Active Bounce List". Info on creating a static list can be found here: Create a Static List   4. Create two Smart Campaigns These two Smart Campaigns are what will be used to add and remove leads from your active bounce list. Info on creating Smart Campaigns can be found here: Create a New Smart Campaign     Smart Campaign One - Logging Email Bounces with Bounce Details Your first Smart Campaign will be used to listen for any email bounces that occur. The campaign will populate the “Bounce Date”, “Email Bounce Category” and “Email Bounce Details” fields. It will then add one point to the “Email Bounces” score field which can be used to count how many bounces have occurred per lead. Lastly, the campaign will add the lead to the static list which will be an active directory of leads who are bouncing emails.   Campaign Smart List Use the two triggers of “Email Bounces” and “Email Bounces Soft” in the Smart List. Set both triggers to “is any” so that they will fire whenever any email bounces for any reason.   Campaign Flow The Flow of the campaign will have 5 flow steps. The flow will use a System Token and some Trigger Tokens, which can be used to pull details out of the action that activated the trigger. In this case, the Trigger Tokens will be pulling out the details on why the emails were bounced. That info is in the bounce message and is logged in the lead's activity log. Normally you'd have to comb through the activity log one at a time to find these details for each individual lead. This method, however, will pull the details out automatically for all leads.   Flow Step 1: Change Data Value Attribute: “Bounce Date” New Value: {{system.dateTime}}   Flow Step 2: Change Data Value. Attribute: “Email Bounce Category” New Value: {{trigger.category}}   Flow Step 3: Change Data Value Attribute: “Email Bounce Details” New Value: {{trigger.details}}   Flow Step 4: Change Score Score Name: “Email Bounces” Change: +1   Flow Step 5: Add to List List Name: “Active Bounce List”   When finished, your Flow will look like this:           Smart Campaign Two - Remove Leads From the List After Successful Deliveries   Campaign Smart List The Smart List of the campaign will need a trigger for “Email is Delivered” set to “is any” and also a filter of “Member of List” looking just for leads that belong to your Static List. This way, the campaign will only apply to leads who have had an email bounce but have then had an email successfully delivered afterwards.       Campaign Flow The Flow of the campaign will have 3 flow steps to do the following; log when the email was delivered, add a point to the "Deliveries After Bounce" Score Field, and remove the lead from the "Active Bounce List".   Flow Step 1: Change Data Value Attribute: “Email Delivered After Bounce” New Value: {{system.dateTime}}   Flow Step 2: Change Score Score Name: “Deliveries After Bounces” Change: +1   Flow Step 3: Remove from List List Name: Operational.Active Bounce List   When finished, your Flow will look like this:           5. Create Custom List View Showing Bounce Details The custom fields you’ve created for email bounce information won’t show automatically in the view of your list. You can create a new view of the list to show just this information so that when it is exported it will give you only the email bounce information you need. Once the list has the necessary details, it can be exported with those columns included so that you can work with it. You can identify emerging trends and issues with your deliverability by looking for common themes among the bounce details. Directions for creating Custom Views can be found here  
View full article
Traditional Bounce Codes When you add the Email Invalid Cause to display as a Column to any of your Deliverability Smartlists, you will see a code value, and potentially a suffix as well, to help you understand the reason for the Bounce.   Codes in the 400 range are generally Soft Bounces Codes in the 500 range are generally Hard Bounces Mail server administrators can create custom messages that accompany bounce codes Code Explanation 250 Mail accepted by receiving network 421 <domain> Service not available, closing transmission channel 450 Requested mail action not taken: mailbox unavailable (e.g., mailbox busy) 451 Requested action aborted: error in processing 452 Requested action not taken: insufficient system storage 500 The server could not recognize the command due to a syntax error. 501 A syntax error was encountered in command arguments. 502 This command is not implemented. 503 The server has encountered a bad sequence of commands. 504 A command parameter is not implemented. 550 User’s mailbox was unavailable (such as not found) 551 The recipient is not local to the server. 552 The action was aborted due to exceeded storage allocation. 553 The command was aborted because the mailbox name is invalid. 554 The transaction failed for some unstated reason.     Enhanced Bounce Codes If a suffix appears after one of the codes above, it is an enhanced Bounce code Mail server administrators can crate custom messages that accompany bounce codes   Code Explanation 5.0.0 Address does not exist 5.1.0 Other address status 5.1.1 Bad destination mailbox address 5.1.2 Bad destination system address 5.1.3 Bad destination mailbox address syntax 5.1.4 Destination mailbox address ambiguous 5.1.5 Destination mailbox address valid 5.1.6 Mailbox has moved 5.1.7 Bad sender’s mailbox address syntax 5.1.8 Bad sender’s system address 5.2.0 Other or undefined mailbox status 5.2.1 Mailbox disabled, not accepting messages 5.2.2 Mailbox full 5.2.3 Message length exceeds administrative limit. 5.2.4 Mailing list expansion problem 5.3.0 Other or undefined mail system status 5.3.1 Mail system full 5.3.2 System not accepting network messages 5.3.3 System not capable of selected features 5.3.4 Message too big for system 5.4.0 Other or undefined network or routing status 5.4.1 No answer from host 5.4.2 Bad connection 5.4.3 Routing server failure 5.4.4 Unable to route 5.4.5 Network congestion 5.4.6 Routing loop detected 5.4.7 Delivery time expired 5.5.0 Other or undefined protocol status 5.5.1 Invalid command 5.5.2 Syntax error 5.5.3 Too many recipients 5.5.4 Invalid command arguments 5.5.5 Wrong protocol version 5.6.0 Other or undefined media error 5.6.1 Media not supported 5.6.2 Conversion required and prohibited 5.6.3 Conversion required but not supported 5.6.4 Conversion with loss performed 5.6.5 Conversion failed 5.7.0 Other or undefined security status 5.7.1 Delivery not authorized, message refused 5.7.2 Mailing list expansion prohibited 5.7.3 Security conversion required but not possible 5.7.4 Security features not supported 5.7.5 Cryptographic failure 5.7.6 Cryptographic algorithm not supported 5.7.7 Message integrity failure   Not all mail servers adhere to these standards.
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, each one uses one API call per lead; the API call happens when the lead hits that flow step (instead of waiting for the next sync). 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
Want to gauge how many leads clicked through a link you have in your social media or other outlets? This can be done using URL Parameters at the end of the URLs you use. Basically, you just add a little bit of code to the end of the hyperlinked URL. When leads click through and arrive at your Landing Page, that code can be captured into a hidden Form field. Here’s how to do it.   Quick Overview of URL Parameters In the structure of a URL, there are two main parts. The first part is used for navigation, and the second part is used to pass data along. The two parts are separated by a question mark. For example, let’s look at this URL:   www.myawesomewebsite.com?URLParameter=ThisIsAParameter   The first part of the URL, “www.myawesomewebsite.com” is the main part of the URL used for navigation. The whole rest of the URL from the question mark on, “?URLParameter=ThisIsAParameter” is referred to as a querystring. It isn’t needed for navigation to the page specified, but can be used to pass the extra data you want to include.     The querystring contains the URL Parameters, which are used to push data into the hidden Form fields. In the querystring “?URLParameter=ThisIsAParameter” used here, “URLParameter” corresponds to the name of the parameter you use when designating the value for the hidden Form field, and “ThisIsAParameter” will be the value that is actually entered into that field. You can add additional values into additional other fields by adding those into the format of the URL separated by an ampersand like this:   www.myawesomewebsite.com?URLParameter=ThisIsAParameter&URLParameter2=ThisIsValue2&URLParameter3=ThisIsValue3   In this example, you’ve got the same initial value being pushed into the first hidden field, but now two more hidden fields will store the next two values as well. The name of the parameter for the second hidden field would be “URLParameter2” and the value put into it would be “ThisIsValue2”. The third hidden field parameter name would be “URLParameter3” and the value put into this field would be “ThisIsValue3”.   Applying This to Social Media Use So, how does this let you track leads coming from each of your social media sources? Well, in setting up your different promotional channels, when adding the hyperlink, you can customize the URL parameter for each channel so that the values passed will input the information specific to where they came from. The parameter values will change from one social media outlet to the next, but the structure and format will stay the same.   Let’s use the social media sources of Twitter, LinkedIn and Facebook as examples. Since you’re looking to identify the source of these leads, you’d likely want to name your parameter as “Source” so that it’s easily identifiable. Using the same base URL, let’s see how you’d structure the URLs. For hyperlinks placed on Twitter: www.myawesomewebsite.com?Source=twitter For hyperlinks placed on LinkedIn: www.myawesomewebsite.com?Source=linkedin For hyperlinks placed on Facebook: www.myawesomewebsite.com?Source=facebook   When leads fill out the form on your landing page, the Source field will then tell you exactly where they came from! The best part, this is completely customizable and scalable. You can add more parameters and hidden fields to capture additional information like what campaign it is for.   Documentation How to make form fields hidden: https://docs.marketo.com/display/public/DOCS/Set+a+Form+Field+as+Hidden How to define hidden form field value: https://docs.marketo.com/display/public/DOCS/Set+a+Hidden+Form+Field+Value (Look for the section on URL Parameters in particular) Using the URL builder to generate the URLs you’ll be using: https://docs.marketo.com/display/public/DOCS/Using+the+URL+Builder    
View full article
Included in this article   Overview Sync Filters for Existing SFDC Integrations Sync Filters for New SFDC Integrations Overview Many times it is necessary to prevent certain leads from syncing between Marketo and SFDC. There are a few different ways this can be done such as sharing rules on the SFDC side, but the most effective way is through a Marketo Custom Sync Filter.   A Custom Sync Filter uses a custom field to mark each lead record to indicate whether that lead is allowed to sync between Marketo and SFDC. Here’s how to get it set up!     Sync Filters for Existing SFDC Integrations   If you already have an SFDC integration in place but want to stop some already-synced leads from continuing to sync, this section will show you how to make that change.   1. Create a new custom field in Salesforce. The Marketo bi-directional sync will automatically identify the new custom field and map it between Marketo and Salesforce. The best field type to use is a Checkbox field within Salesforce and the field will need to be created on the Salesforce Object that needs to be filtered (i.e. Lead, Contact, or both). Once the field has been created in Marketo by the bi-directional sync, it will be listed under Admin > Field Management.   Note: A Custom Sync Filter field can also be created on the Account object to dictate whether an account is allowed to sync. This sync filter will be applied independently from the Lead/Contact sync filter.   2. Update the records in Salesforce with the corresponding value you need to indicate whether the record should sync or not. Sync filters can be set up in two ways—a True/Checked value can indicate that a record is allowed to sync, or a True/Checked value could indicate that a record is not allowed to sync. This choice is up to you.   3. The Custom Sync Filter can now be implemented. Contact Marketo Support and request a Custom Sync Filter be activated. Be sure you include the custom field name, which configuration you need (checked=sync vs checked=don’t sync) and also that all records have been populated with the correct values. Once it has been applied, you’re all done!     Sync Filters for New SFDC Integrations   If you are setting up a new SFDC integration with Marketo, you can set up the sync filter as part of the integration process. This will let you designate which leads and contacts are ever allowed to sync, but this must be done in the middle of the initial SFDC sync process.   1. Create a new custom field in SFDC. The best field type to use is a Checkbox field, and you’ll need to set it up with the same name on both the Lead and Contact objects. Note: A Custom Sync Filter field can also be created on the Account before the initial sync and it will be applied in the same way.   2. Update the records in Salesforce with the corresponding value you need to indicate whether the record should sync or not. Sync filters can be set up in two ways—a True/Checked value can indicate that a record is allowed to sync, or a True/Checked value could indicate that a record is not allowed to sync. This choice is up to you.   3. Begin your Salesforce Sync Setup but do not finish it . There are two sets of Salesforce Sync installations, one for Enterprise/Unlimited Edition, and the other for Professional Edition. For both Enterprise/Unlimited and Professional Edition versions, there are three documents that correspond to the three different steps: “Step 1 of 3”, “Step 2 of 3” and “Step 3 of 3”. For both versions, proceed through all steps of “Step 1 of 3” and “Step 2 of 3” completely. When you get to “Step 3 of 3”, you will only do the first half of the steps and then stop. Complete the sections “Retrieve Sync User Security Token” and “Set Sync User Credentials”, and then stop there. Do not proceed to start the sync.   4. This is when the sync filter needs to be implemented. Contact Marketo Support and request a Custom Sync Filter be activated. Be sure you include the custom field name, which configuration you need (checked=sync vs checked=don’t sync) and also note that all records have been populated with the correct values. Once it has been applied and the Marketo Support case is resolved, you’re done and can start your initial SDFC sync!
View full article
With the evolving best practices and awareness around data privacy, Marketo will be upgrading how we handle form pre-fill. What change is being made? Starting April 24, 2019, Marketo will only pre-fill form fields if the URL used to navigate to the Marketo landing page contains a valid mkt_tok URL parameter value (which occurs when users click tracked links in Marketo emails). What that means is, any time a person is viewing a Marketo landing page with a form, the URL being used must contain the mkt_tok token in the query string, otherwise the form on that landing page will not be pre-filled. If the URL in the browser window does have a valid mkt_tok tracking token, then the form within the page will pre-fill as expected with data corresponding to the person record associated with that mkt_tok. Also note that if you are embedding Marketo Landing Pages within other web pages using an <iframe>, the mkt_tok would need to be passed from the parent page to the <iframe> URL if you intend for form prefill to work within the <iframe> ​How did it work before? Previously, Marketo landing pages would rely on Munchkin tracking cookies to identify known person records, and forms would pre-fill based on that cookie. Form pre-fill did not require being linked to a Marketo landing page from a tracked email link. Why is this changing? This upgrade is being made to provide a more consistent and more secure experience with Marketo’s forms. We have identified that, in the past, people have experienced scenarios where data pre-filled into a form didn’t always correspond with the actual person viewing the page. For example, people using a shared computer or those who may have been cookied incorrectly by clicking through a forwarded email, could end up viewing incorrect data associated with a different person. To provide a more consistent customer experience, and as a security enhancement, Marketo is upgrading the conditions under which the form pre-fill will display known customer information. In short, pre-fill will only work when users clickthrough links in Marketo emails, demonstrating that they have ownership of the email address associated with the known person record. Below is a list of different scenarios and how form pre-fill will work moving forward. Please note, these changes to form pre-fill will not affect any other functionality of Marketo Forms, including the progressive profiling feature. Scenario Will the form pre-fill? Notes Clicking a tracked link in a Marketo email to a Marketo landing page with a form which has pre-fill enabled Yes The email link must have mkt_tok enabled. Links that are not tracked or that have mkt_tok disabled will not work. Navigating directly to a Marketo landing page with a form which has pre-fill enabled No A direct link to the landing page will not have the mkt_tok present in the HTTP request. Refreshing a Marketo landing page with a form which has pre-fill enabled No The mkt_tok is stripped from the URL after Marketo Landing Pages load so refreshing the page will not include the mkt_tok in the URL. As a result, pre-fill will not work. Clicking a link in a sample email to a Marketo landing page with a form which has pre-fill enabled No The sample email will not have a valid mkt_tok attached to the link and so will not pre-fill the form. If you wish to test form pre-fill you will need to use a real email from a Marketo campaign. Navigating to a non-Marketo page that includes an embedded Marketo form which has pre-fill enabled No This behavior does not change with the upgrade. Pre-fill has never been supported for Marketo forms that are embedded on non-Marketo pages. Navigating to a non-Marketo page that includes an <iframe> pointing to a Marketo Landing Page that includes a form with pre-fill enabled With custom implementation The form within the Marketo Landing Page that is being loaded in the <iframe> will pre-fill if the mkt_tok value from the original HTTP request is passed along to the <iframe> URL Visiting a Marketo page with a mkt_tok that is not associated with the same person record as an existing Marketo Munchkin cookie currently stored on the browser No This will prevent the wrong person’s information from being displayed in cases where a computer is shared, or an email with a mkt_tok tracked link is forwarded to another person that may already be cookied as a known person in your database. Copying a Marketo tracked link from an email and sharing/pasting it externally (email, blog, chat, social media post, etc.) that enables another individual to click the tracked link Yes The tracked link in a Marketo email will redirect to a URL with the mkt_tok included, so anyone clicking this link will reach a page and see pre-fill data associated with the known person record from the “to” line of the email.
View full article
Full Details of all Marketo Support Offerings:   Support Levels Offered Service Level Response Targets   Global Contact   https://support.marketo.com :             Online Support Portal for Case management and Knowledgebase search support@marketo.com :                     Email to Case Submission supportescalations@marketo.com :   Contact Support management regarding Support services marketocares@marketo.com :            Questions regarding Support or Community access   Regional Contact Information Americas: Hours: M-F, 6am to 6pm Pacific Toll Free US: +1 877 270 6586 Direct: +1 650 376 2303   Languages Supported: English, Spanish Observed Holidays: New Year's Day Independence Day Thanksgiving Day and the Day After Christmas Day New Year's Eve Europe, Middle East, & Africa: Hours: M-F, 8am to 5pm GMT Europe: +353 (0)1 511 9556 UK: 0800 151 3030   Languages Supported: English, French, German, Portuguese Observed Holidays: New Year's Day Easter Monday Christmas Day St. Stephen's Day Australia Hours: M-F, 9am to 6pm AET ANZ: +61 2 8310 7646   Languages Supported: English Observed Holidays: New Year's Day                            ANZAC Day Christmas Day                             Good Friday Easter Monday                             Boxing Day Japan: Hours: M-F, 9am to 6pm JST JP: +81.03.4233.9014   Languages Supported: Japanese Observed Holidays: New Year's Holiday                      Marine Day Coming of Age Day                      Respect for Senior Citizens Day National Founding Day                National Holiday Spring Equinox Day                     Autumnal Equinox Day Day of Showa                              Sports Day Constitution Memorial Day          Culture Day Green Day                                   Labor Thanksgiving Day Children's Day                             Emperor's Birthday Substitute Public Holiday             Year End After-hours Support for Production Down Issues: Online: Enter a Support Portal Case with Priority=P1 Phone: Call Support Line and follow the P1 prompts   Initial Response SLT We ask that you use the following priority definitions when setting your case priority: Priority Description P1 Mission Critical: Core Business function down or potential loss of mission critical data P2 Urgent: Major feature or workflow is not functioning, mission critical workflow and majority of user community is not blocked P3 Important: Normal usability or task completion is impacted but functional or workaround is available P4 Minor: Minor issue requiring a correction, normal workflow is not impacted
View full article
Included in this article Overview Due to changes to the SFDC integration architecture, action is required soon to continue syncing a small number of fields to your Salesforce instance. Unlike the hundreds of fields that sync between your Marketo and Salesforce instance every day, these fields are set up by deploying a separate “package” on force.com. Now, we can directly sync these fields just like the others. Most customers are only using a couple of these fields in their Salesforce instance – Lead Score and Acquisition Program. However, if your SFDC users rely on any of the 16 fields affected, you’ll need to make some quick modifications to the integration setup. What’s Happening? Marketo's MLM AppExchange package is being retired. The core Marketo > SFDC sync functionality will remain unchanged. The MLM package itself doesn’t do much, but was responsible for taking 16 fields from Marketo and creating 32 corresponding SFDC fields to sync data into (16 on the Lead object, 16 on the Contact object). The configuration update will shut off the sync of data to the MLM package and these fields, so the data in those fields in SFDC will become stale and won’t update. You can keep syncing the same data to SFDC but it requires creating new custom fields. Once the fields are created, a drip process will be initiated to backfill existing data from Marketo into the new fields in SFDC. The MLM package will be officially deprecated as of January 31st, 2017. The data will stop syncing to the fields created by the MLM package after this date. Fields Affected When the configuration change happens, data will stop syncing from these 16 Marketo fields to their 32 corresponding SFDC fields. Lead Score Acquisition Program Acquisition Program Id Acquisition Date Original Search Phrase Original Source Info Original Source Type Original Referrer Original Search Engine Inferred Company Inferred Metropolitan Area Inferred Phone Area Code Inferred State Region Inferred City Inferred Postal Code Inferred Country Where to Go for More Information Recap Summary Now that the changes have been completed, and the deprecation date has passed, this doc will give you the overview of what has happened: Changes to Marketo Salesforce Sync - Recap Summary Frequently Asked Questions Check out our FAQ for the answers to the most commonly asked questions. Changes to Marketo Salesforce Sync – Frequently Asked Questions Discussion thread We've created this discussion thread in the community to address any questions you may have. This discussion thread will be monitored by the Marketo team to ensure you get answers to your questions. Changes to Marketo Salesforce Sync – Questions and Discussion Release Schedule The release is being staggered over the course of 6 months. This doc will give you exact details so you can know precisely when your Marketo instance will be updated. Changes to Marketo Salesforce Sync – Release Schedule Under the Hood Documentation This doc will give you all of the nitty gritty details of exactly what is happening. If you're looking for in depth technical details, this is the go-to doc to check out! Changes to Marketo Salesforce Sync – Under The Hood Recreating Affected Fields There are different versions of Salesforce, but don't worry, all of the details on how to recreate the affected fields as well as a video tutorial can all be found in the documentation here: Adding Marketo Fields to Salesforce Preventing Problems In Salesforce Recreating the new fields in Salesforce can cause your Workflows, Apex Triggers, Reports and AppExchange apps behave differently. They'll need to be updated and this doc will show you what to watch out for: Changes to Marketo Salesforce Sync – Preventative Troubleshooting Contact Marketo Support If you would prefer to talk to someone live, please contact Marketo Support over any of the channel listed here: Contact Marketo Support​
View full article
Marketo campaign queues work like a mall parking lot.  We accommodate average and even above average loads.  But if it's Christmas, you may have to wait a while for a spot.   The campaign execution queue When a flow is launched, Marketo assigns it a priority then queues it for execution.  This priority is based on how the campaign was launched (batch, trigger, resume from Wait) and what's in the flow: Priority level Priority criteria High Send email (triggered) Send alert Medium Request Campaign Interesting Moment Create Task Convert / Delete Lead Add to / Remove from List Change Sales Owner / Progression Status / Revenue Stage / Field in Program Change Member of / Add to / Remove from Sync to SFDC Change Status in SFDC Campaign Low Change data value Change score Wait steps with a wait time > 5 minutes Web hooks Marketo then executes campaigns based on priorities.  High priority campaigns run first in the order they were added to the queue.  Once those are finished, the next highest priority campaigns are executed in time order and so on down until all have completed. If the queue contains only low priority campaigns and a new high priority campaign comes in, the high priority campaign will jump to the head of the line and run next. Batch campaigns and trigger campaigns are run and processed in separate queues.   "Why is my campaign running slow?" Several factors determine how fast and when your campaign will run.  In general, campaign execution time depends on: the number of leads in your campaign the number of flow steps in your campaign other customers' campaigns in the queue the campaign's priority   Even though Marketo can execute many campaigns simultaneously, campaign execution resources are shared among all customers on the same server.  If several customers trigger high priority campaigns at the same time, lower priority campaigns in the queue will have to wait for the high priority campaigns to complete. Also, certain campaign flow steps are slow.  The flow steps below take longer than most, and you may notice that difference when executing your campaigns: Send Email Delete Lead Sync Lead to Sales Add Lead to SFDC Campaign   Speeding up your campaigns Here are some tips to speed up how and when your campaigns are executed: Do essential flow steps first If this is an auto-response or notification campaign, put the Send Email or Send Alert flow step first.  Absolutely do this if you're using two slow steps in a row (Send Email followed by Sync Lead to Sales) so that the email goes out with the highest priority. Don't start with a "Wait" step If you need to delay the launch of your batch campaign, use the batch campaign scheduler.  Re-think any triggered campaigns that start with a "Wait" step because it will be prioritized lower; you probably don't need to include it anyway. If you have a wait step of longer then 5 minutes this will cause all flows below it have a low priority.
View full article
Included in this article Highlights The MLM package in SFDC’s AppExchange is being retired. The MLM package itself doesn’t do much, but was responsible for installing 16 custom fields (16 on the Lead object and 16 on the Contact object) that sync data from Marketo to SFDC like Lead Score and Acquisition program. The configuration update will shut off the sync of data to the MLM package and these fields, so the data in those fields in SFDC will become stale and won’t update. You can keep syncing this data to SFDC but it requires creating new custom fields. When the fields are re-created, a drip process will be triggered to backfill existing data from Marketo into the new fields in SFDC. No Data Will Be Lost Marketo is the source of this data, and the data inside of Marketo will not be touched. The data in Marketo will continue to stay current as it always has. The change being made is in how it is passed into SFDC. No matter what, the data will be preserved inside of Marketo. What is the MLM Package? The MLM package doesn’t actually do a lot on its own. It has been a prerequisite that had to be installed during the Marketo > SFDC integration setup before the MSI package could be installed but it’s a pretty safe bet that hardly anyone actually uses it. It’s the fields that were installed during its installation that get the most usage.  The fields that the MLM package created are frequently used by sales teams inside of SFDC. Data from the Marketo fields passes into these fields in SFDC where it can be viewed on Lead and Contact records (if you’ve added it into the page layout). Telling the Difference Between MLM and MSI in SFDC MLM and MSI are two different tabs inside of SFDC. It’s important to know which is which. The Sales Insight tab is the tab labeled “Marketo”. The MLM tab is labeled as “Marketo Lead Management” Fields Affected When the configuration change happens, no data will be synced from these 16 fields in Marketo to the 32 corresponding SFDC fields (16 on the Lead object, 16 on the Contact object). Lead Score Acquisition Program Acquisition Program Id Acquisition Date Original Search Phrase Original Source Info Original Source Type Original Referrer Original Search Engine Inferred Company Inferred Metropolitan Area Inferred Phone Area Code Inferred State Region Inferred City Inferred Postal Code Inferred Country The Changes Being Made For most customers, the only fields commonly used are Lead Score and Acquisition Program. While these fields will stop updating in the Lead detail pages, it’s important to remember that the Lead Score data will still be available through Sales Insight without any changes being made. Effects on Sales Insight MSI will have very little change made. The Stars and Flames will still function the same way, and lead scores will still update and display current information. Only one change will affect MSI, and it will have a very limited scope. Scoring Still Displays in MSI The Sales Insight Score tab on Lead records in SFDC will continue to show up to date score information. This view will not be impacted in any way. Stars and Flames Still Function the Same Way MSI’s Stars and Flames will still update with data the same way that they did before, even if you have set them up to work with custom score fields on the Marketo side. For more information about Sales Insight’s Stars and Flames, please check out the documentation here: Priority, Urgency, Relative Score, and Best Bets - Marketo Docs - Product Docs Customize Stars and Flames - Marketo Docs - Product Docs Set Score Fields to be used for Stars and Flames in Sales Insight - Marketo Docs - Product Docs The Only Change Inside of MSI There is only one small change to the MSI package. If you have "Debug Mode" enabled in Sales Insight Config (pretty rare), then inside of Sales Insight, if you mouse-over the Stars, you’ll see a label that gives the score. This functionality relied on a dependency between MSI and MLM that has been patched and removed now. As a result of that change, the score can’t be displayed in the hover-over label. Again, this score only ever appeared if you had debug mode enabled, which is very uncommon. Exceptions to MSI Patch The MSI patch wasn’t able to upgrade every version of MSI. A very small number of customers who have an older version of MSI currently can’t be updated by the patch and will need to manually upgrade their MSI installation. If your company uses Marketo Sales Insight version 1.38 or below, you will be required to manually upgrade to the newest MSI package version. Identifying Your MSI Version To check what version of MSI you’re currently using, navigate to Admin > Sales Insight, then look for the Version info in the Status box in the middle of the page. Manually Upgrading Your MSI Package If you find that you are using MSI Version 1.38, you’ll need to manually upgrade your Sales Insight package. The directions on how to upgrade MSI can be found here: Upgrade Marketo Sales Insight for Salesforce1 - Marketo Docs - Product Docs If you’d like help with this installation, please feel free to reach out to Marketo Support with the directions found here: Contact Marketo Support Effect on Fields in Lead Layout Page The change that will be noticed will be to the fields shown in the Lead detail pages in SFDC. If you have any of these fields like Lead Score added to the layout of your Lead detail page, these are the fields that will no longer update and will begin displaying stale data. If your sales teams utilize any of this data, you’ll want to recreate the fields in SFDC to pull in the updated data from Marketo. Keeping Field Data in SFDC The sync of data into these 32 fields (16 on the Lead object, 16 on the Contact object) will be shut off. If you want to keep syncing data from these fields to use it in SFDC, that can be done. You’ll need to create new custom fields in SFDC for the Marketo data to sync into, using specific API names to match up to the original Marketo fields. There are different versions of Salesforce, but don't worry, all of the details on how to recreate the affected fields as well as a video tutorial can all be found in the documentation here: Adding Marketo Fields to Salesforce Cut Off Date The MLM package will be officially deprecated as of January 31st, 2017. The data will stop syncing to the fields created by the MLM package after this date. Backfilling Data Creating the new custom fields will kick off a drip process to backfill the data from Marketo to SFDC. That takes all existing data for these fields from Marketo and pushes it back to SFDC into the new custom fields you’ve created. There are some important details to how this process works, so here they all are! The data backfill process will only initiate if you recreate the old fields using the proper API names as specified. The backfill process goes through a separate communication “pipeline” outside of the standard sync cycle. The backfill process will push data at roughly the same rate as the “Push Updates” rate we get now in the regular sync—somewhere between 7k to 12k records per hour. The total time it takes to update all records will vary depending on sync rate in the separate “pipeline” and the number of records being updated. Once the backfill process is complete, an instance notification will be posted in the Marketo notification center. The backfill process updates the new fields in SFDC records with the data that is in the 16 Marketo fields. When this update happens, it will create a SysModStamp on the record in SFDC. Any new SysModStamp will queue the record to resync back to Marketo. If a lead record is in line waiting for the backfill process to pass updates to SFDC and that record gets resynced through the standard SFDC sync cycle before the backfill is done for that lead, that record will be taken out of the queue of records waiting for the backfill process. This is done intentionally to prevent race conditions where old data could potentially overwrite more current data. SFDC Sync Backlog Any time a large number of records are queued to resync between Marketo and SFDC, it could cause a sync backlog. A sync backlog is only a possibility, not a certainty . Most customers will not have any problems. The rollout schedule has been staggered out over time specifically to address this issue and to prevent sync backlogs. The backfill process passes data through a different channel, outside of the standard sync cycle, so it won’t cause a backlog in that process. It’s the resyncing of the records after the backfill that puts stress on the sync cycle. That standard sync cycle is where you may experience slowness if a backlog develops. The resulting resync of leads will increase volume and put a heavier load on the sync. However, whether or not it actually creates a backlog in the sync cycle depends on many factors like your existing sync volume and if you have any other large number of updates being made. If you think your sync cycle is experiencing a backlog, please reach out to Marketo Support. We can check the existing volume for both the standard sync cycle and the backfill process. Cleaning Up SFDC The MLM package and the 32 fields created by it (16 on the Lead object, 16 on the Contact object) will be orphaned and no data will continue to be synced to them, making them obsolete. Since they’ll be unusable, you may want to remove the MLM package and delete the fields. This process is optional, but can be done if you choose. Uninstalling the MLM package deletes fields, data and workflows created by the package . Any dependencies like for reports or workflows inside of SFDC that you have created based off of these fields will need to be removed manually. If these other custom dependencies exist, they’ll need to be removed before uninstalling the MLM package. For information on how to uninstall AppExchange packages from SFDC, please see their documentation here: Uninstalling a Package For detailed information on how to avoid problems elsewhere in SFDC, please see our documentation here: Changes to Marketo Salesforce Sync – Preventative Troubleshooting Preventing Problems in SFDC Since the fields in SFDC are brand new fields that have just been created, everything in SFDC that references the original fields will need to be updated to point to the new fields instead. This includes all Workflows, Apex Triggers, AppExchange packages for 3rd party software and Reports. As soon as the new fields are recreated in SFDC, the Marketo fields are remapped to those new fields. The backfill process begins and the sync is cut off to the older existing fields, so they immediately stop updating. This results in two important things to be aware of: Everything in SFDC referencing the older original fields will be referencing old data that is no longer updating . The backfilled values entered into the newly recreated fields will be seen by SFDC as brand new values , not the existing values that they are in Marketo. This can cause your Workflows, Apex Triggers, AppExchange packages for 3rd party software and Reports to all behave differently. For full details on this, please see Changes to Marketo Salesforce Sync – Preventative Troubleshooting Where to Go for More Information Recap Summary Now that the changes have been completed, and the deprecation date has passed, this doc will give you the overview of what has happened: Changes to Marketo Salesforce Sync - Recap Summary Frequently Asked Questions Check out our FAQ for the answers to the most commonly asked questions. Changes to Marketo Salesforce Sync – Frequently Asked Questions Discussion thread We've created this discussion thread in the community to address any questions you may have. This discussion thread will be monitored by the Marketo team to ensure you get answers to your questions. Changes to Marketo Salesforce Sync – Questions and Discussion Overview Documentation This doc will give you a high level overview of what the configuration changes are and what to expect moving forward: Changes to Marketo Salesforce Sync - Overview Release Schedule The release is being staggered over the course of 6 months. This doc will give you exact details so you can know precisely when your Marketo instance will be updated. Changes to Marketo Salesforce Sync – Release Schedule Recreating Affected Fields There are different versions of Salesforce, but don't worry, all of the details on how to recreate the affected fields as well as a video tutorial can all be found in the documentation here: Adding Marketo Fields to Salesforce Preventing Problems In Salesforce Recreating the new fields in Salesforce can cause your Workflows, Apex Triggers, Reports and AppExchange apps behave differently. They'll need to be updated and this doc will show you what to watch out for: Changes to Marketo Salesforce Sync – Preventative Troubleshooting Contact Marketo Support If you would prefer to talk to someone live, please contact Marketo Support over any of the channel listed here: Contact Marketo Support
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
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
Just joined the Marketo family? Want to learn more about how to use Marketo? Drop by one of our Office Hours!   Group Office Hours are one-hour sessions for you to virtually connect with a marketing automation expert when you need personalized guidance and insightful advice. Office Hours are available weekdays at different hours to meet our customers' needs around the globe.   Please note these open sessions are open to Launch Pack customers only. If you have not signed up for the service and would like to, please send an email to services@marketo.com.   Prerequisites: You must be within 90 days of your Marketo subscription start date or have signed up for the service You must have taken the Marketo Core Concepts class What to expect: Marketo Expert facilitating the open group session Types of questions: How to/Best Practices/Strategy/On-boarding   Upcoming Sessions:  APAC  APAC Office Hours: Tuesday 1pm AEDT, 3pm NZDT APAC Office Hours: Thursday 1pm AEDT, 3pm NZDT    EMEA EMEA Office Hours: Monday, 2 PM GMT   North America North America Office Hours: Monday, 11 AM PT / 2 PM ET North America Office Hours: Wednesday, 11 AM PT / 2 PM ET North America Office Hours: Friday, 11 AM PT / 2 PM ET
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
On August 24, 2017, Marketo and Google Cloud made an exciting announcement about a broader collaboration to transform engagement solutions for the enterprise. We understand you may have questions, and we’ve prepared the following FAQ that provides additional details. 1)  What did Marketo and Google Cloud announce? Today, Marketo and Google Cloud, two technology thought leaders announced a multi-year alliance that will drive innovation and deliver next generation global marketing solutions on the Google Cloud Platform.  2)  Why is this great for Marketo customers and partners? The MarTech and AdTech worlds have remained silo-ed for far too long. This alliance will simplify the technology landscape for the marketer and enable them to more effectively listen, learn, and engage with buyers across all digital channels, including digital ads. In addition, it will provide the scale, reliability, and security required for enterprises to conduct business in today’s digital world. 3)  What does the alliance entail? The alliance between Marketo and Google Cloud includes the following: Marketo and Google Cloud will invest resources in co-innovation in a number of areas. Beginning in 2018, Marketo will run its marketing automation products and data centers entirely on Google Cloud Platform for all customers worldwide. Google will expand its usage of Marketo’s Engagement Platform across its businesses. 4)  Why did Marketo select Google for its public cloud?  We’ve been planning a move to a public cloud infrastructure for some time as we believe it’s necessary to deliver the scale, reliability, and security that our customers and partners demand to succeed in today’s hyper-digital world. We selected Google for a number of reasons, including its industry-leading knowledge and expertise building secure cloud infrastructure and applications at scale as well as the significant strategic and technology advantages we saw versus other clouds. 5)  Will Marketo continue to build and support its own data centers? Until the migration to Google Cloud infrastructure, Marketo will continue to operate, manage, and support its own data centers. 6)  Will this change impact my Marketo subscription or agreement? Moving Marketo’s marketing automation products and data centers to Google Cloud Platform will not change or impact your Marketo subscription. We will update our End User Service Agreement as appropriate to reference any relevant changes.
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
The Form Library lets you style your forms with an up-to-date look and feel just by dragging and dropping the CSS into your Marketo landing pages or template.  As a side note, the Form Library ONLY styles input, textarea, and select (drop-downs) fields and NOT your radio buttons or check-box selections.     Here's how it works: 1. Choose a form from the table below by clicking on the image. 2. Download the zipped file to your desktop. 3. Open the file and upload the provided images into your Marketo image library. 4. Open the provided code and replace "mktoWeb" with your directory name.   Example:   <style> .mktInput input, .mktInput select, .mktInput textarea  { background: url(rs/ mktoWeb /images/input_bg.png) repeat-x scroll 0 0; border: 1px solid #D4D2D2 !important; font-size:20px; padding: 8px 10px; cursor:pointer; }   .mktInput input:focus, .mktInput select:focus, .mktInput textarea:focus  { background: url(rs/ mktoWeb /images/input_bgHover.png) repeat-x scroll 0 0; } </style>   5. Copy the code and paste in on your landing page by  choosing the Custom HTML option within the design studio.   Note: Some forms use CSS3 for styling. The style is supported in all major browsers except Internet Explorer. You will need to be using IE9 or higher for any form using CSS3. Is this article helpful ? YesNo Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form Download code for this form
View full article
DMARC can be supported through DKIM alignment OR SPF alignment.   For DMARC verified by DKIM alignment Set up DKIM for the domain used in the From Address. OR For DMARC verified by SPF alignment This requires that the SMTP Mail From or bounce addresses used by Marketo's servers when sending the email be aligned with the From Address the recipient sees in the email envelope.  To put this alignment in place: Set up a branded SMTP Mail From (also known as bounce domain, envelope_from, Return Path).  To put this in place there are the following options: Send from a dedicated IP through Marketo, contact your salesperson or CSM to set this up. Send from a Trusted Marketo IP by applying here.  Branding is offered for free to customers sending from Marketo's Trusted IPs.  Once approved for this program reach out to Support to ask for the additional domain branding. Trusted IPs: A shared pool of IPs reserved for lower volume customers who can not qualify for a dedicated IP.  These customers must also meet best practice requirements as well. Purchase one-off domain branding if sending from a Shared Marketo IP, contact your salesperson or CSM to set this up.     Do you wonder what DMARC is? Review this What is DMARC?.
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
Issue You see email clicks in a lead's activity history but no corresponding web page visits to the Munchkin-tracked page. The clicks happen immediately upon delivery of the email, or sometimes even before the delivery is logged. Solution Issue Resolution This is usually caused by email security software on the receiving email server. The security software tests the links to make sure they are not malicious and this causes Marketo to log a click activity for the email. Because the security software does not actually open the web page in the browser, there is no web page visit logged.   Your emails are more likely to be link tested if your sender reputation is low. For more information on link testing, see the following documents. Understanding a Spike in Click Activity Cracking the Inbox Code: Barracuda    
View full article