SOLVED

Re: Setting Alerts When There's a Delay in Form Fill Processing

Go to solution
Jeff_Pollock
Level 1

Setting Alerts When There's a Delay in Form Fill Processing

Over the past couple months we've noticed several instances where new leads show the Visit Web Page activity hours before Marketo registers the New Person and Fill Out Form activities. The visitors only would've made it to a confirmation page after filling out a form, so the form data should be available almost immediately.

Marketo Support suggested creating a Smart Campaign with the Visits Webpage trigger and the Not Filled Out Form filter in order to alert our team, however these leads are still anonymous to us until the New Person and Fill Out Form activities are processed.

Support also let us know that these occurrences correlated with lag times across the datacenter, so there's nothing we can do within our instance to prevent this from happening in the future.

At this point we're hoping for two things: 1.) A way for our team to be alerted when lags like this occur (none of these occurrences led to updates on Marketo's Status Page), and 2.) A way to capture the form data so our sales team doesn't have to potentially wait hours before the lead is known and synced to SFDC.

Has anyone run into a similar problem in the past, and do you have any suggestions for staying on top of this issue?

1 ACCEPTED SOLUTION

Accepted Solutions
SanfordWhiteman
Level 10 - Community Moderator

Re: Setting Alerts When There's a Delay in Form Fill Processing

At this point we're hoping for two things: 1.) A way for our team to be alerted when lags like this occur (none of these occurrences led to updates on Marketo's Status Page), and 2.) A way to capture the form data so our sales team doesn't have to potentially wait hours before the lead is known and synced to SFDC.

[1] is easier than [2].  But both can be done.

For [1], use an external monitoring service (Uptime, Monitis, zillions of others) to post a form to the forms endpoint every 5m. On Filled Out Form, log the fillout to a Google Sheet via webhook (I posted the recipe for this a long time ago, search for it) or to any other lightweight database (we use our etcd database but there are lots of platforms that will work equally well for this simple thing). 

Then have the same monitoring service get the last updated timestamp from the db. If it's ever older than ~6m you know you have a processing lag. You can tweak the intervals but I hope you get the idea.

For [2] you've got your hands full, comparatively. You're gonna be hooking the onSuccess API event, copying the form data to another external service, and then redirecting the lead. Again you can use a Sheet or any other cross-domain-capable service. It's not that it's hard per se; it's actually easier than most JS-based form customizations, 'cuz you don't care about anything but copying the data out as-is. But you've introduced another layer into the ecosystem: now, if there's a fatal problem with that external svc -- that too can happen! -- you have to make sure to ignore any exceptions and proceed with the Marketo follow-up process.

IMO, [1] is a normal part of Marketo instance monitoring. [2] is not something we usually spend time on. But it's not crazy especially if you've been bitten by lags and need to show that you're building a best-effort fallback.

View solution in original post

2 REPLIES 2
SanfordWhiteman
Level 10 - Community Moderator

Re: Setting Alerts When There's a Delay in Form Fill Processing

At this point we're hoping for two things: 1.) A way for our team to be alerted when lags like this occur (none of these occurrences led to updates on Marketo's Status Page), and 2.) A way to capture the form data so our sales team doesn't have to potentially wait hours before the lead is known and synced to SFDC.

[1] is easier than [2].  But both can be done.

For [1], use an external monitoring service (Uptime, Monitis, zillions of others) to post a form to the forms endpoint every 5m. On Filled Out Form, log the fillout to a Google Sheet via webhook (I posted the recipe for this a long time ago, search for it) or to any other lightweight database (we use our etcd database but there are lots of platforms that will work equally well for this simple thing). 

Then have the same monitoring service get the last updated timestamp from the db. If it's ever older than ~6m you know you have a processing lag. You can tweak the intervals but I hope you get the idea.

For [2] you've got your hands full, comparatively. You're gonna be hooking the onSuccess API event, copying the form data to another external service, and then redirecting the lead. Again you can use a Sheet or any other cross-domain-capable service. It's not that it's hard per se; it's actually easier than most JS-based form customizations, 'cuz you don't care about anything but copying the data out as-is. But you've introduced another layer into the ecosystem: now, if there's a fatal problem with that external svc -- that too can happen! -- you have to make sure to ignore any exceptions and proceed with the Marketo follow-up process.

IMO, [1] is a normal part of Marketo instance monitoring. [2] is not something we usually spend time on. But it's not crazy especially if you've been bitten by lags and need to show that you're building a best-effort fallback.

Jeff_Pollock
Level 1

Re: Setting Alerts When There's a Delay in Form Fill Processing

Thank you, Sanford!

Quick Update (2/13/19): We built a custom form to replace our Marketo form if it doesn't load fast enough. The custom form feeds into SFDC so Sales can handle new leads ASAP. This strategy helped us during Marketo's forced downtime for the Ashburn datacenter over the weekend, but will also help in the future if/when our Marketo instance is down or lagging.