Hello Marketo community,
I have a request for an event registration to cap the number of registrants to 15. Has anyone achieved this with logic in the form? Right now we are using an accept / deny approach with pending approval and changing the status by hand. I would like to be able to have a landing page populate that says "sorry event registration is full" once 15 registrants have filled out the form.
any help would be great! Julenne King-Concension
Unfortunately not at this time. There may be a way with custom HTML/CSS, but nothing that I know of.
The only way to achieve this is to set up a smart campaign that will send you an alert when you reach your registration goal and then you manually change the registration LP.
Actually, this is possible (I know my "can do" attitude can be tiresome, but I can't stop now!).
There are a couple of different mechanisms, but a common entry point is creating a new "resource lead" to manage the event. For those familiar with Microsoft Exchange, it's directly comparable to a "resource mailbox," which represents a bookable resource like a conference room, projector, etc.
You update a counter on the resource lead whenever there's a form fillout (using a webhook) then before you draw the form, you check to see the current number of attendees by querying that lead. If the cap is exceeded you don't draw the form. Doing this in a safe and scalable fashion involves some JavaScript secret sauce, but nothing outside beyond Marketo's built-in functionality. Note that because there aren't really any locks on the server, it's possible for someone to get the 16th form before the webhook finishes logging that you've got 15. So you should still say something like, "Your registration is being processed." and send confirmation to cover any leaks.
Another path to take, also using the resource lead concept and a webhook, is updating a snippet using the REST API. You can probably see where I'm going with that.
Hi Sanford,
Thanks - would you be able to talk to me more about this? I'm not 100% sure where to start. Let me know - thanks!
Kara
If you follow me back, we could DM about it or set up a call (better to get away from my keyboard for awhile). Also, as you appear to be in NYC, I'm giving a talk about Marketo tech topics at the next user group meeting. You should join the MUG and come to the session! (Sign up here.)
Sanford, this is a great idea! I created the and Add the ability to perform data lookups. Ideas to make it easy to do lookups of existing records in Marketo, and both Ideas have the Status 'We like it!', but its going to take a lot more votes to get these implemented. Your idea adds even more flexibility by having Marketo update the 'resource lead' data itself! I had a situation where this would have been valuable with accumulating monthly MQL counts on SFDC Leads on a 'dummy' SFDC Contact record, but I had to update the values on the SFDC Contact record manually each week. A webhook would be a great way of doing just that!
About a year ago at a Marketo road show, a Marketo professional services consultant showed me the syntax to construct the webhook for a query into Marketo, but I didn't write it down and was not able to reproduce it. As I recall, there were two webhook calls. The first was to authenticate and the second was to query. Can you provide the syntax for both updating and retrieving data from a Marketo record via webhook?
With this recipe, we (luckily) don't need to retrieve data via webhook, so we don't need to use the SOAP/REST APIs. (The two steps you're remembering are getting an access token, then making the call... meaning you save the access token to a field on the lead as if it's a temporary variable ... it serves the purpose but it's a bit hacky, even for me!)
Here, we can just update the Resource Lead using the Forms API. It's a server-side form post.
POST http://localhost/index.php/leadCapture/save
Email=MyResourceLeadForEvent123%40example.com&formid=123&munchkinId=410-XOR-673&_mkt_trk=
In this example, the Resource Lead has a Counter score field to be incremented based on the Filled Out Form event -- I'm sure you can see various ways to play from here!
Hi Kara,
This post on Linkedin provides another alternative.
Rajesh