Hey Marketo community,
I have a question in relation to building a webhook for Google lead forms:
We're setting the webhook up and the documentation is all making sense but I'm having trouble figuring out how to get the actual Hostname URL from google.
I have documentation for how it works here - Overview | Lead Form Webhook | Google Developers
But I'm not sure how I can test it and see what the Hostname (URL) is for Marketo:
Everything else is just creating the webhook itself but testing the hostname and seeing where I can get that information for marketo remains a mystery to me.
If we add our SOAP/REST (not sure which either) information here - where can I see the results of this test?
I may be completely off base but any starting point to this would be greatly appreciated - or if you've created this before
Have a great day,
-Justin
Solved! Go to Solution.
In this case the webhook is a request fired by Google into an intermediate webhook-compatible API gateway that you build. It's not a Marketo webhook. (While the rest of the post is pretty overwhelming, you might read the first part of my post https://nation.marketo.com/community/product_and_support/blog/2019/08/27/extremely-strange-webhooks-... for a dive into the terminology of which side is the webhook.)
In this case the webhook is a request fired by Google into an intermediate webhook-compatible API gateway that you build. It's not a Marketo webhook. (While the rest of the post is pretty overwhelming, you might read the first part of my post https://nation.marketo.com/community/product_and_support/blog/2019/08/27/extremely-strange-webhooks-... for a dive into the terminology of which side is the webhook.)
I received a request today from my digital marketing team to set this up as well, which led me to this thread. If I'm understanding correctly, the webhook-compatible API gateway is neither a Google or a Marketo service, it is something separate. So to get this set up I need something more than Google and Marketo, like Zapier? How else might I go about this, in general terms so I can figure out where to go?
Right, it's quite simple content mapping -- yet still requires an interstitial translation layer. You're taking a JSON payload and rotating it (if you will) into a Form/URL-encoded payload and posting it to the Marketo forms endpoint.
I plan to put up a blog post showing how I built this with AWS API gateway (where it can be done only with body mapping templates, no "code" per se). However I'm about to go away for a week (back on the 12th) so you'd have to be patient...
Hi, Sanford,
Could you share the link to this blog post?
Thank you so much!
It's not out yet.
Hi Sanford,
Any update on this?
Not sure if Sanford has already replied about this, but if you take the intermediary API you would have to create, the function that would process that code (I do this using the AWS API Gateway/Lambda combo) - the payload being sent would look something like this:
{ "lead_id":"NDAwMDAwMDAwMDA6bGVhZF9pZDoxNjAyNzkyMjUxNDAy", "user_column_data":[ { "column_name":"First Name", "string_value":"FirstName", "column_id":"FIRST_NAME" }, { "column_name":"Last Name", "string_value":"LastName", "column_id":"LAST_NAME" }, { "column_name":"Company Name", "string_value":"CompanyName", "column_id":"COMPANY_NAME" }, { "column_name":"Work Email", "string_value":"work-test@example.com", "column_id":"WORK_EMAIL" }, { "column_name":"Work Phone", "string_value":"+16505550124", "column_id":"WORK_PHONE" }, { "string_value":"1-4", "column_id":"COMPANY_SIZE" } ], "api_version":"1.0", "form_id":40000000000, "campaign_id":11185069653, "google_key":"7014P000001rFVf", "is_test":true, "adgroup_id":20000000000, "creative_id":30000000000 }
so if you were take this, you would need to take all the values you wish to save within Marketo, and map them to the Marketo equivalent so the outcome would look something like this:
{ "programName":"Marketo Program", "lookupField":"email", "input":[ { "firstName":"FirstName", "lastName":"LastName", "company":"CompanyName", "phone":"+16505550124", "topLevelDomain":".com", "email":"work-test@example.com", "personSourceURL":"adwords | Contact Sales" } ] }
From there, you would take that JSON payload and post it to the https://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#!/Leads... to insert/update the record within Marketo.
Hi, Sanford! Curious to know if you could share the link to this blog post? I just had a client ask about this. Thanks!
Ping me in a couple of weeks...
Fantastic. Thank you very much for the reply, Sanford. I wanted to make sure I understood so I could respond to the request I received. Looking forward to the blog post. Enjoy your time away!
Is there any documents to integrate google lead forms to Marketo yet ?
Looking forward to the blog post
Thanks Sandy, extremely helpful blog post and reply from you as always!!