Skip navigation
All Places > Support > Blog
1 2 3 4 5 Previous Next

Support

67 posts

Let's say that you have a weekly newsletter that you send out through Marketo and every week your deliverability is 95% or better - except last week!  Your deliverability was only 80%!  What the heck happened!?

 

To find out, we pull up a quick Email Performance Report for the email in question and see what it says.  Let's say, for the purposes of this entry that you see a big spike in hard bounces.  (Soft bounces deserve their own write-up.)  I should clarify what Marketo considers a Hard Bounce.  Marketo considers a bounce to be a hard bounce if we get a definitive "NO" from the recipient server.  The server might say "NO" to the delivery because the email address is invalid, or it could say "NO" because it believes the email is spam.  How do we tell whether our spike in bounces was due to invalid emails or due to spam rejection?  We can do this with a Smart List, using the filter 'Email Bounced' and the 'Category' constraint.  Category 1 bounces are spam bounces, Category 2 bounces are invalid email addresses.

 

If the majority of the bounces are Category 2 - Email Invalid, then you will want to go back to your lead database to see if new leads were added, perhaps incorrectly.  However, if the majority of the bounces are Category 1, we need to figure out how you got flagged as spam.

 

When an email to a lead bounces as spam, a couple things happen.  The first is that the lead is set to Email Suspended, and the suspension lasts 24 hours.  During that time, it cannot receive any emails from Marketo, and it is not possible to undo the Email Suspended.  You just have to wait it out.  The field 'Email Suspended' is a historical field.  A more accurate name for this field would probably be "This email was suspended at some point in its history."  The actual suspension only lasts 24 hours, so to see if the lead is currently suspended, check the timestamp on the 'Email Suspended' field.  If it is more than 24 hours ago, the lead is not currently suspended.

 

The second thing that happens is that the actual bounce message received from the recipient server is written to the 'Email Suspended Cause' field.  This field can be full of great information.  To make use of it, let's go back to our Smart List of Email Bounced, Category 2 leads and edit the view so we can see the 'Email Suspended Cause' field.  You will probably need to extend the width of the field to be able to read the bounce messages, but once you've done so, you will be able to scroll down the list of leads and read all the bounce messages we received.

 

A note about bounce messages: they aren't standardized so don't get too wrapped up trying to decode them.  The admin of an email server can configure their bounce messages to say literally anything.  I saw one bounce message that simply read "Go away."  Some will be totally generic, some will be strings of meaningless characters, but some of them - the ones we are looking for - will tell us the name of the blacklist that caused the email to be bounced for spam.  The most common is Spamcop and the bounce messages may look something like this:

 

550-"JunkMail rejected - em-sj-00.mktomail.com [199.15.214.200]:48340 is in an 550 RBL, see Blocked - see http://www.spamcop.net/bl.shtml?199.15.214.200"

 

You may also see blacklists for Symantec, TrendMicro, or ATT.Net.  While they are independent and maintain their own reasons for listing, they often reference major blacklists such as Spamcop and so a Spamcop hit can have far reaching consequences.  Marketo actively manages our relationships with the various blacklist organizations, and some delist automatically after a certain period of time, so by the time you get around to looking at your deliverability for an email, we may be back off the blacklist.

 

Seeing Spamcop in your 'Email Suspended Cause' field, your next question is likely to be "Did I hit a spam trap?"  The answer to that is a maybe, but maybe not.  If you are on a shared IP, it may be that someone else on the IP hit the spam trap, but everyone using that IP is affected.  I think of being on the shared IP sort of like being a tenant in an apartment building.  If one of your neighbors accidentally starts a fire in their living room, you get evacuated from the building along with everyone else, even though you never so much as struck a match.  It's one of the downsides of sharing a resource with other people.

 

If it was you that hit the spam trap, Marketo will notify you and request that you go through the remediation process to remove possible spam trap leads from your database.  If you fail to do so, you will be moved to the quarantine IP so that you can't continue to impinge on the deliverability of your neighbors.

 

