Re: Contact - Lead Update Issue

Not applicable

Contact - Lead Update Issue

Our SFDC Contacts are synced with MKTO. When a visitor fills out a form on our website, a new Lead is created (which is what we want); however, if that email address is already associated with a Contact in SFDC, fields in the Contact record are getting updated instead of in the new Lead record. So the new Lead hits our Inquiry Queue, but the pertinent details (Lead Source, Description, Campaign, etc.) are missing b/c they are being updated in the Contact record.

How can we ensure that the info passes into the Lead record?

Level 10 - Champion Alumni

Re: Contact - Lead Update Issue

Susan Horridge

What method are you using to create your purposeful dupes?

Level 10 - Champion Alumni

Re: Contact - Lead Update Issue

This really doesn't directly answer your question, Susan, but wanted to throw this out here for you to see how others deal with this similar situation:

First, here's our integrated sales and marketing funnel:


Here is our Revenue Cycle Model in Marketo (that's based on our lead lifecycle above):


And here's an overview of our lead assignment, routing and qualification workflow:


Some specifics:

  • The value of the STATUS REASON field in CRM is key; and what Marketo constantly listens for to determine lead lifecycle status:
    • Not Sales Ready (all leads are synced over and given this status)
    • Open (Marketing has qualified it (MQL) and assigned it to Sales
    • Working (Sales has accepted the lead and agreed to work it)
    • Recycled (the lead is recycled back to Marketing and continues to qualify for any related/active programs in Marketo
  • Today, we sync any lead that has reach "Suspect" or beyond to CRM (as a LEAD record).  While these leads are far from being qualified, we do this so that Sales (and/or Marketing) doesn't create a duplicate lead in CRM (which would sync back to Marketo as a duplicate).  Today, duplicates are a big issue for us (you'll see why in a bit).
  • When there's a potential MQL that's synced to CRM, it's still synced as "Not Sales Ready", but the lead lifeycle status is changed to "Evaluation".  This is so Marketing must physically evaluate a lead before it's qualified and sent to Sales.  Leads that fit this criteria are those that achieve a lead score threshold (100pts) or fast-tracked.  Fast-track scenarios include:
    • When someone submits a contact-us form on our website and selects either "Current Customer" or "Potential Customer" from the "Relationship with Avanade" field
    • When our Teleprospecting team has identifies a sales-ready lead
    • When someone attends an event/tradeshow and are identified as needing sales to follow-up with them.  We also tag leads where we know that an existing opportunity exists - these are tagged as "marketing influenced opportunities"
    • Marketers have the ability to manually fast-track any lead at any time by clicking the "Fast-Track to MQL Status" checkbox:
  • We have built highly detailed and informative real-time alerts (for both Marketing and Sales) to ensure leads are actioned in a timely manner (and have workflows built to send these out again, if not actioned; and eventually sent to escalation managers as a last resort.  Here's an example sales alert:


To give you an idea of the complexity of our lead lifecycle workflows, here are the smart campaigns built to support it (some of these have a large number of triggers, filters and flow steps).  We continue to optimize these over time - for example, we have setup specific routing/alert smart campaigns (LL Operational) - since this, alone, is complex in that everything is country based and have marketers assigned by country - that are requested by a number of the main smart campaigns.




As you know, if a CONTACT already exists in CRM (which exists as a lead record in Marketo), you cannot sync this over as a CRM LEAD record (if only that were the case, it would make our lives so much easier).  We often sell into existing accounts, so we had to come up with a solution that would allow this.  A couple years ago, we deployed a purposeful duplicates process:

  • We setup a "hidden" DUPLICATE CONTACTS (DC) workspace and lead partition. Both the workspace and lead partition were hidden from all other workspaces/partitions (23 in total) - including the default one.
  • Any new CONTACT record created in CRM syncs to Marketo and is immediately routed to the DC partition.  The record is duplicated using a webhook and then routed to the appropriate country lead partition, where it's treated like a brand new lead record and can sync - when appropriate - to CRM and qualify for any of the lead lifecycle workflows we have in place. This duplicate workflow also applies to any lead in CRM that gets qualified into an opportunity (now a contact record exists).  We let that lead/contact complete the lifecycle until closed-won/closed-loss status exists.  And then the duplicate workflow kicks in.
  • I don't think I need to explain the issues around duplicates, but the most pressing ones are as follows:
    • How Marketo deals with duplicates - even when they're contained in a "hidden" partition.  This affects lead engagement in several ways: see one of my recent posts on this: If duplicate leads are an issue, be aware of how Marketo determines which lead is active
    • You lose that "single record of truth" approach since not all field values carry over to the new lead (nor is historical activity carried over)
    • If/when a lead is synced to CRM and eventually converted/qualified to a contact/opportunity, we have to manually merge the two contacts in CRM



Today, we are in the process of re-architecting the purposeful duplicate workflows.  We will be taking advantage of the custom sync capabilities of the Marketo CRM plug-in.  In a nutshell:

  • We will eventually remove the DC workspace and lead partition and no longer create duplicates of existing contact records in CRM.
  • For a short duration, we will have to work quickly to clean up all of the duplicate leads that will be re-routed to the country partitions that used to sit in the DC partition.  We don't want to delete these since they're all still tied to actual contact records in CRM.  We'll be doing a lot of merging in both Marketo (where only one of the records sits in CRM) and CRM (where both records sit in CRM - since this has to be done on the CRM side).  The majority of these duplicates will be a LEAD record and a CONTACT record in CRM.  So we'll first need to qualify the LEAD record and then instantly merge the new CONTACT with the existing CONTACT record.  Yes, this keeps me up at night!
  • The first time a lead comes through the system (they don't exist yet in CRM - either as a LEAD or CONTACT), we let them go through the lifecycle as normal. They get converted into a contact, qualified to an opportunity, etc.
  • When they hit the final lead lifecycle stage (or are disqualified/recycled), we will reset their behavior score to 0.
  • We’ll let that contact go back through the lifecycle again.
  • When the contact hits the Evaluation/MQL status again, we’ll create a duplicate lead by calling a webhook (this is only temporary). We’ll sync this new lead to CRM with the link to the existing contact and account that it was created from.
  • This duplicate lead in CRM will be hidden from Marketo using the new_synctomkto field. We’ll delete the duplicate lead from Marketo as soon as the sync is successful to CRM. The contact will remain at Evaluation/MQL status at this point.
  • If any action is taken on that lead, Marketo won't be able to see it, nor trigger off of any STATUS REASON change.  Also, real-time alerts won't be able to be sent out.  And finally MSI data will be blank since this is a new temporary lead record.  To overcome this:
    • We will create the necessary custom fields on the CONTACT entity in CRM and build workflows that will populate these fields (temporarily) so that Marketo will see whatever activity it needs to see to process the workflows that are part of our lead lifecycle.
    • For MSI, I understand that there is an option for us to replace the MSI call within the lead record so that it is actually using the activity from the parent contact record.  I don't think anyone has done this yet, so we'll be the first.  Fingers crossed!
  • When the lead is converted to a contact in CRM, it will merge (automatically) with the existing parent contact and then will move into the later stages (SAL, etc.). At this point, the information from the record will again be visible in Marketo and the contact will continue moving through the lifecycle.

The main advantages to this are that it lets us retain our existing lead lifecycle processes, it prevents having massive duplicates in Marketo, and it still lets us create leads for the sales team to follow up on with minimal risk of missing reporting data while we wait for sales to work the lead.  Most importantly, we are back using a "single record of truth" approach!

Not applicable

Re: Contact - Lead Update Issue

Hi Dan-

This information is great! So a few questions for you as I was reading this (that you can hopefully answer or share some documents on best practices):

1. When a lead/contact switches to MQL, do you monitor the length of time between qualification and when sales reaches out? And do you have rules/best practices set up to make sure the marketing and sales organizations are on the same page with those expectations?

2. Do you have any automation setup to monitor when that first sales contact happens? I.e. If sales doesn't log an activity within x days (the anticipated contact timeframe) send a notification to sales there hasn't been follow up yet?

3. Do you have any other insights on best practices between sales and marketing to assure that qualified leads are followed up on, as well as sales providing some transparency on the quality of marketing leads that come through?


Level 10 - Champion Alumni

Re: Contact - Lead Update Issue

Hi Alayna - in response to your questions:

  1. Yes, we have wait steps in our smart campaigns to see if a lead has not been actioned yet by Sales/Marketing (24 hours, 48 hours, 72 hours).  Each have different escalation paths where alerts are sent to those on that list.
  2. We just recently deployed a new type of alert (sales progression) - which alerts Marketing each time Sales progresses/takes action on a lead (accepts the lead, qualifies/converts the lead to an opportunity, etc.) that was assigned to them.

Level 9

Re: Contact - Lead Update Issue

If I'm understanding this correctly, you're saying that:

1. An existing contact exists in Marketo/SFDC

2. A new lead is created in Marketo via form fill (now there is a lead and a contact with the same email address)

3. The information for that new lead is getting updated onto the contact

This to me seems fishy. 

Can you clarify more on how this happens: "if that email address is already associated with a Contact in SFDC, fields in the Contact record are getting updated instead of in the new Lead record"

A lead can't fill out a form and be created as a new lead and then also have that data populated into a different existing record (unless a merge happens) instead of the new lead record.

How are you populating Lead Source, Description, Campaign etc.?  Are you using campaigns?  What record (lead/contact) is qualifying for that campaign? Are we sure there is no merge happening here?