Skip navigation
All Places > Marketo Whisperer: Implementation Tips

Dear Marketing Nation,


I wanted to inform you that after eight incredible years at Marketo, Cheryl Chavez, our group vice president of Product Management and User Experience, will be leaving the company at the end of August to take some time off and eventually pursue other opportunities. While we are sad to see her go, we support Cheryl and wanted to take a moment to recognize the great work she has done on behalf of Marketo over the years. She has left an indelible mark on the company and on many of you, our customers and partners.


While change and transition are tough, Marketo’s commitment to customer and product innovation remains on track as we expand our portfolio and deliver against our product roadmap. I look forward to speaking with many of you over the coming months and weeks as we continuously share new updates and features to help you, the world’s smartest marketers, to succeed.


Please join me in thanking Cheryl for all she has done for Marketo and wishing her well and much success in the future.


Manoj Goyal

Chief Product Officer, Marketo

Recently one of my clients noticed that records were showing up in the program membership tab as a success even though the program status wasn’t a success status. I discovered that the record had reached program status which was success and then the client later changed the status to one which wasn’t a success status. The client didn’t use the 'Change Program Success' flow step and set success to false. Thus, once a record reaches success it will always be a success which will impact your reporting unless you reset success to false.


Example of the program membership tab.


Channel program statuses.


Here is the how to the status of records to a non-success status.


Brian Law

Anatomy of a Program

Posted by Brian Law Employee Aug 5, 2017

Here are a few helpful tips for understanding how Marketo programs work.

The program name is the most flexible part of a program since it can be changed at any time. A good naming convention will make it easier to filter your programs in RCE reporting.


The channel is used as a filter in reporting and is the most inflexible part of a program. You should choose wisely when creating a program because once a program has members you have to remove them to change the channel.


Membership and the membership date are set when a program status or acquisition is set. If you set a record to a status of "Not in Program", the membership date is cleared. The membership date can't be reset which will mess up reporting.


Acquisition and acquisition date are set automatically when a record fills out a Marketo form on a Marketo landing page or you choose the acquisition program when you import a list. Marketo will automatically set the record to the first program status in your channel. Setting acquisition is critical for acquisition attribution reporting. There are many cases where the acquisition program is not automatically set and you will need to use a smart campaign to do it. Here is article about when to set acquisition.


Program statuses are used to define which stage each record is in. Records may have only one status at a time. A record which has any status in a program is considered a member of the program. Records which have attained a meaningful interaction should be considered a “Success” in the program. Once you set a record to a program status which equals success the success date is also set. The success date is important for determining success attribution.


So when you set a program status for the first time which is not a success step, membership and membership date are also set. When you set a program status for the first time which is a success step the following are set: membership, membership date and success date. When a new record is created and acquisition is set and the first status in your program is not a success step the following are set: acquisition, acquisition date, program status, membership and membership date. Finally, when a new record is created and acquisition is set and the first status in your program is a success step the following are set: acquisition, acquisition date, program status, membership, membership date and success date.


I hope this article better explains how programs work.

Dear Marketo Customers and Partners:


Today, for a number of hours, our main web site, along with a small number of other Marketo domain properties were rendered inaccessible, preventing log in to our application. While the issue is now largely resolved, I can assure you that the core Marketo application continued to operate in the background and your data was never at risk.  I want to sincerely apologize to you and on behalf of the entire Marketo team as we take any disruption to your service very seriously.


I also want to be completely transparent with you on what happened and assure you that it won't happen again.


We renew thousands of domain name properties we own every year with precision, yet the auto renew process for registering our main domain,, failed. This catalyzed a cascading series of issues, but ultimately human and process error are to blame and again, we take full responsibility.


While our global support team in Ireland was working with our DNS registrar in the very early morning hours, members of our customer and partner community helped pinpoint specific issues that aided us significantly. While this does not absolve Marketo of responsibility for this serious situation, I would like to thank the individuals who assisted us. We greatly appreciate your support during a trying time.


For our global customers, please note that domain name resolution issues can take up to 24 hours in some cases to fully resolve - i.e. propagate across the internet.


I personally have commissioned a detailed review of our internal operating procedures on a number of fronts to ensure we have fail-safe protocols in every area of the business.


Additionally, I've addressed the company internally and while the issue with the registration is largely resolved, I have nonetheless emphasized the gravity of what occurred and extended a call to action for more precision in our operation.


My deepest thanks to you, our customers and partners, for your support and understanding as we reaffirm our commitment to always deliver world class service to you.


Steve Lucas

We apologize sincerely for the access issues you are experiencing today on Features accessed through such as forms, web personalization, etc. are affected due to a domain access issue through our DNS information service provider. The domains are being propagated and should be completed shortly. Marketing automation capabilities such as campaign management and execution, CRM sync, Munchkin, and API are not affected. As soon as domain access is restored, you will no longer experience these issues.

Using Inferred Company information is tricky due to the thousands of different interent service providers.



It may be a lot of work to identify all the different providers for not a lot of value. In the United States some of the largest providers are Comcast Cable and Time Warner Cable, but there are thousands of smaller companies providing service.

Here is an example of a batch data management campaign to populate an empty Country field with the Inferred Country value. In this case I only wanted to populate the Country field if the inferred value isn't "Anonymous Proxy."