Chances are, however, it wasn't you.  The short-term solution is to wait out the 24 hours and resend the email to the people who didn't get it.  But what's the long-term solution for people who don't hit spam traps and who don't want to suffer because of someone else's poor sending practices?  There are two options.  If you send at least 100k emails per month, you can get a dedicated IP - move out of that apartment building into your own home, so you aren't sharing a roof and walls with anyone else.  If you send less than 75k emails per month and you haven't hit any spam traps yourself, you can apply for the Trusted IP range, which is a range of IPs reserved for Marketo accounts whose clean email practices keep them out of spam traps and blacklists.  If you would like to apply for the Trusted IP range, you can do so here:  http://na-sjg.marketo.com/lp/marketoprivacydemo/Trusted-IP-Sending-Range-Program.html

 

If you don't see any indicators of blacklists in the "Email Suspended Cause" field (which is what it will be, 90% of the time), and instead you find a lot of generic bounce messages - "Blocked by policy", "Access denied" - then make sure your DKIM and SPF records still verify.  I've seen more than one SPF or DKIM record removed by IT staff who didn't realize it's importance, and more than one email sent using a domain in the From: line that wasn't set up with SPF and DKIM.


Is this article helpful ?

YesNo


When I explain things, I like to do so using analogies.  Here is the one I like to use when people ask me how they can improve their deliverability.

 

So, imagine there's this hot new nightclub in town called The Inbox, and you really want to get in.  If you want to get past the doorman, you are going to need to be well-dressed, well-known and liked, you can't have a history of getting thrown out of bars for bad behavior, and you need a valid ID.  In deliverability terms, it breaks out like this:

 

  • Well-dressed - This is your content.  You don't want it looking spammy, so make sure your content and design are on point.
  • Well-known - This is your reputation.  Do people open and click on your emails?  Great!  People like you!  If your emails go straight to the trash over and over, however, this isn't good for your reputation, so it's best to focus your efforts on leads who opt in and interact with your content.
  • Don't get thrown out of the bar - Don't hit spam traps, stay off blacklists.  If you have a history of hitting spam traps, you'll get a rep as a troublemaker and they will stop letting you in.
  • Valid ID - This is your SPF and your DKIM.  You should have both set up because a lot of people won't let you in without it.

 

There's one more thing to consider - getting on The List.  You know how people cut to the front of the line and tell the doorman, "I'm on the list," and they get right in?  That's the whitelist.  Whenever possible, get your important customers to whitelist you.  If you have a dedicated IP, this is pretty easy.  If you are on the shared IP, this can be a little trickier.  Sometimes customers push back and are unwilling to whitelist all of the Marketo network. Fair enough.  In that case, it may be possible for a customer to whitelist something other than Marketo IPs to ensure delivery of Marketo email only from a specific instance.  For this we recommend using regex version of the Return Path header.  Because this header changes dynamically this regex creates wildcards where the dynamic information is.   Because the Return Path is specific to the Marketo instance, if you would like to use this option, contact Marketo Support and we can provide you with the regex Return Path header for your instance.


Is this article helpful ?

YesNo


The error below is commonly seen if the password for the SFDC sync user expires, or if you end up having to change the credentials because your sync user left the company.  (We recommend you sync user not be an actual person, but that's another article)

 

The best way to resolve any issues you may be having with entering your SFDC credentials in Marketo is to follow the instructions below.  Nine times out of ten this will resolve the issue, but only if you follow them exactly!  Also, be aware that if you're entering new credentials they should be for a user in the same instance of SFDC as the old sync user.  It's not currently possible to connect your Marketo instance to a second SFDC instance, and trying to enter credentials from a second instance will result in errors and possible trouble for your Marketo instance.

 

In Marketo:

1) Click the Admin button in the upper right hand side of the Marketo instance.

2) Go to the "Salesforce" section of the tree menu on the left.

3) Click the "Disable Sync" button at the top. This will prevent Marketo from continuously logging into SFDC. (Prevents you from getting locked out while trying to fix this issue)

 

In SFDC:

1) Log into SFDC with the sync user credentials.(www.Salesforce.com)

2) If you cannot log in (which is most likely the case), then follow the Salesforce reset password link, or have your admin reset this for you.

