Lead enrichment and scoring before syncing to CRM | Community
Skip to main content
An_Mai
New Participant
August 24, 2023
Solved

Lead enrichment and scoring before syncing to CRM

  • August 24, 2023
  • 3 replies
  • 3053 views

Currently we have a few processes that run in parallel: 

  • Lead enrichment webhook that is triggered on Person is Created, which returns demographic and firmographic info, as well as a Predictive Score on the account's propensity to convert
  • Behavior Scoring that is triggered based on activity, built using the Marketo-provided template so each different activity type has its own trigger campaign
  • Various response management workflows (for different forms/offers) that change data values for attribution/reporting and then use "Add Person to SFDC Campaign" to sync them to CRM

MQL logic sits on the CRM side and kicks off after a person has been added to a SFDC campaign and is considered a Response. 

 

We recently amended MQL logic so that a lead will only go through the qualification process if both a predictive score and behavior score exist for the lead. This means we need to ensure that both scoring processes have run before they get added to the SFDC campaign. Our temporary solution is using wait steps, but I'd like to get away from that practice since it's risky. I think Executable Campaigns might be the way to go, but not sure how to proceed since they are not compatible with webhooks or triggers.  Any ideas would be greatly appreciated!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Darshil_Shah1

You can add the person to the SFDC campaign after both the prerequisites have been met (i.e., person has both scores), i.e., why not make this update take care by a standalone single operational campaign? You can use triggers for this (Data Value Changes triggers for both scoring fields with New Value is not empty constraint), add in the smart list filters to ensure that both scoring fields aren't empty, and in the campaign flow, add the person to the SFDC campaign (this will take care of syncing/inserting the person to SFDC as well). Having a separate campaign that takes care of syncing + adding the person to the SFDC campaign would eradicate the need to have a roughly estimated wait step in your existing campaign flows that run in parallel.

3 replies

Darshil_Shah1
Community Manager
August 25, 2023

As a side note, I'd also recommend creating a proper monitoring and error-handling mechanism to ensure that you are able to catch the people who failed the Webhook call. Maybe add them to a static list for reviewing the errors and fixing them. W/o proper monitoring and error-handling setup, there's a chance that valid people might not get scored, and thus not synced and added to your SFDC campaign, which could lead to a potential MQL loss.

SanfordWhiteman
New Participant
August 25, 2023

I think Executable Campaigns might be the way to go, but not sure how to proceed since they are not compatible with webhooks or triggers. 

? Executable Campaigns are absolutely compatible with trigger campaigns. They are not themselves trigger campaigns. But they’re designed to be called synchronously by other campaigns.

 

They aren’t compatible with webhooks, that’s true. The webhook needs to be run by a trigger campaign. You determine when a webhook has completed execution by triggering on Webhook is Called. Thus you can correctly manage a sequence of campaigns, even when they include webhooks.

An_Mai
An_MaiAuthor
New Participant
August 29, 2023

Thanks for clarifying the point about trigger campaigns and executable campaigns, @sanfordwhiteman

 


The webhook needs to be run by a trigger campaign. You determine when a webhook has completed execution by triggering on Webhook is Called. Thus you can correctly manage a sequence of campaigns, even when they include webhooks.

Due to enrichment credit limitations, the webhook gets called for a record in two scenarios: first when "Person is Created" and second in an ongoing refresh campaign where it'll get re-enriched every 6 months (based off of a date stamp field). Because the webhook is not getting called each time an activity occurs, what would you recommend for cases where someone is not new to our database but has engaged with another offer? Now I'm actually wondering if the webhook should get called after "Form is Filled Out" instead of "Person is Created." 

Darshil_Shah1
Community Manager
August 29, 2023

what would you recommend for cases where someone is not new to our database but has engaged with another offer? Now I'm actually wondering if the webhook should get called after "Form is Filled Out" instead of "Person is Created." 

IMHO, for the most accurate answer to this, you should reflect upon what a person has to do to be said as "engaged with the content offer", i.e., what activity would get logged in Marketo when a person engages with the content offer? (Most likely it's filling out the gated content form / global progressive form with apt constraints added to the trigger so only people who filled out the form on the gated content pages qualify), but apart from that if you have a field that also gets updated (e.g., last content offer engaged), you can trigger off your flow to call the enrichment webhook based on that as well. Hope this helps.

Darshil_Shah1
Darshil_Shah1Accepted solution
Community Manager
August 24, 2023

You can add the person to the SFDC campaign after both the prerequisites have been met (i.e., person has both scores), i.e., why not make this update take care by a standalone single operational campaign? You can use triggers for this (Data Value Changes triggers for both scoring fields with New Value is not empty constraint), add in the smart list filters to ensure that both scoring fields aren't empty, and in the campaign flow, add the person to the SFDC campaign (this will take care of syncing/inserting the person to SFDC as well). Having a separate campaign that takes care of syncing + adding the person to the SFDC campaign would eradicate the need to have a roughly estimated wait step in your existing campaign flows that run in parallel.

Jo_Pitts1
Community Manager
August 25, 2023

@darshil_shah1, nice answer

@an_mai, special kudos for recognizing the risk of the wait step approach!