Smart Campaign

Populate Country with Inferred Country Value


Smart List


{{lead.Inferred Country}}

If necessary you can use the ‘Add Choice’ logic in the Change Data Value flow step to change the Inferred Country value to a different value.



Run daily in the middle of the night.



  • Create the campaign as a trigger campaign if you need low latency. Here is an example of building a trigger campaign.
  • Information about using Inferred Country
  • Information about using Inferred State

Although inferred information is far from perfect it is still one of the best options for identifying the location of records which fill out your forms. Marketo populates a known record with inferred state information leveraging the IP address.


If the inferred country value is not exactly what you want you can use an 'Add Choice' in your flow step to set the correct value.


Examples of country values.

It is possible for the Inferred Country field to be populated and the rest of the fields will be empty.

In some cases it is possible for the Inferred Country field to be populated with a value of 'Anonymous Proxy.'

Sometimes Inferred Country will be 'Anonymous Proxy' and the State Region value will be a state.


Part II - Instructions to Populate Country with Inferred Country Information.

Here is an example of a data management campaign to populate an empty State field with the Inferred State value. In this case I only wanted to populate the State field for certain countries. Simply remove Country and Inferred Country if you want to populate the State field for all countries. Notice I set the Source Type to Web form fillout since the Lead is Create trigger will only fire when the record is created via a web form.


Smart Campaign

Populate State with Inferred State Value


Smart List


{{lead.Inferred State Region}}

If necessary you can use the ‘Add Choice’ logic in the Change Data Value flow step to change the abbreviation to the full name of the state. Remember to create two different campaigns and put the most popular states at the top as noted in this article for better system performance.


  • Run the campaign as a daily batch campaign if you don't need low latency.
  • Information about using Inferred State.
  • Information about using Inferred Country.

Marketo populates a known record with inferred state information leveraging the IP address when a person fills out a Marketo form. Here is an interesting article about what's behind your IP address.


The Inferred State Region value for US states and Canadian provinces is abbreviated.




Inferred State Region values for other countries are often city states.






Part II - Instructions to Populate State with Inferred State Information.

Brian Law

SFDC ID – A Deep Dive

Posted by Brian Law Employee Jul 4, 2017

The SFDC Id token can be used in emails and the value can be viewed in a Smart List and on individual records. You unfortunately can't search by a SFDC Id in the database area of Marketo.


The SFD id can’t be used in a Change Data Value flow step to populate a custom field. The SFDC Id also can’t be used as filter in a smart list. You can populate a custom string field with the 18 character SFDC id using the tokens {{lead.sfdc lead id}} and {{lead.sfdc contact id}}.


Flow example

If you have a large database, I recommend running 100K batches at night and on the weekends and waiting a few hours after each is completed so you don't impact system performance.


By the way, after a lead is converted to a contact you will need to run a daily batch campaign to set the new SFDC Id.


Here is an example of how to set the Smart List of the batch campaign.

A resource guide for identifying records with suspect field values:


Records with a possible Invalid Email address. Includes a solution from Sanford Whiteman on correcting common issues.


Records with a generic email address.


Imported records with the Unicode replacement character.


Records with a suspicious field value.


Records which appear in Marketo again after you have deleted them.

Good data governance is keeping your Marketo database up-to-date, accurate and useful. Here is how to create a smart list to identify fields with abnormal values.


In this example, I created the smart list in my master data management program.


Smart List - Imported and Web Form Records with Possible Field Value Issues


In this example, I am assuming unusual values coming from records created from is intended behavior. If you are interested in reviewing your entire database rather than records created by list imports and web form fillouts simply remove the first filter in the smart list.

Here are the values used in the smart list above:







I intentionally left out #, & and * which are often used. Feel free to adjust your own smart list according to your requirements.

The Unicode replacement character � (often a black diamond with a question mark in it) will often appear when imported data is invalid.


Here is a smart list you can setup and subscribe to be alerted of an issue with a list import.


In this example, I created the smart list in my master data management program.


Smart List - Unicode Replacement Character- List Import (Created in past 24 hours): Set the subscription to this list.

In this case I sent the date of activity for the past 24 hours but you can customize the time frame.

Set Subscription

Now you can trouble shoot issues more quickly.


Additional Resources

  • Instructions for importing records with Unicode data into Marketo. Here is some test data if you want to try out the instructions.


Email AddressCompany NameFirst Name
testrecord05@record.comGermanä ö ü
testrecord06@record.comSpanishá é í ó ú
testrecord07@record.comSwedish/FinnishÅ å Ä ä Ö ö
testrecord08@record.comDanish/NorwegianÅ å Æ æ Ø ø
testrecord09@record.comFrenchÀ à Â â Ä ä È è Ô ô


Here is a recent thread about Unicode issues in Marketo. There are other ways to import Unicode as stated in this thread.


Here is a wiki article if you are interested in learning more about the replacement character.

Instructions for setting the Marketing Suspended to FALSE if the email address field is updated or the record does an activity.


Smart Campaign

Set Marketing Suspended to False - New Activity


Smart List

Remember to add any master smart or static lists you are using to prevent promotional emails being sent to specific records which have the Marketing Suspended field set to TRUE so this campaign doesn't accidentally change the Marketing Suspended field.




Additional resources for managing bounces.