3) Once you can log into SFDC as the sync user, click "Your Name - Setup - My Personal Information - Reset Security Token". (Disregard the token you get in the reset password emails, you need to reset the token manually, and make sure to save this email!)

NOTE: Don't forget to make sure that your SalesForce Sync User is not locked out of SFDC.

 

Back in Marketo:

1) Go to Admin - Salesforce - Edit Credentials

2) Make sure you fill each field separately, do not add the security token to the end of the password, make sure it's in it's own field.

3) Click save.

4) Re-enable the sync.


Is this article helpful ?

YesNo


In an email, you may have a telephone number that you want to be linked so that when someone clicks on it on a mobile device, it automatically pops up in their phone so they can make the call.

 

The standard approach is to hyperlink the number with tel: in the link: <a href="tel:[PHONE-NUMBER]">[PHONE-NUMBER]</a>

 

If you leave this link just like this, where it is trackable and encoded by Marketo, the click to call functionality won’t work. You need to set the link to classmktNoTok in order for that functionality to work without sacrificing the ability to track clicks on the links.

Many thanks to Sanford Whiteman for the suggestion on how to make this work!


Is this article helpful ?

YesNo


If you create a multi-select field in Salesforce, it will come over as a String field in Marketo. If multiple values have been selected in Salesforce, they will be separated by a semicolon, e.g. Water;Fire;Wind. Let’s say I then put this String field on a form, and change the Field Type to Select, and allow for multiple selections. If that lead subsequently fills out the form and chooses Earth and Wind, this will overwrite the existing values in the field and the field will now say Earth; Wind. These will resolve correctly in the Salesforce multi-select field.

Now, usually we don’t want to overwrite existing data. So for this reason, we create a separate field in Marketo that we can use on forms. Let’s say I call this “Product for Web Forms” and I use this on the form instead of the original multi-select field from CRM.

 

Then I create a campaign in Marketo along the lines of this:

Now, if I fill out the form and choose Earth and Wind on the form, the Product for Web Forms field will say Earth; Wind and the Product field will say Water;Fire;Wind;Earth;Wind. Even though it has the same value twice in the Marketo list, this will resolve to the correct four values in the multi-select list in Salesforce.


Is this article helpful ?

YesNo


With the Sync filter for the Marketo-Dynamics CRM sync, it is possible to restrict which records flow into Marketo. This can be applied to all entities. For each of the entities, the filter needs to be set up separately.

Install Lead Management Plug-in

Make sure you have the latest version of the plug-in installed (3.0.0.1 or later).

Create Custom Field: new_synctomkto

Users must add a custom field new_synctomkto to Lead, Account, Contact, Opportunity and any custom entities they want to sync with Marketo.. This field determines whether the lead, account, or contact will be synced with Marketo. It must be of "Two Options" (boolean) type  – “Yes” (TRUE) and “No” (FALSE).

Although this is a Boolean field, there are 4 possible states for this field's value from our plugin's point of view:

  1. Field does not exist: If the user does not want to use this filter, they won't have this custom field. This is interpreted as TRUE.
  2. Field is NULL: All new entities that are created after this custom field is defined will get the default value. But all existing entities created prior to this field will get NULL value. This is also interpreted as TRUE.
  3. Field is TRUE
  4. Field is FALSE

We strongly recommend making the default value No.

 

Important: if you want to use the filter, then they must select this field to be synced with MLM. This is done in Admin > Microsoft Dynamics.

In this screen, scroll down to the field ‘new_synctomkto’ and check it. The label may be different; many customers name it “Sync to Marketo”. The name of this field must be "new_synctomkto" , however the display name can be whatever the user wants.

Set up CRM Automated Workflow

You can set new_synktomkto to either True or False if you have fairly static records that they want to filter for sync. However, you can also create a workflow in Dynamics that will automatically set syncToMkto field based on their filter criteria (e.g State = California, or Division = Web Services). This should be a background job that will be triggered when a record is created, or updated. To optimize, the user is advised to make this workflow asynchronous so actual create or update operation time is not impacted. In addition, the workflow trigger must be fine-tuned so that it fires only when relevant field changes for the update operation. This workflow must be run manually once so that all existing record will get their proper value.

 

 

