SOLVED

How to call reCaptcha Webhook in less than 2 minutes

Go to solution
Pavel_Plachky3
Level 2

How to call reCaptcha Webhook in less than 2 minutes

We implemented reCaptcha with Marketo forms, but are struggling with Marketo performance. After the form data is submitted to Marketo, a webhook has to be called that requests validation of reCaptcha fingerprint and email address. Unfortunately the webhook has to be called within 2 minutes, otherwise reCaptcha returns error "Timeout-or-Duplicate".  For a few leads (perhaps 10%) Marketo calls the webhook more than 2 minutes after the form fill. In the activity log I can see that at 4:30 the form was filled and at 4:32 the webhook was called, apparently too late:

Pavel_Plachky3_0-1581094989564.png

 

 

I already tried to increase the priority of the campaign by a few tricks:

* Simplest smart list as possible (Person is created by form fill-out, form name is not specific form)

* Include send email in the flow

 

The campaign indeed runs as the first on a new lead, but still sometimes it takes more than 2 minutes for the webhook to be called.

 

I cannot believe I am the only one running into this issue. Did anybody implemented reCaptcha successfully and solved this problem?

 

Many thanks for any suggestions.

 

Pavel

1 ACCEPTED SOLUTION

Accepted Solutions
SanfordWhiteman
Level 10 - Community Moderator

Re: How to call reCaptcha Webhook in less than 2 minutes

I've had to struggle with persistent delays in one Marketo instance that I couldn't work around directly (as you can imagine being the "pioneer" of reCAPTCHA w/Marketo I've rolled it out many times). 

 

In that case, it wasn't a question of overall load or db size, and every other action depended on the Webhook is Called response (which is the correct order-of-operations). Just a very slow instance for whatever historical reason. So we had to do something, er, pretty special. We set up a separate endpoint to which the reCAPTCHA user fingerprint was also sent before the Marketo form submission. That separate endpoint checked Google (always instantly) and kept a log of successful fingerprints (the db itself timed out each entry after an hour, but that was just to keep the db clean). Then the Marketo Call Webhook checked the intermediate server at its relative leisure, instead of checking Google.  That setup is still up and running, so I know it can work.

View solution in original post

4 REPLIES 4
SanfordWhiteman
Level 10 - Community Moderator

Re: How to call reCaptcha Webhook in less than 2 minutes

I've had to struggle with persistent delays in one Marketo instance that I couldn't work around directly (as you can imagine being the "pioneer" of reCAPTCHA w/Marketo I've rolled it out many times). 

 

In that case, it wasn't a question of overall load or db size, and every other action depended on the Webhook is Called response (which is the correct order-of-operations). Just a very slow instance for whatever historical reason. So we had to do something, er, pretty special. We set up a separate endpoint to which the reCAPTCHA user fingerprint was also sent before the Marketo form submission. That separate endpoint checked Google (always instantly) and kept a log of successful fingerprints (the db itself timed out each entry after an hour, but that was just to keep the db clean). Then the Marketo Call Webhook checked the intermediate server at its relative leisure, instead of checking Google.  That setup is still up and running, so I know it can work.

Pavel_Plachky3
Level 2

Re: How to call reCaptcha Webhook in less than 2 minutes

Thanks, Sanford, for sharing this experience. I very much appreciate it.

Ishita_Chawra
Level 3

Re: How to call reCaptcha Webhook in less than 2 minutes

Hi @SanfordWhiteman 

I looked further into my earlier shared issue with reCAPTCHA yesterday and see that I have the same problem that the "reCaptcha Webhook is not calling in less than 2 minutes". 

I found this solution and wanted to understand what you mean by "separate endpoint". Is it outside Marketo? and it would be good if you could share steps on how to set this up. 

 

Thanks, 

IC

 

 

SanfordWhiteman
Level 10 - Community Moderator

Re: How to call reCaptcha Webhook in less than 2 minutes

How have you ensured that the reCAPTCHA webhook runs first (not in parallel), before all other campaigns?

 

The separate endpoint I'm describing is a non-Marketo service. It's very simple to set up, if you have developer experience. It just checks the reCAPTCHA immediately (thus no Marketo queues or slowness getting in the way), stores the result in a database, and assigns a Job ID. Then you check the Job ID in the webhook. It's just getting a jump on the 2m expiration, no other logic is necessary.