Hi there,
I have been tasked with creating a form in for a live event. In this case, I am to create some visibility rules that will block certain folks (partners) from being able to register once the threshold has been reached. We still want customers to have the option to register.
I've started by adding a field with radio buttons that have the registration type = Customer or Partner, to help bucket the ones we want to eventually close registrations off for. I've added another field that has a "Sorry, but we've exceeded capacity for this event..." with visibility rules to populate for partners. I've been working with AI to figure some of this out. Its giving me custom scripts to put into the HTLM of a rich text field, however they don't seem to be working. I do need to fangle with the code a bit more but I am not a dev so it's a bit complicated to me. I was also thinking I can use rules based on the domain if we have the partners identified for an event, as a 2nd touch point to try and catch all, but there are some instances where we won't have every domain identified.
Wondering if anyone has advice for this niche situation? Please note, I do not have admin access so I don't think I can mess with any of the API's (as AI suggested). I have also been told I cannot create any new fields for this exercise. I understand this isn't a fool proof way to capture everyone, as some may simply choose customer, or register with their personal email, so we won't catch their domain. But this will help catch some of the folks. I believe I can still do this with these constraints but am all ears to what anyone else has to say.
TLDR: Building an event registration form. Need custom visibility rules to block registration for partners once a threshold has been met, but still want customers to be able to register.
Thanks in advance!
I've added another field that has a "Sorry, but we've exceeded capacity for this event..." with visibility rules to populate for partners. I've been working with AI to figure some of this out. Its giving me custom scripts to put into the HTLM of a rich text field, however they don't seem to be working.
Not a surprise. 😑
The magic lying machine will just make up Marketo features. It’s very good at pretending things are possible.
Need custom visibility rules to block registration for partners once a threshold has been met
How are you counting the number of registrants toward that threshold? That seems to be a prerequisite, no?
Currently trying to use a custom script where I set the threshold and can updated it as needed per the venue size, or other variables.
"
<script> $(document).ready(function() { // Simulation of partner count -- replace with a dynamic method if possible
var partnerCount = 60; // For simulation, set this value as needed
var partnerRegistrationThreshold = 50; // Your threshold
"
But again, it's a lot of dev jargon to me. Assuming I need some sort of JSON for any of this to actually work in a rich text field. I see where I can set the values, but some of this stuff makes zero sense to me and I need to have some knowledge of this instead of just copying and pasting in to make it work. Not sure how the value actually tracks back to the page and the visibility rules in the other fields.
Getting this automated is a nice to have. However, the folks I am trying to get this done for will be monitoring the registration numbers manually anyway and would be able to just give me the go ahead to "block" registration to the partners when the threshold is met. So if there's an each hidden field I can use to do this, or some other way, that will suffice. For now at least.
To Sanford's point about counting registrants, look at FlowBoost (https://flowboo.st/). It's a super handy tool that hooks into Marketo (both backend webhooks and landing page webhooks) to do things like count registrants (exactly what you need to do), get a count of registrants (also what you need to do) and allow you to use the count to control form behaviour.
You will need development skills to get this over the line however, and no amount of AI will give you the correct answers.
Thanks @Jo_Pitts1 !
I'll take a look with my team. I don't know that we have the capacity for any dev work at the moment, but I will present the idea. It would be great to get this implemented sometime down the road.
@Jake_Kalinoski is this making sense wrt the prerequisite of knowing the count?
@SanfordWhiteman, the events team track these numbers manually via our 1:1 SFDC integration and reports in there. Or I would be pulling the number via a Marketo report/subscription which still sounds rather manual to me.
While yes, we will have to track these numbers very regularly, we are just looking for a better way to manage partners vs customers for these events. Again, though the partners are okay to join, we do want to limit that number and close registrations to them once we believe we've hit capacity. I've explored just making two registrations pages, but we just want to have one form/page to manage for this.
While yes, we will have to track these numbers very regularly, we are just looking for a better way to manage partners vs customers for these events.
To be clear, you’re prepared to update a {{my.token}} with the current count of registered partners — and update it regularly enough for the restriction to be useful? (e.g. if you update only once per day, that’s 23 hours and 59 minutes where you may let people register over the limit)
The reason I’m focusing on this prerequisite is if volunteers are contributing code to your project, we need to know the effort won’t go to waste.
Yes, I understand there may be some that trickle through due to the attentiveness of team members checking the reg. numbers regularly-or not. We just want some way to contain things. Otherwise, we were going to scrap the idea all together....
I am new to this Marketo instance (new hire) and this is how we operate so I don't have much leverage for implementing a new processes at the moment but would be open to hear how other folks are doing this that I could share with my team for a future change.
I am new to this Marketo instance (new hire) and this is how we operate so I don't have much leverage for implementing a new processes at the moment but would be open to hear how other folks are doing this that I could share with my team for a future change.
Others do what @Jo_Pitts1 notes above.
I don’t know of anyone who changes form behaviors based on manual updates. When registration capacity is important, they want it updated in a timely fashion, say within 30 seconds. Their front end JS works similarly to what I’ve provided, but it’s responding in near real time.
Some also check the count when the person clicks submit, to make sure the count hasn’t gone over while the page was open (remember, the page can stay open for days!).
You’re also hamstrung here by the rule of “no new fields”. That makes little sense to me: this is a relatively ambitious new process and I don’t know why someone would decide up front that no new (Marketo-only) fields are necessary. Similarly, the rule that you can’t plug in any new integrations is strange: maintaining the count is something Marketo can’t do natively but which can be done easily by calling a webhook.
I guess there was a bit of context I didn't feel necessary to provide.
We're just looking for a simple and easy way to do this. We're doing this as a favor to our events team. We were already going to scratch the idea and just deal with an overflow of partners at certain events. I had suggested it may be possible just using visibility rules so decided to come here for help...
If we have to bite off more than we can chew; new fields to manage, new API integrations, etc., I don't think we'll do anything at this time. I was more or less just hoping (thinking) there was a way with the visibility rules to say if 'reg. type = partner' is selected, remove the option to register and make the "Sorry we're full..." message appear. Events team says "Hey, we're full now, can you close off to Partners." I go in, enable the visibility rules (manually), and we're done managing it for that event. An automated process would be great to get to at some point, but there is a lot more involved, as you've already indicated, which is something we're not quite ready to focus on at the moment.
I was more or less just hoping (thinking) there was a way with the visibility rules to say if 'reg. type = partner' is selected, remove the option to register and make the "Sorry we're full..." message appear. Events team says "Hey, we're full now, can you close off to Partners." I go in, enable the visibility rules (manually), and we're done managing it for that event.
It is not possible to disable submittability using only Visibility Rules. VRs only manage fields, not the submit button (nor can they stop the form from being submitted using JS). That’s why you need JS like I provided above. Are you not going to use that?
I thought that might have been the case with the submittability of the form itself which of course gives us another constraint. We are using a 3rd party platform for our landing pages. I'd have to investigate further as to if we can use that but I'm assuming the code you provided would only be useful in an actual Marketo LP.
I thought that might have been the case with the submittability of the form itself which of course gives us another constraint.
Why is that a constraint when you now have the code above? The code doesn’t use Visibility Rules.
"It is not possible to disable submittability using only Visibility Rules. VRs only manage fields, not the submit button (nor can they stop the form from being submitted using JS)."
"I thought that might have been the case with the submittability of the form itself which of course gives us another constraint."
Was just agreeing with you that we've made it difficult to do this in a streamlined this without new fields, API integrations, etc. ......
Will work with what you provided and return here if there are any further issues. Thanks.
OK. In the case of Visibility Rules, even with an additional field (we call that a Form Visibility Manager field) you still couldn’t do this without some amount of custom JS.
The Form Visibility Manager field would let you do a little more with VRs and correspondingly a little less in JS. The field would have values like “over-limit” or “under-limit” so you could manage the different Rich Texts that correspond to those values.
But the machinery for setting the Form Visibility Manager value is still in JS, and JS is the only way to manage the submittability.
I'm assuming the code you provided would only be useful in an actual Marketo LP.
You shouldn’t assume that. You can use any method to set registrations.partners.count
. If you can’t use a {{my.token}} use a page variable in your CMS. You said you’re updating it manually anyway.
(The CodePen demo is also running on a non-Marketo page. That should clarify that it doesn’t require a Marketo LP.)
That’s why you need JS like I provided above. Are you not going to use that?
MktoForms2 :: Disable submit per regcount+value combo
If and only if the end user selects “Partner” and the partner count is already at the max, you’ll see the “over capacity” text and the form will be disabled:
const registrations = {
partners: {
count: {{my.partner count}},
max: 20
}
};
Currently trying to use a custom script where I set the threshold and can updated it as needed per the venue size, or other variables.
<script> $(document).ready(function() { // Simulation of partner count -- replace with a dynamic method if possible
var partnerCount = 60; // For simulation, set this value as needed
var partnerRegistrationThreshold = 50; // Your threshold
This code has no meaning at all. (Just telling it like it is.)
You haven’t directly answered my question, though: how are you counting the people that register? That has to happen for any of this to be possible.
Manipulating form field visibility based on the count being over or under a limit (or more generally, based on some number being under or over another number) is the easy part!
Counting the registrations and having the current count be available to read on every pageview has to be in place first. Does that make sense? Surely you aren’t planning to count the registrants manually using a Marketo Smart List, you’d have to be checking it every second.