Note: Everything in this solution needs to be implemented in Dynamics. Nothing needs to be configured in Marketo.


Is this article helpful ?

YesNo


When you create a calendar token and place it in your emails, it creates a text link like this:

Sometimes people want something a little bit showier so they try to make an image that links to the .ics file. This doesn’t work; Marketo will replace the image with the text. Instead, you get stuck with the workaround of creating a calendar file manually and uploading it to Images and Files so you can hyperlink to it directly. That works, but who wants to have to do all that extra work to create your own calendar file? Not me. (Secretly I’m very lazy. Or, as I prefer to call it, efficient.)

 

So here’s a little trick I discovered:

  • Create the calendar file as a local program token as you would normally.
  • In your email, add the image you want to hyperlink to the calendar file and hyperlink it to the calendar token. We know that this won't actually work correctly, but it will allow you to find the URL of the .ics file.
  • Send yourself a test email. When you get the test email, hover over the image and identify the URL of the .ics. In this screenshot, the URL is “pages.gladiatorapps.com/rs/384-evm-334/373/subject.ics”.
  • Take this URL to your email and replace the hyperlink to your calendar token with the direct URL.
  • Now send yourself another test email. This time, you’ll see your image, which will have a tracked hyperlink. When you click on that hyperlink, bam – calendar file!

(Hopefully if you use this, you'll spend the time to create better names and images than I did for mine.)


Is this article helpful ?

YesNo


You’ve just integrated Marketo with your CRM system. Now you’ve got a big decision to make: when do you send all of those great new leads you are generating into CRM?

 

You have two primary options:

  • Sync all leads to CRM almost immediately, generally upon lead creation
  • Sync leads to CRM based on rules, generally upon marketing qualification

As with most things, there are pros and cons to each approach. Sync Leads to CRM Immediately

ProsCons
You don’t need to create and manage sync rules.Sales will need to be trained to recognize which leads are qualified and which are not yet ready for follow-up.
The sales team has visibility into all leads right away, so they are less likely to create duplicates.Some junk or invalid leads will end up in CRM.
Leads may not yet have all of the information necessary to decide on lead assignment or follow-up.

Is this article helpful ?

YesNo


Sync Leads to CRM Based on Rules

ProsCons
You can keep most of your invalid or junk leads out of CRM.Sales might create new leads or contacts in CRM for people you already have in Marketo, thus creating duplicates and splitting activity history across multiple records.
Sales will not see unqualified leads.Someone has to create and manage the sync rules.

Summary

One of the more recently introduced features in Marketo is Custom Activities. We all know about the built in Activities Marketo provides out of the box, and you can see that list using the Get Activity Types REST API Endpoint, but what's a "custom" activity? What is it used for? Why do customers need it?

 

Well essentially it's analogous to a built in activity in structure and purpose in every way, only you define it as an action a user has taken that is relevant to your business, and you add those activities through a special REST API Endpoint. Just like Marketo activities, you get a Filter and Trigger associated with the new custom activity that you can use in your smart lists

 

Custom activities are currently a beta feature in Marketo, but are currently in production with a fair few clients. They must actually be created in your instance by consulting or support, so once you define their attributes, you can work with professional services or support to get the activities themselves created. Once that's done, you can use the API to populate them.

 

Defining A Custom Activity

The following aspects of a custom activity must be defined to create it in Marketo.

- Name : The name of the custom activity (that one's a bit obvious)

- Description (Optional) :

- Trigger Name : This is the name Marketo will give to the Trigger associated with this custom activity

- Filter Name : This is the name Marketo will give to the Filter associated with this custom activity

- Attributes : This is the list of all the relevant attributes on the activity. The possible datatypes are the usual suspects.. integer, float, string, boolean, and datetime

Screen Shot 2015-07-20 at 7.15.09 AM.png

 

Example

The example I've chosen is "Purchase Product". When a Lead purchases a product, you might want to send a welcome email, or add that lead to  nurture stream. When passing on your request, you should have these ready to give to support or consulting in a concise format to avoid confusion. Note that you do NOT need a "purchaseDate" attribute, as Marketo give you a "date of activity" attribute for free.

 

- Name : Purchase Product

- Description (Optional) : a lead purchases a product!

- Trigger Name : Purchases Product

- Filter Name : Has Purchased Product

- Attributes :

     productID: string

     productName: string

     productDescription: string

 

Once the object is created, support will supply an Activity ID to you, which you'll use in your REST API calls to add activities. Be sure to make a note of it! In my case, that ID is 100006.

 

Let's take a look! The following screenshot shows the Trigger and two Filters that are created for you, and notice that your custom activity attributes are available as constraints. Cool right?!?! Think of all the cool possibilities. One thing that comes to mind is the creation of an activity like "Custom Form Fill". If you're using the SOAP or REST API to handle form fills in a custom way rather than using Marketo Forms, you don't get a "form fill" event.. but now you can emulate that with a custom Activity!

 

Screen Shot 2015-07-20 at 7.31.07 AM.png

Adding Activities

Now that you have your shiny new activity, lets add some using the REST API. For this example, I use Postman, and I really recommend it. It simplifies the process of interacting with the REST API. Note if you arent comfortable creating timestamps, there is help available! Check out sites like the Timestamp Generator / Converter - Timestampgenerator.com

 

Screen Shot 2015-07-20 at 8.38.14 AM.png

 

Request (note that you can send in many activities in one request)

{

   "input":[

      {       

         "leadId":34,

         "activityDate":"2015-07-20T12:30:00-08:00",

         "activityTypeId":100006,

         "primaryAttributeValue":"SKU12345",

         "attributes":[

            {

                "name": "productName",

                "value": "iPhone"

            },

            {

                "name": "productDescription",

                "value": "iPhone 6s+"

            }

         ]

      },

      {       

         "leadId":34,

         "activityDate":"2015-07-20T12:30:00-08:00",

         "activityTypeId":100006,

         "primaryAttributeValue":"SKU12346",

         "attributes":[

            {

                "name": "productName",

                "value": "Apple Watch"

            },

            {

                "name": "productDescription",

                "value": "Apple Watch Edition"

            }

         ]

      }

  ]

}

Response:

{

  "requestId": "94a2#14eac235e1a",

  "result": [

    {

      "id": 76356,

      "status": "added"

    },

    {

      "id": 76357,

      "status": "added"

    }

  ],

  "success": true

}

 

Viewing Activities

Just like normal activities you can view these in campaign result, and also in lead details under the activity tab.

 

Screen Shot 2015-07-20 at 8.47.13 AM.png

 

Limitations and Considerations

- The volume limit for these activities is a bit fluid, but we recommend keeping under 100,000 per day. That limit can be revisited depending on usage.

- Custom Activities cannot be used in email scripting. Think of them like normal activities.


Is this article helpful ?

YesNo


This blog is the third and final part in a series on ways of tracking lead acquisition and program success when you are embedding global forms on a non-Marketo landing page or website.

 

The first option we covered was dependent on having a generic/tokenized thank you landing page that can be used for anyone who filled out the form. The second approach was modified to allow for separate thank you landing pages. The third and final approach uses the Form 2.0 API with loadForm and onSuccess handlers so that you can control the follow up page activity from the website, rather than from within the form settings. This also has the benefit of not requiring people to remember URL parameters in their email links.

 

  1. Create a global content form in Design Studio.
  2. Embed the global content form on your website on each landing page.
  3. Create follow up/thank you landing page(s) as desired.
  4. On the webpage that hosts the form, add a customized version of this code, so that when the form is loaded, you add a hidden field (highlighted in green) and pass a value into it to indicate which piece of content was retrieved (highlighted in yellow). Be sure to customize the code with your pod (highlighted in red), your account string (highlighted in purple) and the form ID (highlighted in blue).
  5. On the webpage that hosts the form, add a customized version of this code, so that when the form is submitted, it redirects to the URL highlighted in yellow. Be sure to customize the code with your pod (highlighted in red), your account string (highlighted in purple) and the form ID (highlighted in blue).
  6. Create a Web Content program for White Paper A with a success campaign that triggers off the form fill.
    1. In the smart list, use the “Fills Out Form” trigger and add a filter for that specific ContentName. This is where you should populate the value you’re entering in the URL Parameter
    2. Then in the flow, send out the follow up email, change the program status, and set acquisition as normal.

Is this article helpful ?

YesNo


This blog is the second in a series on ways of tracking lead acquisition and program success when you are embedding global forms on a non-Marketo landing page or website.

 

The first option we covered is dependent on having a generic/tokenized thank you landing page that can be used for anyone who filled out the form. However, there are reasons why you might want to have separate thank you pages (such as having unique layouts or follow up CTAs that you can’t tokenize). This second approach is slightly modified to allow for separate thank you landing pages.

 

  1. Create a global content form in Design Studio. Include a hidden field on the form to capture the name of the content populated via a URL parameter.
  2. Embed the global content form on your website on each landing page (with a unique URL).
  3. Create follow up/thank you landing page(s) as desired.
  4. Inside the form settings, use the advanced options to Add Choice and determine the follow up page based on the values that could be populated in that hidden field.
  5. Create a Web Content program for White Paper A with a success campaign that triggers off the form fill.
    1. In the smart list, use the “Fills Out Form” trigger and add a filter for that specific ContentName. This is where you should populate the value you’re entering in the URL Parameter
    2. Then in the flow, send out the follow up email, change the program status, and set acquisition as normal.

When you give someone the link to the website landing page, ensure you use a version of the URL that includes the URL parameters, e.g. landingpagename.com/whitepaper?cn=WhitePaperA. Then when they fill out the form, it will capture the white paper in a field, redirect to the right thank you page, and make them a member of the correct program.


Is this article helpful ?

YesNo


If you choose to use the embed code to place Marketo forms on your website, you likely are creating each form as a local asset to a program. This allows you to easily track acquisition for new leads that are created as the result of filling out that form.

 

The downside to taking this approach is that you are then managing many more forms. When you need to make a change to a field that lives on many forms (say some new country declares independence), you have created quite the administrative nightmare for yourself.

 

So how do you balance between scalability and trackability?

 

Let’s say you have two case studies (Company A and Company B) and you want to use the same form on two different landing pages. Here’s a fairly simple approach to solving this:

 

  1. Create a global content form in Design Studio.
  2. Create a generic thank you landing page for people who fill out the form. (Use some message like “Thank you for your request. You will receive an email shortly with your content.”)
  3. Embed the global content form on your website on each landing page (with a unique URL).
  4. Create a Web Content program for Case Study – Company A with a success campaign that triggers off the form fill.
    1. In the smart list, use the “Fills Out Form” trigger and add the constraint “Referrer is” or “Referrer contains”. This is where you should populate the URL of the page where people fill out the form to get Case Study – Company A.
    2. Then in the flow, send out the follow up email, change the program status, and set acquisition as normal.

Are you thinking this sounds too easy? Well, stay tuned – we have more complicated options coming for you in a future post!


Is this article helpful ?

YesNo


Like you, Marketo takes privacy seriously. We treat the data that you collect and use on our platform with the utmost sensitivity and employ strict policies and appropriate protections to help ensure the privacy of that information.

 

Marketo is responding to the October 6, 2015 invalidation of the Safe Harbor Program by developing an addendum to our services agreement that will incorporate the standard contractual clauses, which is an alternative mechanism for transferring personal data outside the EU in compliance with EU data protection law.

 

Find more information and access the data processing addendum here.


Is this article helpful ?

YesNo


Some businesses using Marketo find it necessary to use multiple domains in their instance.  This allows them to have some of their landing pages branded with one product or division within their business, or even another company name altogether.  As long as you control both of the domains you want to add to your Marketo instance, then you can add as many as you'd like.

 

The article below will walk you through setting up the additional CNAMES, but I want to take a look at the most common question I get about this process.

 

"How do I choose which CNAME to create the Landing Page under?"

 

 

This question is misleading, because when you add additional CNAMES to your instance you aren't compartmentalizing which pages get created or placed in which spaces.  Adding more CNAMES doesn't build a whole new room for you to make and store landing pages.  You're only cutting a new door into the same room where you landing pages live already.  This makes it so there are multiple pathways to get to all of the pages in your instance.

 

Basically, once your IT team creates the new CNAME and points it to your Marketo instance (accountstring.mktoweb.com), just like they did with the first one, then you'll add it into Admin as a domain alias, and all of your pages will be available from that CNAME as well as the original and any other aliases already set up.


Like this:

 

(Original CNAME) pages.mydomain.com/MyPageName.html
(New Alias)            info.otherdomain.com/MyPageName.html

 

Or this:

pages.cakes.com/CakeSurvey.html

smallerpages.cupcakes.com/CakeSurvey.html


Is this article helpful ?

YesNo


 

 

You don't choose a CNAME, when creating the page.  All pages are created under the default/original CNAME, but they're all available from all Aliases as well.  Both of the urls above will take you to the same page, because both of the CNAMES are pointed to your Marketo instance (the room where all your pages are stored).

 

The choice comes when you decide which url to publish in your emails and give to your leads.  By handing out the url you want leads to use, you can decide which one they see, and which one they pass on to their friends and coworkers. The others urls will still exist, but if you never tell anyone about them then nobody will ever know.


https://docs.marketo.com/display/public/DOCS/Add+Additional+Landing+Page+CNAMEs

Everyone knows that Marketo won't allow duplicates to be created, right?  But how does it work, and how do you find out what happened when you find yourself with duplicates?

 

First we'll talk about how and when it does work.

 

Deduplication works for three processes of lead creation in Marketo.

 

  • List Import
  • Form Fill-Out
  • Lead creation through API

 

All of these processes depend on the Email Address field as the main identification key, and when new data is submitted which includes an email address, Marketo will look through the lead records currently in your database for any record with a matching value in the Email Address field.  If it finds a record with the same Email Address value, then the other field values that are included in the incoming "bundle" will get written to the proper fields on that record.  If the process does not find a record with a match Email Address value, then a new record is created in your database and incoming information will be written to this record.  Done. Bam! New Leads!

 

Now, lets talk about when deduplication doesn't or can't work.

 

Because each of these processes relies on the Email Address field as the key piece of identification, it must be present on both sides for deduplication to work.  By that I mean that each bundle of information you submit to Marketo for lead creation must have an Email Address the system can check, and any record currently in your database at the time the bundle is submitted must have an Email Address to check against. If that field is not part of an incoming bundle, then a new lead will always be created.  If there are records in your database with blank Email Address fields, then incoming leads can't be checked against them.

 

A new lead may have the all the same information as the original, but if the email values don't match at the time the second lead is created then deduplication cannot occur.

 

 

How To Troubleshoot Duplicates

 

You can see here we have two duplicates.

 

The first was created Manually.


 

And the second was created through a list import 10 minutes later.

 

When assessing duplicates it's best to start by looking at the New Lead activity for each duplicate.  Marketo will not deduplicate lead information that is synced from your CRM (Salesforce, Microsoft Dynamics, etc).  It will take the CRM's word for it that the lead is valid and the information is good.  So if one of the duplicates was created by a process in Marketo, and the other was created by Salesforce or Dynamics, then you'll know why the duplication happened.  It's also possible to create leads manually in you Lead Database by clicking New from the bar at the top.  This process does not deduplicate against the leads already in your database, but if you're creating them manually then you'll most likely know if they're duplicates to start with.

 

The next step in troubleshooting is to look at the logs for any change in the Email Address field.  Remember that the Email Address values are only compared at the time the second lead is created, so if you find changes to the Email Address in the activity log of either duplicate, then you can be pretty sure they weren't the same to begin with.

 

We can see that our lead which was created through list import had a change made to the Email Address field after it was created.  This change was from [null] to "test@marketo.com", and there weren't any other changes logged since the lead was created, so we can be sure that the lead was created without an email address.

 

These troubleshooting steps will help to identify the cause of any duplicate you have in your database, and help you to prevent duplicates in the future.


Is this article helpful ?

YesNo